This commit was manufactured by cvs2svn to create tag 'R34x_v20080818'.
Sprout from R3_4_1_maintenance_patches 2008-09-11 20:22:29 UTC cvs2svn <platform-releng-dev@eclipse.org> 'This commit was manufactured by cvs2svn to create branch'
Delete:
bundles/org.eclipse.equinox.frameworkadmin.equinox/.classpath
bundles/org.eclipse.equinox.frameworkadmin.equinox/.project
bundles/org.eclipse.equinox.frameworkadmin.equinox/.settings/org.eclipse.jdt.core.prefs
bundles/org.eclipse.equinox.frameworkadmin.equinox/.settings/org.eclipse.jdt.ui.prefs
bundles/org.eclipse.equinox.frameworkadmin.equinox/.settings/org.eclipse.pde.core.prefs
bundles/org.eclipse.equinox.frameworkadmin.equinox/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.frameworkadmin.equinox/about.html
bundles/org.eclipse.equinox.frameworkadmin.equinox/build.properties
bundles/org.eclipse.equinox.frameworkadmin.equinox/plugin.properties
bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/Activator.java
bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EclipseLauncherImpl.java
bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EclipseLauncherParser.java
bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxBundlesState.java
bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxConstants.java
bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxFrameworkAdminFactoryImpl.java
bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxFwAdminImpl.java
bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxFwConfigFileParser.java
bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxLauncherData.java
bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxManipulatorImpl.java
bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/Log.java
bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/Messages.java
bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/messages.properties
bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/utils/EclipseVersion.java
bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/utils/FileUtils.java
bundles/org.eclipse.equinox.frameworkadmin/.classpath
bundles/org.eclipse.equinox.frameworkadmin/.project
bundles/org.eclipse.equinox.frameworkadmin/.settings/org.eclipse.jdt.core.prefs
bundles/org.eclipse.equinox.frameworkadmin/.settings/org.eclipse.jdt.ui.prefs
bundles/org.eclipse.equinox.frameworkadmin/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.frameworkadmin/about.html
bundles/org.eclipse.equinox.frameworkadmin/build.properties
bundles/org.eclipse.equinox.frameworkadmin/plugin.properties
bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/frameworkadmin/utils/Activator.java
bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/frameworkadmin/utils/SimpleBundlesState.java
bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/frameworkadmin/utils/Utils.java
bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/configuratormanipulator/ConfiguratorManipulator.java
bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/configuratormanipulator/ConfiguratorManipulatorFactory.java
bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/BundleInfo.java
bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/BundlesState.java
bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/ConfigData.java
bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/FrameworkAdmin.java
bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/FrameworkAdminFactory.java
bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/FrameworkAdminRuntimeException.java
bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/LauncherData.java
bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/Manipulator.java
bundles/org.eclipse.equinox.p2.artifact.repository/.classpath
bundles/org.eclipse.equinox.p2.artifact.repository/.project
bundles/org.eclipse.equinox.p2.artifact.repository/.settings/org.eclipse.jdt.core.prefs
bundles/org.eclipse.equinox.p2.artifact.repository/.settings/org.eclipse.jdt.ui.prefs
bundles/org.eclipse.equinox.p2.artifact.repository/.settings/org.eclipse.pde.core.prefs
bundles/org.eclipse.equinox.p2.artifact.repository/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.p2.artifact.repository/about.html
bundles/org.eclipse.equinox.p2.artifact.repository/build.properties
bundles/org.eclipse.equinox.p2.artifact.repository/p2 tools - mirror artifacts.launch
bundles/org.eclipse.equinox.p2.artifact.repository/plugin.properties
bundles/org.eclipse.equinox.p2.artifact.repository/plugin.xml
bundles/org.eclipse.equinox.p2.artifact.repository/schema/artifactRepositories.exsd
bundles/org.eclipse.equinox.p2.artifact.repository/schema/processingSteps.exsd
bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/mirror/MirrorApplication.java
bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/mirror/Mirroring.java
bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processing/AbstractBufferingStep.java
bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processing/Messages.java
bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processing/messages.properties
bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/pack200/Pack200ProcessorStep.java
bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/AbstractRepositoryManager.java
bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/Activator.java
bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/ArtifactRepositoryManager.java
bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/ArtifactRequest.java
bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/DownloadStatus.java
bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/ECFTransport.java
bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/FileDownloadRequest.java
bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/Messages.java
bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/MirrorRequest.java
bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/MirrorSelector.java
bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/SignatureVerifier.java
bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/Transport.java
bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/messages.properties
bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/BlobStore.java
bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/DownloadJob.java
bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/Mapper.java
bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepository.java
bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepositoryIO.java
bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/UniversalUniqueIdentifier.java
bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/ArtifactDescriptor.java
bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/IArtifactDescriptor.java
bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/IArtifactRepository.java
bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/IArtifactRepositoryManager.java
bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/IArtifactRequest.java
bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/IFileArtifactRepository.java
bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/IStateful.java
bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/Messages.java
bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/ProcessingStep.java
bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/ProcessingStepDescriptor.java
bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/ProcessingStepHandler.java
bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/ZipVerifierStep.java
bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/messages.properties
bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/artifact/repository/AbstractArtifactRepository.java
bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/artifact/repository/IArtifactRepositoryFactory.java
bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/artifact/repository/SimpleArtifactRepositoryFactory.java
bundles/org.eclipse.equinox.p2.console/.classpath
bundles/org.eclipse.equinox.p2.console/.project
bundles/org.eclipse.equinox.p2.console/.settings/org.eclipse.jdt.core.prefs
bundles/org.eclipse.equinox.p2.console/.settings/org.eclipse.jdt.ui.prefs
bundles/org.eclipse.equinox.p2.console/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.p2.console/Provisioning console.launch
bundles/org.eclipse.equinox.p2.console/about.html
bundles/org.eclipse.equinox.p2.console/build.properties
bundles/org.eclipse.equinox.p2.console/plugin.properties
bundles/org.eclipse.equinox.p2.console/src/org/eclipse/equinox/internal/p2/console/Activator.java
bundles/org.eclipse.equinox.p2.console/src/org/eclipse/equinox/internal/p2/console/ProvCommandProvider.java
bundles/org.eclipse.equinox.p2.console/src/org/eclipse/equinox/internal/p2/console/ProvisioningHelper.java
bundles/org.eclipse.equinox.p2.core/.classpath
bundles/org.eclipse.equinox.p2.core/.options
bundles/org.eclipse.equinox.p2.core/.project
bundles/org.eclipse.equinox.p2.core/.settings/org.eclipse.jdt.core.prefs
bundles/org.eclipse.equinox.p2.core/.settings/org.eclipse.jdt.ui.prefs
bundles/org.eclipse.equinox.p2.core/.settings/org.eclipse.pde.core.prefs
bundles/org.eclipse.equinox.p2.core/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.p2.core/about.html
bundles/org.eclipse.equinox.p2.core/build.properties
bundles/org.eclipse.equinox.p2.core/plugin.properties
bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/Activator.java
bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/BasicLocation.java
bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/Locker.java
bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/Locker_JavaIo.java
bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/Locker_JavaNio.java
bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/Messages.java
bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/ProvisioningEventBus.java
bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/StringPool.java
bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/FileUtils.java
bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/Headers.java
bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/LogHelper.java
bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/Messages.java
bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/OrderedProperties.java
bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/ServiceHelper.java
bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/Tracing.java
bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/URLUtil.java
bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/messages.properties
bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/messages.properties
bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/persistence/Messages.java
bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/persistence/XMLConstants.java
bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/persistence/XMLParser.java
bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/persistence/XMLWriter.java
bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/persistence/messages.properties
bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/IServiceUI.java
bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/ProvisionException.java
bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/eventbus/IProvisioningEventBus.java
bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/eventbus/ProvisioningListener.java
bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/eventbus/SynchronousProvisioningListener.java
bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/location/AgentLocation.java
bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/repository/IRepository.java
bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/repository/RepositoryCreationException.java
bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/repository/RepositoryEvent.java
bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/query/Collector.java
bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/query/CompoundQuery.java
bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/query/IQueryable.java
bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/query/Query.java
bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/spi/p2/core/repository/AbstractRepository.java
bundles/org.eclipse.equinox.p2.director.app/.classpath
bundles/org.eclipse.equinox.p2.director.app/.cvsignore
bundles/org.eclipse.equinox.p2.director.app/.externalToolBuilders/Build Director Ant Tasks.launch
bundles/org.eclipse.equinox.p2.director.app/.project
bundles/org.eclipse.equinox.p2.director.app/.settings/org.eclipse.jdt.core.prefs
bundles/org.eclipse.equinox.p2.director.app/.settings/org.eclipse.jdt.ui.prefs
bundles/org.eclipse.equinox.p2.director.app/.settings/org.eclipse.pde.core.prefs
bundles/org.eclipse.equinox.p2.director.app/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.p2.director.app/about.html
bundles/org.eclipse.equinox.p2.director.app/build.properties
bundles/org.eclipse.equinox.p2.director.app/config.ini
bundles/org.eclipse.equinox.p2.director.app/director app.launch
bundles/org.eclipse.equinox.p2.director.app/director.product
bundles/org.eclipse.equinox.p2.director.app/plugin.properties
bundles/org.eclipse.equinox.p2.director.app/plugin.xml
bundles/org.eclipse.equinox.p2.director.app/scripts/buildExtraJAR.xml
bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/Activator.java
bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/Application.java
bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/LatestIUVersionCollector.java
bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/Messages.java
bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/messages.properties
bundles/org.eclipse.equinox.p2.director.app/src_ant/org/eclipse/equinox/p2/director/app/ant/DirectorTask.java
bundles/org.eclipse.equinox.p2.director/.classpath
bundles/org.eclipse.equinox.p2.director/.cvsignore
bundles/org.eclipse.equinox.p2.director/.project
bundles/org.eclipse.equinox.p2.director/.settings/org.eclipse.jdt.core.prefs
bundles/org.eclipse.equinox.p2.director/.settings/org.eclipse.jdt.ui.prefs
bundles/org.eclipse.equinox.p2.director/.settings/org.eclipse.pde.core.prefs
bundles/org.eclipse.equinox.p2.director/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.p2.director/about.html
bundles/org.eclipse.equinox.p2.director/build.properties
bundles/org.eclipse.equinox.p2.director/plugin.properties
bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/ApplicablePatchQuery.java
bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/BasicIUFilter.java
bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/DirectorActivator.java
bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/HasMatchCollector.java
bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/IUFilter.java
bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/IUTransformationHelper.java
bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Messages.java
bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/NewDependencyExpander.java
bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/OperationGenerator.java
bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/PatchingIU.java
bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Picker.java
bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Projector.java
bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/QueryableArray.java
bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Recommendation.java
bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/RecommendationDescriptor.java
bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/RequirementBasedFilter.java
bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/SimpleDirector.java
bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/SimplePlanner.java
bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Slicer.java
bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/TwoTierMap.java
bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/messages.properties
bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/resolution/ResolutionHelper.java
bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/resolution/StateMetadataMap.java
bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/resolution/Transformer.java
bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/resolution/UnsatisfiedCapability.java
bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/rollback/FormerState.java
bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/IDirector.java
bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/IPlanner.java
bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/IUProfilePropertyQuery.java
bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/PlannerHelper.java
bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/ProfileChangeRequest.java
bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/ProvisioningPlan.java
bundles/org.eclipse.equinox.p2.directorywatcher/.classpath
bundles/org.eclipse.equinox.p2.directorywatcher/.project
bundles/org.eclipse.equinox.p2.directorywatcher/.settings/org.eclipse.jdt.core.prefs
bundles/org.eclipse.equinox.p2.directorywatcher/.settings/org.eclipse.jdt.ui.prefs
bundles/org.eclipse.equinox.p2.directorywatcher/.settings/org.eclipse.pde.core.prefs
bundles/org.eclipse.equinox.p2.directorywatcher/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.p2.directorywatcher/about.html
bundles/org.eclipse.equinox.p2.directorywatcher/build.properties
bundles/org.eclipse.equinox.p2.directorywatcher/plugin.properties
bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/Activator.java
bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/DirectoryChangeListener.java
bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/DirectoryWatcher.java
bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/Messages.java
bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/RepositoryListener.java
bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/messages.properties
bundles/org.eclipse.equinox.p2.engine/.classpath
bundles/org.eclipse.equinox.p2.engine/.project
bundles/org.eclipse.equinox.p2.engine/.settings/org.eclipse.jdt.core.prefs
bundles/org.eclipse.equinox.p2.engine/.settings/org.eclipse.jdt.ui.prefs
bundles/org.eclipse.equinox.p2.engine/.settings/org.eclipse.pde.core.prefs
bundles/org.eclipse.equinox.p2.engine/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.p2.engine/about.html
bundles/org.eclipse.equinox.p2.engine/build.properties
bundles/org.eclipse.equinox.p2.engine/plugin.properties
bundles/org.eclipse.equinox.p2.engine/plugin.xml
bundles/org.eclipse.equinox.p2.engine/schema/touchpoints.exsd
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/DownloadManager.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/EngineActivator.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/InstructionParser.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/Messages.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/MetadataCache.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/NullTouchpoint.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ParameterizedProvisioningAction.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/Profile.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfileParser.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfileWriter.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfileXMLConstants.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/SimpleProfileRegistry.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/SurrogateProfileHandler.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/TouchpointManager.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/messages.properties
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/BeginOperationEvent.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/CertificateChecker.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/CommitOperationEvent.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/DefaultPhaseSet.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/Engine.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/EngineSession.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/IEngine.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/IProfile.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/IProfileRegistry.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/ISurrogateProfileHandler.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/InstallableUnitEvent.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/InstallableUnitOperand.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/InstallableUnitPhase.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/InstallableUnitPropertyOperand.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/Memento.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/Messages.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/Operand.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/Phase.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/PhaseSet.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/ProfileEvent.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/PropertyOperand.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/ProvisioningAction.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/ProvisioningContext.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/RollbackOperationEvent.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/Touchpoint.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/TransactionEvent.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/messages.properties
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/CheckTrust.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/Collect.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/Configure.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/Install.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/Messages.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/Property.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/Sizing.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/Unconfigure.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/Uninstall.java
bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/messages.properties
bundles/org.eclipse.equinox.p2.exemplarysetup/.classpath
bundles/org.eclipse.equinox.p2.exemplarysetup/.project
bundles/org.eclipse.equinox.p2.exemplarysetup/.settings/org.eclipse.jdt.core.prefs
bundles/org.eclipse.equinox.p2.exemplarysetup/.settings/org.eclipse.jdt.ui.prefs
bundles/org.eclipse.equinox.p2.exemplarysetup/.settings/org.eclipse.pde.core.prefs
bundles/org.eclipse.equinox.p2.exemplarysetup/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.p2.exemplarysetup/about.html
bundles/org.eclipse.equinox.p2.exemplarysetup/build.properties
bundles/org.eclipse.equinox.p2.exemplarysetup/plugin.properties
bundles/org.eclipse.equinox.p2.exemplarysetup/src/org/eclipse/equinox/internal/p2/exemplarysetup/Activator.java
bundles/org.eclipse.equinox.p2.extensionlocation/.classpath
bundles/org.eclipse.equinox.p2.extensionlocation/.cvsignore
bundles/org.eclipse.equinox.p2.extensionlocation/.project
bundles/org.eclipse.equinox.p2.extensionlocation/.settings/org.eclipse.jdt.core.prefs
bundles/org.eclipse.equinox.p2.extensionlocation/.settings/org.eclipse.jdt.ui.prefs
bundles/org.eclipse.equinox.p2.extensionlocation/.settings/org.eclipse.pde.core.prefs
bundles/org.eclipse.equinox.p2.extensionlocation/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.p2.extensionlocation/about.html
bundles/org.eclipse.equinox.p2.extensionlocation/build.properties
bundles/org.eclipse.equinox.p2.extensionlocation/plugin.properties
bundles/org.eclipse.equinox.p2.extensionlocation/plugin.xml
bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/Activator.java
bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/BundlePoolFilteredListener.java
bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/Constants.java
bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationArtifactRepository.java
bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationArtifactRepositoryFactory.java
bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationMetadataRepository.java
bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationMetadataRepositoryFactory.java
bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/Messages.java
bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/SiteListener.java
bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/messages.properties
bundles/org.eclipse.equinox.p2.installer/.classpath
bundles/org.eclipse.equinox.p2.installer/.project
bundles/org.eclipse.equinox.p2.installer/.settings/org.eclipse.jdt.core.prefs
bundles/org.eclipse.equinox.p2.installer/.settings/org.eclipse.jdt.ui.prefs
bundles/org.eclipse.equinox.p2.installer/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.p2.installer/README.txt
bundles/org.eclipse.equinox.p2.installer/about.html
bundles/org.eclipse.equinox.p2.installer/build.properties
bundles/org.eclipse.equinox.p2.installer/config.ini
bundles/org.eclipse.equinox.p2.installer/installer.product
bundles/org.eclipse.equinox.p2.installer/plugin.properties
bundles/org.eclipse.equinox.p2.installer/plugin.xml
bundles/org.eclipse.equinox.p2.installer/product_lg.gif
bundles/org.eclipse.equinox.p2.installer/sdk-installer.properties
bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/HeadlessInstallAdvisor.java
bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/InstallApplication.java
bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/InstallDescriptionParser.java
bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/InstallUpdateProductOperation.java
bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/InstallerActivator.java
bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/Messages.java
bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/VersionedName.java
bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/messages.properties
bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/ui/InstallDialog.java
bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/ui/SWTInstallAdvisor.java
bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/provisional/p2/installer/IInstallOperation.java
bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/provisional/p2/installer/InstallAdvisor.java
bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/provisional/p2/installer/InstallDescription.java
bundles/org.eclipse.equinox.p2.jarprocessor/.classpath
bundles/org.eclipse.equinox.p2.jarprocessor/.project
bundles/org.eclipse.equinox.p2.jarprocessor/.settings/org.eclipse.jdt.core.prefs
bundles/org.eclipse.equinox.p2.jarprocessor/.settings/org.eclipse.jdt.ui.prefs
bundles/org.eclipse.equinox.p2.jarprocessor/.settings/org.eclipse.pde.core.prefs
bundles/org.eclipse.equinox.p2.jarprocessor/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.p2.jarprocessor/about.html
bundles/org.eclipse.equinox.p2.jarprocessor/build.properties
bundles/org.eclipse.equinox.p2.jarprocessor/plugin.properties
bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/CommandStep.java
bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/Main.java
bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/PackStep.java
bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/PackUnpackStep.java
bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/SignCommandStep.java
bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/StreamProcessor.java
bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/UnpackStep.java
bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/Utils.java
bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/ZipProcessor.java
bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/pack-readme.html
bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/verifier/Verifier.java
bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/verifier/VerifyStep.java
bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/internal/provisional/equinox/p2/jarprocessor/IProcessStep.java
bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/internal/provisional/equinox/p2/jarprocessor/JarProcessor.java
bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/internal/provisional/equinox/p2/jarprocessor/JarProcessorExecutor.java
bundles/org.eclipse.equinox.p2.metadata.generator/.classpath
bundles/org.eclipse.equinox.p2.metadata.generator/.cvsignore
bundles/org.eclipse.equinox.p2.metadata.generator/.externalToolBuilders/Build Metadata Generator Ant Tasks.launch
bundles/org.eclipse.equinox.p2.metadata.generator/.project
bundles/org.eclipse.equinox.p2.metadata.generator/.settings/org.eclipse.jdt.core.prefs
bundles/org.eclipse.equinox.p2.metadata.generator/.settings/org.eclipse.jdt.ui.prefs
bundles/org.eclipse.equinox.p2.metadata.generator/.settings/org.eclipse.pde.core.prefs
bundles/org.eclipse.equinox.p2.metadata.generator/CDC-1.0_Foundation-1.0.profile
bundles/org.eclipse.equinox.p2.metadata.generator/CDC-1.1_Foundation-1.1.profile
bundles/org.eclipse.equinox.p2.metadata.generator/J2SE-1.2.profile
bundles/org.eclipse.equinox.p2.metadata.generator/J2SE-1.3.profile
bundles/org.eclipse.equinox.p2.metadata.generator/J2SE-1.4.profile
bundles/org.eclipse.equinox.p2.metadata.generator/J2SE-1.5.profile
bundles/org.eclipse.equinox.p2.metadata.generator/JRE-1.1.profile
bundles/org.eclipse.equinox.p2.metadata.generator/JavaSE-1.6.profile
bundles/org.eclipse.equinox.p2.metadata.generator/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.p2.metadata.generator/Metadata Generator Plugins and Features.launch
bundles/org.eclipse.equinox.p2.metadata.generator/Metadata Generator Update Site.launch
bundles/org.eclipse.equinox.p2.metadata.generator/OSGi_Minimum-1.0.profile
bundles/org.eclipse.equinox.p2.metadata.generator/OSGi_Minimum-1.1.profile
bundles/org.eclipse.equinox.p2.metadata.generator/about.html
bundles/org.eclipse.equinox.p2.metadata.generator/build.properties
bundles/org.eclipse.equinox.p2.metadata.generator/config.ini
bundles/org.eclipse.equinox.p2.metadata.generator/generator.product
bundles/org.eclipse.equinox.p2.metadata.generator/p2-izer update site.launch
bundles/org.eclipse.equinox.p2.metadata.generator/plugin.properties
bundles/org.eclipse.equinox.p2.metadata.generator/plugin.xml
bundles/org.eclipse.equinox.p2.metadata.generator/scripts/buildExtraJAR.xml
bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/Activator.java
bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/EclipseGeneratorApplication.java
bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/LocalizationHelper.java
bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/Messages.java
bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/ProductQuery.java
bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/DefaultSiteParser.java
bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/DigestParser.java
bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/FeatureParser.java
bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/Messages.java
bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/ProductFile.java
bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/SiteCategory.java
bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/SiteFeature.java
bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/SiteModel.java
bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/messages.properties
bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/messages.properties
bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/BundleDescriptionFactory.java
bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/EclipseInstallGeneratorInfoProvider.java
bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/Feature.java
bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/FeatureEntry.java
bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/Generator.java
bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/GeneratorBundleInfo.java
bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/IGeneratorInfo.java
bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/IncrementalGenerator.java
bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/MetadataGeneratorHelper.java
bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/URLEntry.java
bundles/org.eclipse.equinox.p2.metadata.generator/src_ant/org/eclipse/equinox/internal/p2/metadata/generator/ant/GeneratorTask.java
bundles/org.eclipse.equinox.p2.metadata.generator/src_ant/org/eclipse/equinox/internal/p2/metadata/generator/ant/TaskMessages.java
bundles/org.eclipse.equinox.p2.metadata.generator/src_ant/org/eclipse/equinox/internal/p2/metadata/generator/ant/messages.properties
bundles/org.eclipse.equinox.p2.metadata.repository/.classpath
bundles/org.eclipse.equinox.p2.metadata.repository/.project
bundles/org.eclipse.equinox.p2.metadata.repository/.settings/org.eclipse.jdt.core.prefs
bundles/org.eclipse.equinox.p2.metadata.repository/.settings/org.eclipse.jdt.ui.prefs
bundles/org.eclipse.equinox.p2.metadata.repository/.settings/org.eclipse.pde.core.prefs
bundles/org.eclipse.equinox.p2.metadata.repository/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.p2.metadata.repository/about.html
bundles/org.eclipse.equinox.p2.metadata.repository/build.properties
bundles/org.eclipse.equinox.p2.metadata.repository/p2 tools - mirror metadata.launch
bundles/org.eclipse.equinox.p2.metadata.repository/plugin.properties
bundles/org.eclipse.equinox.p2.metadata.repository/plugin.xml
bundles/org.eclipse.equinox.p2.metadata.repository/schema/metadataRepositories.exsd
bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/mirror/MirrorApplication.java
bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/mirror/Mirroring.java
bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/mirror/RangeQuery.java
bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/mirror/VersionRangedName.java
bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/Activator.java
bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/CacheManager.java
bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/ECFMetadataTransport.java
bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/LocalMetadataRepository.java
bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/Messages.java
bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/MetadataRepositoryIO.java
bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/MetadataRepositoryManager.java
bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/URLMetadataRepository.java
bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/io/MetadataParser.java
bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/io/MetadataWriter.java
bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/io/XMLConstants.java
bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/messages.properties
bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/provisional/p2/metadata/repository/IMetadataRepository.java
bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/provisional/p2/metadata/repository/IMetadataRepositoryManager.java
bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/metadata/repository/AbstractMetadataRepository.java
bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/metadata/repository/IMetadataRepositoryFactory.java
bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/metadata/repository/RepositoryReference.java
bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/metadata/repository/SimpleMetadataRepositoryFactory.java
bundles/org.eclipse.equinox.p2.metadata/.classpath
bundles/org.eclipse.equinox.p2.metadata/.project
bundles/org.eclipse.equinox.p2.metadata/.settings/org.eclipse.jdt.core.prefs
bundles/org.eclipse.equinox.p2.metadata/.settings/org.eclipse.jdt.ui.prefs
bundles/org.eclipse.equinox.p2.metadata/.settings/org.eclipse.pde.core.prefs
bundles/org.eclipse.equinox.p2.metadata/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.p2.metadata/about.html
bundles/org.eclipse.equinox.p2.metadata/build.properties
bundles/org.eclipse.equinox.p2.metadata/plugin.properties
bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/ArtifactKey.java
bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/InstallableUnit.java
bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/InstallableUnitFragment.java
bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/Messages.java
bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/MetadataActivator.java
bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/ResolvedInstallableUnit.java
bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/UpdateDescriptor.java
bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/messages.properties
bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/Copyright.java
bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IArtifactKey.java
bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IInstallableUnit.java
bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IInstallableUnitFragment.java
bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IInstallableUnitPatch.java
bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IUpdateDescriptor.java
bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/InstallableUnitPatch.java
bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/License.java
bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/MetadataFactory.java
bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/ProvidedCapability.java
bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/RequiredCapability.java
bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/RequirementChange.java
bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/TouchpointData.java
bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/TouchpointType.java
bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/CapabilityQuery.java
bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/IUPropertyQuery.java
bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/InstallableUnitQuery.java
bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/UpdateQuery.java
bundles/org.eclipse.equinox.p2.reconciler.dropins/.classpath
bundles/org.eclipse.equinox.p2.reconciler.dropins/.cvsignore
bundles/org.eclipse.equinox.p2.reconciler.dropins/.project
bundles/org.eclipse.equinox.p2.reconciler.dropins/.settings/org.eclipse.jdt.core.prefs
bundles/org.eclipse.equinox.p2.reconciler.dropins/.settings/org.eclipse.jdt.ui.prefs
bundles/org.eclipse.equinox.p2.reconciler.dropins/.settings/org.eclipse.pde.core.prefs
bundles/org.eclipse.equinox.p2.reconciler.dropins/Bootstrap.product
bundles/org.eclipse.equinox.p2.reconciler.dropins/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.p2.reconciler.dropins/Reconciler App - Metadata Generator.launch
bundles/org.eclipse.equinox.p2.reconciler.dropins/Reconciler app installation.launch
bundles/org.eclipse.equinox.p2.reconciler.dropins/about.html
bundles/org.eclipse.equinox.p2.reconciler.dropins/build.properties
bundles/org.eclipse.equinox.p2.reconciler.dropins/config.ini
bundles/org.eclipse.equinox.p2.reconciler.dropins/plugin.properties
bundles/org.eclipse.equinox.p2.reconciler.dropins/plugin.xml
bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/Activator.java
bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/Application.java
bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/DropinsRepositoryListener.java
bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/Messages.java
bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/PlatformXmlListener.java
bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/ProfileSynchronizer.java
bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/messages.properties
bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/CacheManager.java
bundles/org.eclipse.equinox.p2.tests/.classpath
bundles/org.eclipse.equinox.p2.tests/.project
bundles/org.eclipse.equinox.p2.tests/.settings/org.eclipse.jdt.core.prefs
bundles/org.eclipse.equinox.p2.tests/.settings/org.eclipse.jdt.ui.prefs
bundles/org.eclipse.equinox.p2.tests/.settings/org.eclipse.pde.core.prefs
bundles/org.eclipse.equinox.p2.tests/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.p2.tests/Test Director CDT.launch
bundles/org.eclipse.equinox.p2.tests/Test Director SDK.launch
bundles/org.eclipse.equinox.p2.tests/Test Director Uninstall CDT.launch
bundles/org.eclipse.equinox.p2.tests/Test Director Uninstall SDK.launch
bundles/org.eclipse.equinox.p2.tests/about.html
bundles/org.eclipse.equinox.p2.tests/build.properties
bundles/org.eclipse.equinox.p2.tests/plugin.properties
bundles/org.eclipse.equinox.p2.tests/plugin.xml
bundles/org.eclipse.equinox.p2.tests/rawData/Test Data Generator.launch
bundles/org.eclipse.equinox.p2.tests/rawData/enginerepo.jardesc
bundles/org.eclipse.equinox.p2.tests/rawData/org.eclipse.equinox.prov.engine_0.1.0.200709241631.jar
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/AbstractProvisioningTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/AutomatedTests.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ManualTests.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/TestActivator.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/TestArtifactRepository.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/TestData.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/TestMetadataRepository.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/AllTests.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/ArtifactOutputStreamTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/FoldersRepositoryTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/JarURLRepositoryTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/MirrorSelectorTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/SimpleArtifactRepositoryTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/AllTests.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/URLUtilTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/AllTests.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/AutomatedDirectorTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/Bug203637.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/OperationGenerationTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/OracleTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/OracleTest2.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/PickerTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/RecommendationTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/ReplacePlanTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/ResolutionHelperTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/RollbackTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/SingletonTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/UninstallTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/UpdateTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/AbstractDirectoryWatcherTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/AllTests.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/DirectoryWatcherTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/ProfileSynchronizerTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/RepositoryListenerTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/TestRepositoryWatcher.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/download/AllTests.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/download/DownloadManagerTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/embeddedequinox/EmbeddedEquinox.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/AllTests.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/EngineTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/ParameterizedProvisioningActionTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/PhaseSetTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/PhaseTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/ProfileRegistryTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/ProfileTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/TouchpointTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/extensionlocation/AllTests.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/extensionlocation/ExtensionLocationArtifactRepositoryFactoryTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/extensionlocation/ExtensionLocationMetadataRepositoryFactoryTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/DirectorTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/End2EndTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/RepoValidator.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/AllTests.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/EclipseSDK33Test.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/FeatureToIU.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/GeneratorTests.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/PatchIUGeneration.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/SiteParserTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/TestGeneratorInfo.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/AllTests.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/ArtifactKeyParsingTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/FragmentMethodTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/FragmentTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/IUPatchPersistenceTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/IUPersistenceTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/LicenseTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/MultipleIUAndFragmentTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/AllTests.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/JarURLRepositoryTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/LocalMetadataRepositoryTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/MetadataRepositoryManagerTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AddIUProperty.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AllOptional.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AllOrbit.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AllTests.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AnotherSingleton.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug207319.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/DependencyOnSelf.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/DropinsScenario.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/GreedyRequirement.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/IUProperties.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/IUPropertyRemoval.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/IUWithFilter.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/IUWithFilter2.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/InclusionRuleTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/InclusionRuleTest2.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MinimalInstall.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingDependency.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingDependency2.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingDependency3.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingNonGreedyRequirement.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingNonGreedyRequirement2.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptional.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptionalNonGreedyRequirement.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptionalWithDependencies.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptionalWithDependencies2.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptionalWithDependencies3.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MultipleProvider.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MultipleSingleton.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/NoRequirements.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PP2ShouldFailToInstall.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchFailingToInstall.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest1.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest10.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest11.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest12.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest13.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest1b.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest1c.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest2.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest3.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest4.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest5.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest6.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest7.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest7b.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest8.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest9.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestMultiplePatch.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestOptional.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestOptional2.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestOptional3.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUninstall.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate2.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate3.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest2.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest3.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest4.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleSingleton.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/TwoVersionsOfWSDL.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/UninstallEverything.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/simpleconfigurator/BundlesTxtTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/simpleconfigurator/SimpleConfiguratorTests.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/AllTests.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/UtilTest.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/AllTests.java
bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/UpdateSiteTest.java
bundles/org.eclipse.equinox.p2.tests/test.xml
bundles/org.eclipse.equinox.p2.tests/testData/bundlesTxt/org.eclipse.equinox.common_3.4.0.v20070910.jar
bundles/org.eclipse.equinox.p2.tests/testData/bundlesTxt/org.eclipse.equinox.simpleconfigurator.jar
bundles/org.eclipse.equinox.p2.tests/testData/bundlesTxt/org.eclipse.osgi_3.4.0.v20071030.jar
bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.eclipse.osgi.services_3.1.200.v20070605.jar
bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/META-INF/ECLIPSE.RSA
bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/META-INF/ECLIPSE.SF
bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/META-INF/eclipse.inf
bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/about.html
bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/about_files/cpl-v10.html
bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/junit.jar
bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/plugin.properties
bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.eclipse.equinox.jsp.jasper.registry_1.0.0.v20070827.jar
bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.eclipse.osgi.services_3.1.200.v20070605.jar
bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/META-INF/ECLIPSE.RSA
bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/META-INF/ECLIPSE.SF
bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/META-INF/eclipse.inf
bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/about.html
bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/about_files/cpl-v10.html
bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/junit.jar
bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/plugin.properties
bundles/org.eclipse.equinox.p2.tests/testData/enginerepo.jar
bundles/org.eclipse.equinox.p2.tests/testData/extensionlocation/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.p2.tests/testData/extensionlocation/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.properties
bundles/org.eclipse.equinox.p2.tests/testData/extensionlocation/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.xml
bundles/org.eclipse.equinox.p2.tests/testData/extensionlocation/plugins/org.eclipse.osgi.services_3.1.200.v20070605.jar
bundles/org.eclipse.equinox.p2.tests/testData/featureToIU/feature1.jar
bundles/org.eclipse.equinox.p2.tests/testData/featureToIU/feature2.jar
bundles/org.eclipse.equinox.p2.tests/testData/featureToIU/feature3.jar
bundles/org.eclipse.equinox.p2.tests/testData/generator/Europa/site.xml
bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs.source_1.0.0.v20070606-7C79_79EI99g_Y9e/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs.source_1.0.0.v20070606-7C79_79EI99g_Y9e/feature.properties
bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs.source_1.0.0.v20070606-7C79_79EI99g_Y9e/feature.xml
bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs_1.0.0.v20070606-7C79_79EI99g_Y9e/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs_1.0.0.v20070606-7C79_79EI99g_Y9e/feature.properties
bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs_1.0.0.v20070606-7C79_79EI99g_Y9e/feature.xml
bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt.source_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt.source_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/feature.properties
bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt.source_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/feature.xml
bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/feature.properties
bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/feature.xml
bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde.source_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde.source_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/feature.properties
bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde.source_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/feature.xml
bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/feature.properties
bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/feature.xml
bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform.source_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform.source_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/feature.properties
bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform.source_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/feature.xml
bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/feature.properties
bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/feature.xml
bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp.source_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp.source_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.properties
bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp.source_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.xml
bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.properties
bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.xml
bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.sdk_3.3.0.v20070607-7M7J-BIolz-OcxWxvWAPSfLPqevO/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.sdk_3.3.0.v20070607-7M7J-BIolz-OcxWxvWAPSfLPqevO/feature.properties
bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.sdk_3.3.0.v20070607-7M7J-BIolz-OcxWxvWAPSfLPqevO/feature.xml
bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/readme.txt
bundles/org.eclipse.equinox.p2.tests/testData/jarprocessor.jar.pack.gz
bundles/org.eclipse.equinox.p2.tests/testData/optimizers/1_6/org.eclipse.equinox.app_1.0.100.v20071015.jar.pack.gz
bundles/org.eclipse.equinox.p2.tests/testData/optimizers/eclipse-3.2-3.3.jbdiff
bundles/org.eclipse.equinox.p2.tests/testData/optimizers/eclipse-3.2.exe
bundles/org.eclipse.equinox.p2.tests/testData/optimizers/eclipse-3.3.exe
bundles/org.eclipse.equinox.p2.tests/testData/optimizers/org.eclipse.equinox.app_1.0.100.v20071015.jar
bundles/org.eclipse.equinox.p2.tests/testData/optimizers/org.eclipse.equinox.app_1.0.100.v20071015.jar.pack.gz
bundles/org.eclipse.equinox.p2.tests/testData/optimizers/org.eclipse.jdt_3.2.0-3.3.0.jbdiff
bundles/org.eclipse.equinox.p2.tests/testData/optimizers/org.eclipse.jdt_3.2.0.v20060605-1400.njar
bundles/org.eclipse.equinox.p2.tests/testData/optimizers/org.eclipse.jdt_3.3.0.v20070607-1300.njar
bundles/org.eclipse.equinox.p2.tests/testData/optimizers/testdata_1.0.0.1-2.jar
bundles/org.eclipse.equinox.p2.tests/testData/optimizers/testdata_1.0.0.1.jar
bundles/org.eclipse.equinox.p2.tests/testData/optimizers/testdata_1.0.0.2.jar
bundles/org.eclipse.equinox.p2.tests/testData/orbitRepo/content.xml
bundles/org.eclipse.equinox.p2.tests/testData/org.eclipse.jdt.3.2.1.patch_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/aaa_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/bbb.linux_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/bbb.win32_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/bbb_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/ccc_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/ccc_2.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/repositoryListener/oldBundleDirectory/plugin.xml
bundles/org.eclipse.equinox.p2.tests/testData/repositoryListener/oldBundleDirectoryTwo/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.p2.tests/testData/repositoryListener/oldBundleDirectoryTwo/plugin.xml
bundles/org.eclipse.equinox.p2.tests/testData/repositoryListener/oldBundleJAR.jar
bundles/org.eclipse.equinox.p2.tests/testData/repositoryListener/oldBundleJARTwo.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/Feature240121/.project
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/Feature240121/build.properties
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/Feature240121/feature.xml
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/UpdateSite240121/.project
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/UpdateSite240121/features/Feature240121_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/UpdateSite240121/plugins/Plugin240121_0.94.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/UpdateSite240121/site.xml
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/UpdateSite243422/features/org.eclipse.jdt.astview.feature_1.0.1.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/UpdateSite243422/plugins/org.eclipse.jdt.astview_1.0.1.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/UpdateSite243422/site.xml
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badSiteXML/site.xml
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestbadsite/digest/digest.zip
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestbadsite/features/test.feature_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestbadsite/plugins/test.bundle_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestbadsite/plugins/test.fragment_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestbadsite/site.xml
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestgoodsite/digest/digest.zip
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestgoodsite/features/test.feature_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestgoodsite/plugins/test.bundle_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestgoodsite/plugins/test.fragment_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestgoodsite/site.xml
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badfeatureurl/features/test.feature_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badfeatureurl/plugins/test.bundle_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badfeatureurl/plugins/test.fragment_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badfeatureurl/site.xml
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badincludedfeaturearchive/features/test.feature_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badincludedfeaturearchive/features/test.featureincluder_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badincludedfeaturearchive/plugins/test.bundle_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badincludedfeaturearchive/plugins/test.fragment_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badincludedfeaturearchive/site.xml
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/digest.zip
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/features-usedigestinstead/test.feature_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/plugins/test.bundle_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/plugins/test.fragment_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/site.xml
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl/digesturl/digest.zip
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl/features-usedigestinstead/test.feature_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl/plugins/test.bundle_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl/plugins/test.fragment_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl/site.xml
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl2/digesturl/digest.zip
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl2/features-usedigestinstead/test.feature_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl2/plugins/test.bundle_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl2/plugins/test.fragment_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl2/site.xml
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/goodfeatureurl/featuresx/test.feature_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/goodfeatureurl/plugins/test.bundle_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/goodfeatureurl/plugins/test.fragment_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/goodfeatureurl/site.xml
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeature/features/test.feature_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeature/features/test.featureincluder_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeature/plugins/test.bundle_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeature/plugins/test.fragment_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeature/site.xml
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeaturearchive/features/test.featureincluder_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeaturearchive/featuresx/test.feature_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeaturearchive/plugins/test.bundle_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeaturearchive/plugins/test.fragment_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeaturearchive/site.xml
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/features/test.feature2_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/features/test.feature_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/features/test.featureincluder_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/plugins/test.bundle_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/plugins/test.fragment_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/site.xml
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site/features/test.feature_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site/plugins/test.bundle_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site/plugins/test.fragment_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site/site.xml
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl/site.xml
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl/siteurl/features/test.feature_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl/siteurl/plugins/test.bundle_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl/siteurl/plugins/test.fragment_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl2/site.xml
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl2/siteurl/features/test.feature_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl2/siteurl/plugins/test.bundle_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl2/siteurl/plugins/test.fragment_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/xxxsitexxx/features/test.feature_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/xxxsitexxx/plugins/test.bundle_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/xxxsitexxx/plugins/test.fragment_1.0.0.jar
bundles/org.eclipse.equinox.p2.tests/testData/updatesite/xxxsitexxx/xxxsitexxx.xml
bundles/org.eclipse.equinox.p2.tests/testData/wsdlTestRepo/content.xml
bundles/org.eclipse.equinox.p2.tools/.classpath
bundles/org.eclipse.equinox.p2.tools/.cvsignore
bundles/org.eclipse.equinox.p2.tools/.project
bundles/org.eclipse.equinox.p2.tools/.settings/org.eclipse.jdt.core.prefs
bundles/org.eclipse.equinox.p2.tools/.settings/org.eclipse.jdt.ui.prefs
bundles/org.eclipse.equinox.p2.tools/.settings/org.eclipse.pde.core.prefs
bundles/org.eclipse.equinox.p2.tools/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.p2.tools/about.html
bundles/org.eclipse.equinox.p2.tools/build.properties
bundles/org.eclipse.equinox.p2.tools/p2 tools - compare metadata.launch
bundles/org.eclipse.equinox.p2.tools/p2 tools - file server.launch
bundles/org.eclipse.equinox.p2.tools/p2 tools - mirror.launch
bundles/org.eclipse.equinox.p2.tools/plugin.properties
bundles/org.eclipse.equinox.p2.tools/plugin.xml
bundles/org.eclipse.equinox.p2.tools/src/org/eclipse/equinox/internal/p2/tools/Activator.java
bundles/org.eclipse.equinox.p2.tools/src/org/eclipse/equinox/internal/p2/tools/FileServerApplication.java
bundles/org.eclipse.equinox.p2.tools/src/org/eclipse/equinox/internal/p2/tools/MetadataCompareApplication.java
bundles/org.eclipse.equinox.p2.tools/src/org/eclipse/equinox/internal/p2/tools/UpdateCheckerApplication.java
bundles/org.eclipse.equinox.p2.tools/src/org/eclipse/equinox/internal/p2/tools/mirror/MirrorApplication.java
bundles/org.eclipse.equinox.p2.tools/src/org/eclipse/equinox/internal/p2/tools/mirror/RangeQuery.java
bundles/org.eclipse.equinox.p2.tools/src/org/eclipse/equinox/internal/p2/tools/mirror/RepositoryMirroring.java
bundles/org.eclipse.equinox.p2.tools/src/org/eclipse/equinox/internal/p2/tools/mirror/VersionRangedName.java
bundles/org.eclipse.equinox.p2.tools/updatechecker app.launch
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.classpath
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.project
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.settings/org.eclipse.jdt.core.prefs
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.settings/org.eclipse.jdt.ui.prefs
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.settings/org.eclipse.pde.core.prefs
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/about.html
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/build.properties
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/plugin.properties
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/plugin.xml
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/Activator.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/AggregatedBundleRepository.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/EclipseTouchpoint.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/LazyManipulator.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/MarkSetProvider.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/Messages.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/MetadataGeneratorUtils.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/PlatformConfigurationWrapper.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/SourceManipulator.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/Util.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/WhatIsRunning.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/ActionConstants.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/ActionFactory.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/AddJVMArgumentAction.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/AddProgramArgumentAction.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/AddSourceBundleAction.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/CheckTrustAction.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/ChmodAction.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/CollectAction.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/InstallBundleAction.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/InstallFeatureAction.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/LinkAction.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/MarkStartedAction.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/Messages.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/MkdirAction.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/RemoveJVMArgumentAction.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/RemoveProgramArgumentAction.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/RemoveSourceBundleAction.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/RmdirAction.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/SetFrameworkDependentPropertyAction.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/SetFrameworkIndependentPropertyAction.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/SetLauncherNameAction.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/SetProgramPropertyAction.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/SetStartLevelAction.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/UninstallBundleAction.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/UninstallFeatureAction.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/messages.properties
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/messages.properties
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/Configuration.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/ConfigurationConstants.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/ConfigurationParser.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/ConfigurationWriter.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/Feature.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/Messages.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/Site.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/Utils.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/XMLWriter.java
bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/messages.properties
bundles/org.eclipse.equinox.p2.touchpoint.natives/.classpath
bundles/org.eclipse.equinox.p2.touchpoint.natives/.project
bundles/org.eclipse.equinox.p2.touchpoint.natives/.settings/org.eclipse.jdt.core.prefs
bundles/org.eclipse.equinox.p2.touchpoint.natives/.settings/org.eclipse.jdt.ui.prefs
bundles/org.eclipse.equinox.p2.touchpoint.natives/.settings/org.eclipse.pde.core.prefs
bundles/org.eclipse.equinox.p2.touchpoint.natives/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.p2.touchpoint.natives/about.html
bundles/org.eclipse.equinox.p2.touchpoint.natives/build.properties
bundles/org.eclipse.equinox.p2.touchpoint.natives/plugin.properties
bundles/org.eclipse.equinox.p2.touchpoint.natives/plugin.xml
bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/Activator.java
bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/BackupFiles.java
bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/Messages.java
bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/NativeTouchpoint.java
bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/Permissions.java
bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/Util.java
bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/Zip.java
bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/LinkAction.java
bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/messages.properties
bundles/org.eclipse.equinox.p2.ui.admin.rcp/.classpath
bundles/org.eclipse.equinox.p2.ui.admin.rcp/.cvsignore
bundles/org.eclipse.equinox.p2.ui.admin.rcp/.project
bundles/org.eclipse.equinox.p2.ui.admin.rcp/.settings/org.eclipse.jdt.core.prefs
bundles/org.eclipse.equinox.p2.ui.admin.rcp/.settings/org.eclipse.jdt.ui.prefs
bundles/org.eclipse.equinox.p2.ui.admin.rcp/.settings/org.eclipse.pde.core.prefs
bundles/org.eclipse.equinox.p2.ui.admin.rcp/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.p2.ui.admin.rcp/ProvAdminUI.launch
bundles/org.eclipse.equinox.p2.ui.admin.rcp/about.html
bundles/org.eclipse.equinox.p2.ui.admin.rcp/build.properties
bundles/org.eclipse.equinox.p2.ui.admin.rcp/config.ini
bundles/org.eclipse.equinox.p2.ui.admin.rcp/icons/provision.gif
bundles/org.eclipse.equinox.p2.ui.admin.rcp/icons/pview.gif
bundles/org.eclipse.equinox.p2.ui.admin.rcp/plugin.properties
bundles/org.eclipse.equinox.p2.ui.admin.rcp/plugin.xml
bundles/org.eclipse.equinox.p2.ui.admin.rcp/plugin_customization.ini
bundles/org.eclipse.equinox.p2.ui.admin.rcp/rcp.product
bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/Activator.java
bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/Application.java
bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/ApplicationActionBarAdvisor.java
bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/ApplicationWorkbenchAdvisor.java
bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/ApplicationWorkbenchWindowAdvisor.java
bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/ProvAdminUIMessages.java
bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/ProvisioningRCPPerspective.java
bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/messages.properties
bundles/org.eclipse.equinox.p2.ui.admin/.classpath
bundles/org.eclipse.equinox.p2.ui.admin/.cvsignore
bundles/org.eclipse.equinox.p2.ui.admin/.project
bundles/org.eclipse.equinox.p2.ui.admin/.settings/org.eclipse.jdt.core.prefs
bundles/org.eclipse.equinox.p2.ui.admin/.settings/org.eclipse.jdt.ui.prefs
bundles/org.eclipse.equinox.p2.ui.admin/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.p2.ui.admin/about.html
bundles/org.eclipse.equinox.p2.ui.admin/build.properties
bundles/org.eclipse.equinox.p2.ui.admin/icons/obj/artifact_repo_obj.gif
bundles/org.eclipse.equinox.p2.ui.admin/icons/obj/iu_obj.gif
bundles/org.eclipse.equinox.p2.ui.admin/icons/obj/metadata_repo_obj.gif
bundles/org.eclipse.equinox.p2.ui.admin/icons/obj/profile_obj.gif
bundles/org.eclipse.equinox.p2.ui.admin/icons/obj/uninstalled_iu.gif
bundles/org.eclipse.equinox.p2.ui.admin/icons/provision.gif
bundles/org.eclipse.equinox.p2.ui.admin/plugin.properties
bundles/org.eclipse.equinox.p2.ui.admin/plugin.xml
bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ArtifactRepositoriesView.java
bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/MetadataRepositoriesView.java
bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ProfilesView.java
bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ProvAdminQueryProvider.java
bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ProvAdminUIActivator.java
bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ProvAdminUIMessages.java
bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ProvView.java
bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ProvisioningPerspective.java
bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/RepositoriesView.java
bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/AddArtifactRepositoryDialog.java
bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/AddMetadataRepositoryDialog.java
bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/AddProfileDialog.java
bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/IUGroup.java
bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/IUImplementationGroup.java
bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/IUImplementationPropertyPage.java
bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/IUProfilePropertiesGroup.java
bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/IUPropertiesGroup.java
bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/InstalledIUPropertyPage.java
bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/ProfileGroup.java
bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/ProfilePropertyPage.java
bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/RepositoryImplementationPropertyPage.java
bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/messages.properties
bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/preferences/PreferenceConstants.java
bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/preferences/ProvUIPreferenceInitializer.java
bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/preferences/ProvisioningPrefPage.java
bundles/org.eclipse.equinox.p2.ui/.classpath
bundles/org.eclipse.equinox.p2.ui/.cvsignore
bundles/org.eclipse.equinox.p2.ui/.project
bundles/org.eclipse.equinox.p2.ui/.settings/org.eclipse.jdt.core.prefs
bundles/org.eclipse.equinox.p2.ui/.settings/org.eclipse.jdt.ui.prefs
bundles/org.eclipse.equinox.p2.ui/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.p2.ui/about.html
bundles/org.eclipse.equinox.p2.ui/build.properties
bundles/org.eclipse.equinox.p2.ui/icons/obj/artifact_repo_obj.gif
bundles/org.eclipse.equinox.p2.ui/icons/obj/category_obj.gif
bundles/org.eclipse.equinox.p2.ui/icons/obj/iu_obj.gif
bundles/org.eclipse.equinox.p2.ui/icons/obj/metadata_repo_obj.gif
bundles/org.eclipse.equinox.p2.ui/icons/obj/profile_obj.gif
bundles/org.eclipse.equinox.p2.ui/icons/obj/uninstalled_iu_obj.gif
bundles/org.eclipse.equinox.p2.ui/icons/tool/close.gif
bundles/org.eclipse.equinox.p2.ui/icons/tool/close_hot.gif
bundles/org.eclipse.equinox.p2.ui/icons/tool/update.gif
bundles/org.eclipse.equinox.p2.ui/icons/tool/update_problems.gif
bundles/org.eclipse.equinox.p2.ui/icons/wizban/def_wizban.jpg
bundles/org.eclipse.equinox.p2.ui/icons/wizban/install_wiz.gif
bundles/org.eclipse.equinox.p2.ui/icons/wizban/revert_wiz.gif
bundles/org.eclipse.equinox.p2.ui/icons/wizban/uninstall_wiz.gif
bundles/org.eclipse.equinox.p2.ui/icons/wizban/update_wiz.gif
bundles/org.eclipse.equinox.p2.ui/plugin.properties
bundles/org.eclipse.equinox.p2.ui/plugin.xml
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/BatchChangeBeginningEvent.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/BatchChangeCompleteEvent.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/PlanStatusHelper.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvUIActivator.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvUIAdapterFactory.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvUIMessages.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/AcceptLicensesWizardPage.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/ApplyProfileChangesDialog.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/ContainerCheckedTreeViewer.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/DeferredFetchFilteredTree.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/IUPropertyPage.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/InstallWizardPage.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/ProfileModificationWizardPage.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/RevertProfileWizardPage.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/StructuredIUGroup.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/UninstallWizardPage.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/UpdateOrInstallWizard.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/UpdateOrInstallWizardPage.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/UpdateWizardPage.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/messages.properties
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/ArtifactElement.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/AvailableIUElement.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/AvailableUpdateElement.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/CachedQueryElement.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/ProvElement.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/RemoteQueriedElement.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/viewers/DeferredQueryTreeContentManager.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/viewers/DeferredQueryTreeListener.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/viewers/IUDetailsLabelProvider.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/viewers/StaticContentProvider.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/CertificateLabelProvider.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/IProfileChooser.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/IProvHelpContextIds.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/IRepositoryManipulator.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/IStatusCodes.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/ProfileFactory.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/ProvUI.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/ProvUIImages.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/ProvisioningOperationRunner.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/SimpleLicenseManager.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/UpdateManagerCompatibility.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/ValidationDialogServiceUI.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/actions/InstallAction.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/actions/ProfileModificationAction.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/actions/PropertyDialogAction.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/actions/ProvisioningAction.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/actions/RefreshAction.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/actions/RevertAction.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/actions/UninstallAction.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/actions/UpdateAction.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/AddRepositoryDialog.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/AvailableIUGroup.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/AvailableIUPatternFilter.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/DefaultMetadataURLValidator.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/IUCopyrightPropertyPage.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/IUGeneralInfoPropertyPage.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/IULicensePropertyPage.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/IViewMenuProvider.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/InstallWizard.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/InstalledIUGroup.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/RepositoryManipulatorDropTarget.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/RepositoryPropertyPage.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/RevertWizard.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/TextURLDropAdapter.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/TrustCertificateDialog.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/URLDropAdapter.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/URLValidator.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/UninstallWizard.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/UpdateWizard.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/UserValidationDialog.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/ArtifactRepositories.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/ArtifactRepositoryElement.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/CategoryElement.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/ElementUtils.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/IRepositoryElement.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/IUElement.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/IUVersionsElement.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/InstalledIUElement.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/MetadataRepositories.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/MetadataRepositoryElement.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/ProfileElement.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/Profiles.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/QueriedElementCollector.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/RollbackProfileElement.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/RollbackRepositoryElement.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/UncategorizedCategoryElement.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/AddArtifactRepositoryOperation.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/AddColocatedRepositoryOperation.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/AddMetadataRepositoryOperation.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/AddProfileOperation.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/DownloadPhaseSet.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/InstallAndConfigurePhaseSet.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/ProfileModificationOperation.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/ProfileOperation.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/ProvisioningOperation.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/ProvisioningUtil.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/RefreshArtifactRepositoriesOperation.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/RefreshColocatedRepositoriesOperation.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/RefreshMetadataRepositoriesOperation.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/RemoveArtifactRepositoryOperation.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/RemoveColocatedRepositoryOperation.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/RemoveMetadataRepositoryOperation.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/RemoveProfilesOperation.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/RepositoryOperation.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/SizingPhaseSet.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/UndoableProvisioningOperation.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/policy/IPlanValidator.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/policy/IQueryProvider.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/policy/LicenseManager.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/policy/Policies.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/AnyRequiredCapabilityQuery.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/AvailableIUCollector.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/CategoryElementCollector.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/ElementQueryDescriptor.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/IUPropertyUtils.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/InstalledIUCollector.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/LatestIUVersionCollector.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/LatestIUVersionElementCollector.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/MetadataRepositoryElementCollector.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/OtherIUVersionsCollector.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/ProfileElementCollector.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/QueriedElement.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/QueryContext.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/QueryableArtifactRepositoryManager.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/QueryableMetadataRepositoryManager.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/QueryableProfileRegistry.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/QueryableUpdates.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/RollbackIUCollector.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/UncategorizedElementCollector.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/DeferredQueryContentListener.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/DeferredQueryContentProvider.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/IUColumnConfig.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/IUComparator.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/IUDragAdapter.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/InstallIUDropAdapter.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/ProvElementComparer.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/ProvElementLabelProvider.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/RepositoryContentProvider.java
bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/StructuredViewerProvisioningListener.java
bundles/org.eclipse.equinox.p2.updatechecker/.classpath
bundles/org.eclipse.equinox.p2.updatechecker/.cvsignore
bundles/org.eclipse.equinox.p2.updatechecker/.project
bundles/org.eclipse.equinox.p2.updatechecker/.settings/org.eclipse.jdt.core.prefs
bundles/org.eclipse.equinox.p2.updatechecker/.settings/org.eclipse.jdt.ui.prefs
bundles/org.eclipse.equinox.p2.updatechecker/.settings/org.eclipse.pde.core.prefs
bundles/org.eclipse.equinox.p2.updatechecker/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.p2.updatechecker/about.html
bundles/org.eclipse.equinox.p2.updatechecker/build.properties
bundles/org.eclipse.equinox.p2.updatechecker/plugin.properties
bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/p2/updatechecker/Activator.java
bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/p2/updatechecker/UpdateChecker.java
bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/provisional/p2/updatechecker/IUpdateChecker.java
bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/provisional/p2/updatechecker/IUpdateListener.java
bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/provisional/p2/updatechecker/UpdateEvent.java
bundles/org.eclipse.equinox.p2.updatesite/.classpath
bundles/org.eclipse.equinox.p2.updatesite/.cvsignore
bundles/org.eclipse.equinox.p2.updatesite/.project
bundles/org.eclipse.equinox.p2.updatesite/.settings/org.eclipse.jdt.core.prefs
bundles/org.eclipse.equinox.p2.updatesite/.settings/org.eclipse.jdt.ui.prefs
bundles/org.eclipse.equinox.p2.updatesite/.settings/org.eclipse.pde.core.prefs
bundles/org.eclipse.equinox.p2.updatesite/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.p2.updatesite/about.html
bundles/org.eclipse.equinox.p2.updatesite/build.properties
bundles/org.eclipse.equinox.p2.updatesite/plugin.properties
bundles/org.eclipse.equinox.p2.updatesite/plugin.xml
bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/Activator.java
bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/ECFTransport.java
bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/Messages.java
bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/UpdateSite.java
bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/artifact/UpdateSiteArtifactRepository.java
bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/artifact/UpdateSiteArtifactRepositoryFactory.java
bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/messages.properties
bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/metadata/UpdateSiteMetadataRepository.java
bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/metadata/UpdateSiteMetadataRepositoryFactory.java
bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.classpath
bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.cvsignore
bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.project
bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.settings/org.eclipse.jdt.core.prefs
bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.settings/org.eclipse.jdt.ui.prefs
bundles/org.eclipse.equinox.simpleconfigurator.manipulator/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.simpleconfigurator.manipulator/about.html
bundles/org.eclipse.equinox.simpleconfigurator.manipulator/build.properties
bundles/org.eclipse.equinox.simpleconfigurator.manipulator/plugin.properties
bundles/org.eclipse.equinox.simpleconfigurator.manipulator/src/org/eclipse/equinox/internal/simpleconfigurator/manipulator/Activator.java
bundles/org.eclipse.equinox.simpleconfigurator.manipulator/src/org/eclipse/equinox/internal/simpleconfigurator/manipulator/SimpleConfiguratorManipulatorFactoryImpl.java
bundles/org.eclipse.equinox.simpleconfigurator.manipulator/src/org/eclipse/equinox/internal/simpleconfigurator/manipulator/SimpleConfiguratorManipulatorImpl.java
bundles/org.eclipse.equinox.simpleconfigurator.manipulator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/SimpleConfiguratorConstants.java
bundles/org.eclipse.equinox.simpleconfigurator/.classpath
bundles/org.eclipse.equinox.simpleconfigurator/.cvsignore
bundles/org.eclipse.equinox.simpleconfigurator/.externalToolBuilders/Copy built version of simple configurator into metadata generator.launch
bundles/org.eclipse.equinox.simpleconfigurator/.project
bundles/org.eclipse.equinox.simpleconfigurator/.settings/org.eclipse.jdt.core.prefs
bundles/org.eclipse.equinox.simpleconfigurator/.settings/org.eclipse.jdt.ui.prefs
bundles/org.eclipse.equinox.simpleconfigurator/META-INF/MANIFEST.MF
bundles/org.eclipse.equinox.simpleconfigurator/about.html
bundles/org.eclipse.equinox.simpleconfigurator/build.properties
bundles/org.eclipse.equinox.simpleconfigurator/localbuild.xml
bundles/org.eclipse.equinox.simpleconfigurator/plugin.properties
bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/provisional/configurator/Configurator.java
bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/Activator.java
bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/ConfigApplier.java
bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/SimpleConfiguratorFactory.java
bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/SimpleConfiguratorImpl.java
bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/console/ApplyCommand.java
bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/console/ConfiguratorCommandProvider.java
bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/BundleInfo.java
bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/EquinoxUtils.java
bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/SimpleConfiguratorConstants.java
bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/SimpleConfiguratorUtils.java
bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/StateResolverUtils.java
bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/Utils.java
org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.agent.feature/.project
org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.agent.feature/build.properties
org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.agent.feature/feature.xml
org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.director.feature/.project
org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.director.feature/build.properties
org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.director.feature/feature.xml
org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/.project
org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/build.properties
org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/customBuildCallbacks.xml
org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/feature.xml
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/.classpath b/bundles/org.eclipse.equinox.frameworkadmin.equinox/.classpath
deleted file mode 100644
index ce0c7a5..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.0%Foundation-1.0"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/.project b/bundles/org.eclipse.equinox.frameworkadmin.equinox/.project
deleted file mode 100644
index 2625e9b..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.equinox.frameworkadmin.equinox</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.frameworkadmin.equinox/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f847166..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,340 +0,0 @@
-#Wed Jan 23 10:00:41 EST 2008
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.1
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.3
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.frameworkadmin.equinox/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index ad9b6dd..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:57:33 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.frameworkadmin.equinox/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 51a3350..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Tue Nov 21 00:29:05 EST 2006
-eclipse.preferences.version=1
-pluginProject.equinox=false
-pluginProject.extensions=false
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.frameworkadmin.equinox/META-INF/MANIFEST.MF
deleted file mode 100644
index 204dfc9..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,30 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.equinox.frameworkadmin.equinox;singleton:=true
-Bundle-Version: 1.0.2.qualifier
-Bundle-Activator: org.eclipse.equinox.internal.frameworkadmin.equinox.Activator
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Import-Package: org.eclipse.core.runtime.adaptor,
- org.eclipse.core.runtime.internal.adaptor,
- org.eclipse.equinox.internal.frameworkadmin.utils,
- org.eclipse.equinox.internal.provisional.configuratormanipulator,
- org.eclipse.equinox.internal.provisional.frameworkadmin,
- org.eclipse.osgi.framework.adaptor;resolution:=optional,
- org.eclipse.osgi.framework.debug;resolution:=optional,
- org.eclipse.osgi.framework.internal.core,
- org.eclipse.osgi.service.datalocation;version="1.0.0";resolution:=optional,
- org.eclipse.osgi.service.environment;version="1.0.0";resolution:=optional,
- org.eclipse.osgi.service.resolver;version="1.1.0";resolution:=optional,
- org.eclipse.osgi.storagemanager;version="1.0.0";resolution:=optional,
- org.eclipse.osgi.util;version="1.1.0",
- org.osgi.framework;version="1.3.0",
- org.osgi.service.log;version="1.3.0",
- org.osgi.service.startlevel;version="1.0.0",
- org.osgi.util.tracker;version="1.3.2"
-Export-Package: org.eclipse.equinox.internal.frameworkadmin.equinox;x-friends:=org.eclipse.equinox.p2.metadata.generator,
- org.eclipse.equinox.internal.frameworkadmin.equinox.utils;x-internal:=true
-Require-Bundle: org.eclipse.equinox.common
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,
- J2SE-1.4
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/about.html b/bundles/org.eclipse.equinox.frameworkadmin.equinox/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 2, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/build.properties b/bundles/org.eclipse.equinox.frameworkadmin.equinox/build.properties
deleted file mode 100644
index dc77b9c..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- about.html,\
- plugin.properties
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/plugin.properties b/bundles/org.eclipse.equinox.frameworkadmin.equinox/plugin.properties
deleted file mode 100644
index 033778e..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Equinox Framework Admin for Equinox
-providerName = Eclipse.org
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/Activator.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/Activator.java
deleted file mode 100644
index 4a3ec86..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/Activator.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.frameworkadmin.equinox;
-
-import java.util.Dictionary;
-import java.util.Hashtable;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.FrameworkAdmin;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.osgi.framework.*;
-
-/**
- * This bundle provides the {@link FrameworkAdmin} implementation for Felix.
- *
- * This bundle registers {@link Manipulator} object with these service property values.
- *
- * FW_NAME = "Equinox";
- * FW_VERSION = "3.3";
- * LAUCNHER_NAME = "Eclipse.exe";
- * LAUNCHER_VERSION = "3.2";
- *
- * The launching by the eclipse launcher is supported.
- *
- * Handling plugins in non Jar format is not supported.
- *
- * FwBundleState supports retrieving fw persistent data
- * and resolving bundles if running on equinox.
- * FwBundleState Does NOT support retrieving start Levels from fw persistent data location/
- *
- */
-public class Activator implements BundleActivator {
- private static BundleContext context;
- private ServiceRegistration registrationFA;
- EquinoxFwAdminImpl fwAdmin = null;
-
- private void registerFwAdmin() {
- Dictionary props = new Hashtable();
- props.put(Constants.SERVICE_VENDOR, "Eclipse.org");
-
- props.put(FrameworkAdmin.SERVICE_PROP_KEY_FW_NAME, EquinoxConstants.FW_NAME);
- props.put(FrameworkAdmin.SERVICE_PROP_KEY_FW_VERSION, EquinoxConstants.FW_VERSION);
- props.put(FrameworkAdmin.SERVICE_PROP_KEY_LAUNCHER_NAME, EquinoxConstants.LAUNCHER_NAME);
- props.put(FrameworkAdmin.SERVICE_PROP_KEY_LAUNCHER_VERSION, EquinoxConstants.LAUNCHER_VERSION);
-
- if (EquinoxFwAdminImpl.isRunningFw(context)) {
- props.put(FrameworkAdmin.SERVICE_PROP_KEY_RUNNING_SYSTEM_FLAG, "true");
- fwAdmin = new EquinoxFwAdminImpl(context, true);
- } else
- fwAdmin = new EquinoxFwAdminImpl(context);
-
- registrationFA = context.registerService(FrameworkAdmin.class.getName(), fwAdmin, props);
- }
-
- /**
- * TODO: These services are never disposed.
- */
- public static Object acquireService(String serviceName) {
- //be tolerant of concurrent shutdown
- BundleContext theContext = context;
- if (theContext == null)
- return null;
- ServiceReference reference = theContext.getServiceReference(serviceName);
- if (reference == null)
- return null;
- return theContext.getService(reference);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
- */
- public void start(BundleContext bundleContext) throws Exception {
- Activator.context = bundleContext;
- Log.init(bundleContext);
- registerFwAdmin();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
- */
- public void stop(BundleContext bundleContext) throws Exception {
- Activator.context = null;
- if (registrationFA != null)
- registrationFA.unregister();
- if (fwAdmin != null)
- fwAdmin.deactivate();
- Log.dispose();
- }
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EclipseLauncherImpl.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EclipseLauncherImpl.java
deleted file mode 100644
index 5b5a8b1..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EclipseLauncherImpl.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.frameworkadmin.equinox;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.LinkedList;
-import java.util.List;
-import org.eclipse.equinox.internal.frameworkadmin.utils.SimpleBundlesState;
-import org.eclipse.equinox.internal.frameworkadmin.utils.Utils;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.osgi.service.log.LogService;
-
-public class EclipseLauncherImpl {
- static String getStringOfCmd(String[] cmdarray) {
- StringBuffer sb = new StringBuffer();
- for (int i = 0; i < cmdarray.length; i++) {
- sb.append(cmdarray[i]);
- sb.append(" ");
- }
- return sb.toString();
- }
-
- // BundleContext context = null;
-
- EquinoxFwAdminImpl fwAdmin = null;
-
- EclipseLauncherImpl(EquinoxFwAdminImpl fwAdmin) {
- //EclipseLauncherImpl(BundleContext context, EquinoxFwAdminImpl fwAdmin) {
- // this.context = context;
- this.fwAdmin = fwAdmin;
- }
-
- public Process launch(Manipulator manipulator, File cwd) throws IllegalArgumentException, IOException, FrameworkAdminRuntimeException {
- SimpleBundlesState.checkAvailability(fwAdmin);
- Log.log(LogService.LOG_DEBUG, this, "launch(Manipulator , File )", "");
- LauncherData launcherData = manipulator.getLauncherData();
- if (launcherData.getLauncher() == null)
- return launchInMemory(manipulator, cwd);
- return launchByLauncher(manipulator, cwd);
- }
-
- private Process launchByLauncher(Manipulator manipulator, File cwd) throws IOException {
- LauncherData launcherData = manipulator.getLauncherData();
-
- if (launcherData.getLauncher() == null)
- throw new IllegalStateException("launcherData.getLauncher() must be set.");
- String[] cmdarray = new String[] {launcherData.getLauncher().getAbsolutePath()};
- // try {
- if (cwd == null)
- cwd = launcherData.getLauncher().getParentFile();
- Process process = Runtime.getRuntime().exec(cmdarray, null, cwd);
- Log.log(LogService.LOG_DEBUG, "\t" + getStringOfCmd(cmdarray));
- return process;
- }
-
- private Process launchInMemory(Manipulator manipulator, File cwd) throws IOException {
- LauncherData launcherData = manipulator.getLauncherData();
- Utils.checkAbsoluteFile(launcherData.getFwJar(), "fwJar");
- // this.launcherCInfo.fwJar = fwJar;
- // if (cwd == null)
- // cwd = fwJar.;
- Utils.checkAbsoluteDir(cwd, "cwd");
-
- List cmdList = new LinkedList();
- if (launcherData.getJvm() != null)
- cmdList.add(launcherData.getJvm().getAbsolutePath());
- else
- cmdList.add("java");
-
- if (launcherData.getJvmArgs() != null)
- for (int i = 0; i < launcherData.getJvmArgs().length; i++)
- cmdList.add(launcherData.getJvmArgs()[i]);
-
- cmdList.add("-jar");
- cmdList.add(Utils.getRelativePath(launcherData.getFwJar(), cwd));
-
- EquinoxManipulatorImpl.checkConsistencyOfFwConfigLocAndFwPersistentDataLoc(launcherData);//checkConsistency(this.launcherCInfo.fwConfigFile, this.launcherCInfo.fwInstancePrivateArea);
- cmdList.add(EquinoxConstants.OPTION_CONFIGURATION);
- cmdList.add(Utils.getRelativePath(launcherData.getFwPersistentDataLocation(), cwd));
-
- if (launcherData.isClean())
- cmdList.add(EquinoxConstants.OPTION_CLEAN);
-
- String[] cmdarray = new String[cmdList.size()];
- cmdList.toArray(cmdarray);
- Log.log(LogService.LOG_DEBUG, "In CWD = " + cwd + "\n\t" + getStringOfCmd(cmdarray));
- Process process = Runtime.getRuntime().exec(cmdarray, null, cwd);
- return process;
- }
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EclipseLauncherParser.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EclipseLauncherParser.java
deleted file mode 100644
index c4205c0..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EclipseLauncherParser.java
+++ /dev/null
@@ -1,306 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.frameworkadmin.equinox;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.equinox.internal.frameworkadmin.equinox.utils.FileUtils;
-import org.eclipse.equinox.internal.frameworkadmin.utils.Utils;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.LauncherData;
-import org.osgi.service.log.LogService;
-
-public class EclipseLauncherParser {
-
- private String[] getConfigFileLines(LauncherData launcherData, File outputFile, boolean relative) {
- List lines = new LinkedList();
-
- boolean startUpFlag = false;
- final String[] programArgs = launcherData.getProgramArgs();
- if (programArgs != null && programArgs.length != 0)
- for (int i = 0; i < programArgs.length; i++) {
- if (programArgs[i].equals(EquinoxConstants.OPTION_STARTUP) && (programArgs[i + 1] != null || programArgs[i + 1].length() != 0)) {
- lines.add(programArgs[i]);
- lines.add(programArgs[++i]);
- startUpFlag = true;
- } else
- lines.add(programArgs[i]);
- }
- if (launcherData.isClean())
- lines.add(EquinoxConstants.OPTION_CLEAN);
- File fwPersistentDataLocation = launcherData.getFwPersistentDataLocation();
- File fwConfigLocation = launcherData.getFwConfigLocation();
- if (fwPersistentDataLocation != null) {
- if (fwConfigLocation != null) {
- if (!fwPersistentDataLocation.equals(fwConfigLocation))
- throw new IllegalStateException();
- }
- launcherData.setFwConfigLocation(fwPersistentDataLocation);
- } else if (fwConfigLocation != null)
- launcherData.setFwPersistentDataLocation(fwConfigLocation, launcherData.isClean());
-
- if (launcherData.getFwConfigLocation() != null) {
- lines.add(EquinoxConstants.OPTION_CONFIGURATION);
- lines.add(launcherData.getFwConfigLocation().getAbsolutePath());
- }
-
- if (!startUpFlag)
- if (launcherData.getFwJar() != null) {
- lines.add(EquinoxConstants.OPTION_FW);
- String path = "";
- //if (relative)
- // path = Utils.getRelativePath(launcherData.getFwJar(), outputFile.getParentFile());
- //else
- path = launcherData.getFwJar().getAbsolutePath();
- lines.add(path);
- }
-
- if (launcherData.getJvm() != null) {
- lines.add(EquinoxConstants.OPTION_VM);
- lines.add(launcherData.getJvm().getAbsolutePath());
- }
- final String[] jvmArgs = launcherData.getJvmArgs();
- if (jvmArgs != null && jvmArgs.length != 0) {
- lines.add(EquinoxConstants.OPTION_VMARGS);
- for (int i = 0; i < jvmArgs.length; i++)
- lines.add(jvmArgs[i]);
- }
- String[] ret = new String[lines.size()];
- lines.toArray(ret);
- return ret;
- }
-
- private void parseCmdLine(LauncherData launcherData, String[] lines) {
- //Log.log(LogService.LOG_DEBUG, "inputFile=" + inputFile.getAbsolutePath());
- // final File launcherFile = launcherData.getLauncher();
- final File launcherConfigFile = EquinoxManipulatorImpl.getLauncherConfigLocation(launcherData);
-
- boolean clean = launcherData.isClean();
- boolean needToUpdate = false;
- File fwPersistentDataLoc = launcherData.getFwPersistentDataLocation();
- File fwConfigLocation = launcherData.getFwConfigLocation();
- if (fwPersistentDataLoc == null) {
- if (fwConfigLocation == null) {
- fwPersistentDataLoc = new File(launcherConfigFile.getParent(), EquinoxConstants.DEFAULT_CONFIGURATION);
- fwConfigLocation = fwPersistentDataLoc;
- needToUpdate = true;
- } else {
- fwPersistentDataLoc = fwConfigLocation;
- needToUpdate = true;
- }
- } else {
- if (fwConfigLocation == null) {
- fwConfigLocation = fwPersistentDataLoc;
- needToUpdate = true;
- }
- }
-
- File fwJar = launcherData.getFwJar();
- if (fwJar == null) {
- String location = FileUtils.getEclipsePluginFullLocation(EquinoxConstants.FW_SYMBOLIC_NAME, new File(launcherConfigFile.getParent(), EquinoxConstants.PLUGINS_DIR));
- if (location != null)
- try {
- fwJar = new File(new URL(location).getFile());
- launcherData.setFwJar(fwJar);
- } catch (MalformedURLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- // launcherData.initialize(); // reset except launcherFile.
-
- // launcherData.setLauncher(launcherFile);
- boolean vmArgsFlag = false;
-
- for (int i = 0; i < lines.length; i++) {
- final String line = lines[i].trim();
- StringTokenizer tokenizer = new StringTokenizer(line, " ");
- if (line.startsWith("#"))
- continue;
- if (line.length() == 0)
- continue;
- if (tokenizer.countTokens() != 1) {
- Log.log(LogService.LOG_WARNING, this, "parseCmdLine(String[] lines, File inputFile)", "Illegal Format:line=" + line + "tokenizer.countTokens()=" + tokenizer.countTokens());
- //throw new IOException("Illegal Format:line=" + line + "tokenizer.countTokens()=" + tokenizer.countTokens());
- }
- if (vmArgsFlag) {
- launcherData.addJvmArg(line);
- continue;
- }
- if (line.equalsIgnoreCase(EquinoxConstants.OPTION_VMARGS)) {
- vmArgsFlag = true;
- continue;
- }
- if (line.equalsIgnoreCase(EquinoxConstants.OPTION_CONFIGURATION)) {
- final String nextLine = lines[++i].trim();
- File file = new File(nextLine);
- if (!file.isAbsolute())
- file = new File(launcherConfigFile.getParent() + File.separator + nextLine);
- fwPersistentDataLoc = file;
- needToUpdate = true;
- continue;
- } else if (line.equalsIgnoreCase(EquinoxConstants.OPTION_CLEAN)) {
- clean = true;
- needToUpdate = true;
- continue;
- } else if (line.equalsIgnoreCase(EquinoxConstants.OPTION_VM)) {
- final String nextLine = lines[++i].trim();
- File file = new File(nextLine);
- if (!file.isAbsolute()) {
- file = new File(launcherConfigFile.getAbsolutePath() + File.separator + nextLine);
- }
- launcherData.setJvm(file);
- continue;
- } else if (line.equalsIgnoreCase(EquinoxConstants.OPTION_FW)) {
- final String nextLine = lines[++i].trim();
- File file = new File(nextLine);
- if (!file.isAbsolute()) {
- file = new File(launcherConfigFile.getAbsolutePath() + File.separator + nextLine);
- }
- launcherData.setFwJar(file);
- continue;
- } else {
- launcherData.addProgramArg(lines[i]);
- // Log.log(LogService.LOG_WARNING, this, "parseCmdLine(String[] lines, File inputFile)", "Unsupported by current impl:line=" + line);
- }
- }
- if (needToUpdate) {
- launcherData.setFwPersistentDataLocation(fwPersistentDataLoc, clean);
- launcherData.setFwConfigLocation(fwPersistentDataLoc);
- }
- }
-
- public void read(LauncherData launcherData) throws IOException {
- final File launcherConfigFile = EquinoxManipulatorImpl.getLauncherConfigLocation(launcherData);
- if (launcherConfigFile == null)
- throw new IllegalStateException("launcherData.getLauncherConfigFile() should be set in advance.");
- if (!launcherConfigFile.exists())
- return;
-
- BufferedReader br = null;
- try {
- br = new BufferedReader(new FileReader(launcherConfigFile));
-
- String line;
- List list = new LinkedList();
- while ((line = br.readLine()) != null) {
- list.add(line);
- }
- String[] lines = (String[]) list.toArray(new String[list.size()]);
- String osgiInstallArea = getLauncher(lines) != null ? EquinoxManipulatorImpl.makeAbsolute(getLauncher(lines).getPath(), launcherData.getLauncher().getParentFile().getAbsolutePath()) : null;
-
- String resolveNextLine = null;
- for (int i = 0; i < lines.length; i++) {
- if (resolveNextLine != null) {
- lines[i] = EquinoxManipulatorImpl.makeAbsolute(lines[i], resolveNextLine);
- resolveNextLine = null;
- } else {
- resolveNextLine = needsPathResolution(lines[i], osgiInstallArea, launcherData.getLauncher().getParentFile().getAbsolutePath() + File.separator);
- }
- }
- this.parseCmdLine(launcherData, lines);
- } finally {
- if (br != null)
- br.close();
- }
- Log.log(LogService.LOG_INFO, "Launcher Config file(" + launcherConfigFile.getAbsolutePath() + ") is read successfully.");
- }
-
- private File getLauncher(String[] args) {
- for (int i = 0; i < args.length; i++) {
- if (args[i].equals(EquinoxConstants.OPTION_STARTUP) && i + 1 < args.length && args[i + 1].charAt(1) != '-') {
- IPath parentFolder = new Path(args[i + 1]).removeLastSegments(1);
- if (parentFolder.lastSegment().equals("plugins"))
- return parentFolder.removeLastSegments(1).toFile();
- return parentFolder.toFile();
- }
- }
- return null;
- }
-
- //Return the base against which the path needs to be resolved, if resolution is needed.
- private String needsPathResolution(String entry, String osgiInstallArea, String launcherFolder) {
- if (EquinoxConstants.OPTION_CONFIGURATION.equalsIgnoreCase(entry))
- return osgiInstallArea;
- if ("--launcher.library".equalsIgnoreCase(entry))
- return launcherFolder;
- if (EquinoxConstants.OPTION_STARTUP.equalsIgnoreCase(entry))
- return launcherFolder;
- if (EquinoxConstants.OPTION_FW.equalsIgnoreCase(entry))
- return osgiInstallArea != null ? osgiInstallArea : launcherFolder;
- return null;
- }
-
- public void save(EquinoxLauncherData launcherData, boolean relative, boolean backup) throws IOException {
- File launcherConfigFile = EquinoxManipulatorImpl.getLauncherConfigLocation(launcherData);
-
- if (launcherConfigFile == null)
- throw new IllegalStateException("launcherConfigFile cannot be set. launcher file should be set in advance.");
- Utils.createParentDir(launcherConfigFile);
- // backup file if exists.
- if (backup)
- if (launcherConfigFile.exists()) {
- File dest = Utils.getSimpleDataFormattedFile(launcherConfigFile);
- if (!launcherConfigFile.renameTo(dest))
- throw new IOException("Fail to rename from (" + launcherConfigFile + ") to (" + dest + ")");
- Log.log(LogService.LOG_INFO, this, "saveConfigs()", "Succeed to rename from (" + launcherConfigFile + ") to (" + dest + ")");
- }
-
- BufferedWriter bw = null;
- try {
- bw = new BufferedWriter(new FileWriter(launcherConfigFile));
-
- String[] lines = this.getConfigFileLines(launcherData, launcherConfigFile, relative);
- String osgiInstallArea = getLauncher(lines) != null ? EquinoxManipulatorImpl.makeAbsolute(getLauncher(lines).getPath(), launcherData.getLauncher().getParentFile().getAbsolutePath()) : launcherData.getLauncher().getParentFile().getAbsolutePath();
- String resolveNextLine = null;
- for (int i = 0; i < lines.length; i++) {
- if (resolveNextLine != null) {
- lines[i] = EquinoxManipulatorImpl.makeRelative(lines[i], resolveNextLine);
- resolveNextLine = null;
- } else {
- resolveNextLine = needsPathResolution(lines[i], osgiInstallArea, launcherData.getLauncher().getParentFile().getAbsolutePath() + File.separator);
- //We don't write -configuration when it is the default value
- if (EquinoxConstants.OPTION_CONFIGURATION.equalsIgnoreCase(lines[i])) {
- resolveNextLine = null;
- if (new Path(lines[i + 1]).removeLastSegments(1).equals(new Path(osgiInstallArea))) {
- i++;
- continue;
- }
- Path configLocation = new Path(lines[i + 1]);
- Path osgiPath = new Path(osgiInstallArea);
- int commonSegments = osgiPath.matchingFirstSegments(configLocation.removeLastSegments(1));
- if (commonSegments == configLocation.segmentCount() - 1) {
- String path = "";
- for (int j = osgiPath.segmentCount() - commonSegments; j != 0; j--) {
- path += "../";
- }
- path += "configuration";
- lines[i + 1] = path;
- }
- }
- }
- bw.write(lines[i]);
- bw.newLine();
- }
- bw.flush();
- Log.log(LogService.LOG_INFO, "Launcher Config file is saved successfully into:" + launcherConfigFile);
- } finally {
- if (bw != null)
- bw.close();
- File previousLauncherIni = launcherData.getPreviousLauncherIni();
- if (previousLauncherIni != null && !previousLauncherIni.equals(launcherConfigFile))
- previousLauncherIni.delete();
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxBundlesState.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxBundlesState.java
deleted file mode 100644
index 3d4cdbf..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxBundlesState.java
+++ /dev/null
@@ -1,770 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.frameworkadmin.equinox;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.util.*;
-import org.eclipse.core.runtime.internal.adaptor.EclipseEnvironmentInfo;
-import org.eclipse.equinox.internal.frameworkadmin.equinox.utils.FileUtils;
-import org.eclipse.equinox.internal.frameworkadmin.utils.SimpleBundlesState;
-import org.eclipse.equinox.internal.frameworkadmin.utils.Utils;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.eclipse.osgi.framework.internal.core.FrameworkProperties;
-import org.eclipse.osgi.service.resolver.*;
-import org.osgi.framework.*;
-import org.osgi.service.log.LogService;
-
-public class EquinoxBundlesState implements BundlesState {
- static final long DEFAULT_TIMESTAMP = 0L;
- private static final boolean DEBUG = false;
- // While we recognize the amd64 architecture, we change
- // this internally to be x86_64.
- private static final String INTERNAL_AMD64 = "amd64"; //$NON-NLS-1$
- private static final String INTERNAL_ARCH_I386 = "i386"; //$NON-NLS-1$
- public static final String[] PROPS = {"osgi.os", "osgi.ws", "osgi.nl", "osgi.arch", Constants.FRAMEWORK_SYSTEMPACKAGES, "osgi.resolverMode", Constants.FRAMEWORK_EXECUTIONENVIRONMENT, "osgi.resolveOptional", "osgi.genericAliases"};
-
- static boolean checkFullySupported() {
- //TODO - This was previously doing a bogus check by attempting to instantiate a particular class - it's not clear what this is trying to do
- return true;
- }
-
- /**
- * eclipse.exe will launch a fw where plugins/org.eclipse.osgi_*.*.*.*.jar
- * is an implementation of fw.
- *
- * @param launcherData
- * @param configData
- * @return File of fwJar to be used.
- */
- static File getFwJar(LauncherData launcherData, ConfigData configData) {
- return getFwJar(launcherData, configData, true);
- //
- // // EclipseLauncherParser launcherParser = new
- // EclipseLauncherParser(launcherData);
- // // launcherParser.read();
- // if (launcherData.getFwJar() != null)
- // return launcherData.getFwJar();
- //
- // // check -D arguments of jvmArgs ?
- // String[] jvmArgs = launcherData.getJvmArgs();
- // String location = null;
- // for (int i = 0; i < jvmArgs.length; i++) {
- // if (jvmArgs[i].endsWith("-D" + "osgi.framework=")) {
- // location = jvmArgs[i].substring(("-D" + "osgi.framework=").length());
- // }
- // }
- // if (location != null)
- // return new File(location);
- //
- // File ret = getSystemBundleFromBundleInfos(launcherData, configData);
- // if (ret != null)
- // return ret;
- // return getSystemBundleBySearching(launcherData);
- }
-
- private static File getFwJar(LauncherData launcherData, ConfigData configData, boolean checkBundleInfos) {
- // EclipseLauncherParser launcherParser = new
- // EclipseLauncherParser(launcherData);
- // launcherParser.read();
- if (launcherData.getFwJar() != null) {
- return launcherData.getFwJar();
- }
-
- // check -D arguments of jvmArgs ?
- String[] jvmArgs = launcherData.getJvmArgs();
- String location = null;
- for (int i = 0; i < jvmArgs.length; i++) {
- if (jvmArgs[i].endsWith("-D" + "osgi.framework=")) {
- location = jvmArgs[i].substring(("-D" + "osgi.framework=").length());
- }
- }
- if (location != null) {
- return new File(location);
- }
-
- if (checkBundleInfos) {
- File ret = getSystemBundleFromBundleInfos(configData);
- if (ret != null) {
- return ret;
- }
- }
- return null;
- // return getSystemBundleBySearching(launcherData);
- }
-
- private static long getMaxId(State state) {
- BundleDescription[] bundleDescriptions = state.getBundles();
- long maxId = DEFAULT_TIMESTAMP;
- for (int i = 0; i < bundleDescriptions.length; i++)
- if (maxId < bundleDescriptions[i].getBundleId()) {
- maxId = bundleDescriptions[i].getBundleId();
- }
- return maxId;
- }
-
- // private static File getSystemBundleBySearching(LauncherData launcherData) {
- // File pluginsDir;
- // if (launcherData.getLauncher() == null) {
- // if (launcherData.getHome() == null)
- // return null;
- // pluginsDir = new File(launcherData.getHome(), "plugins");
- // } else {
- // pluginsDir = new File(launcherData.getLauncher().getParentFile(), "plugins");
- // }
- //
- // String fullLocation = FileUtils.getEclipsePluginFullLocation(EquinoxConstants.FW_SYMBOLIC_NAME, pluginsDir);
- // if (fullLocation == null)
- // return null;
- // URL url = null;
- // try {
- // url = new URL(fullLocation);
- // } catch (MalformedURLException e) {
- // // TODO Auto-generated catch block
- // Log.log(LogService.LOG_WARNING, "fullLocation is not in proper format:" + fullLocation);
- // }
- // return url == null ? null : new File(url.getFile());
- // }
-
- private static File getSystemBundleFromBundleInfos(BundleInfo[] bundleInfos) {
- for (int i = 0; i < bundleInfos.length; i++) {
- File match = isSystemBundle(bundleInfos[i]);
- if (match != null)
- return match;
- }
- return null;
- }
-
- private static File getSystemBundleFromBundleInfos(ConfigData configData) {
- BundleInfo[] bundleInfos = configData.getBundles();
- return getSystemBundleFromBundleInfos(bundleInfos);
- }
-
- static long getTimeStamp(File fwPersistentDataLocation) {
- if (fwPersistentDataLocation == null)
- return DEFAULT_TIMESTAMP;
-
- File file = new File(fwPersistentDataLocation, EquinoxConstants.PERSISTENT_DIR_NAME);
- if (!file.exists() || !file.isDirectory())
- return DEFAULT_TIMESTAMP;
- long ret = file.lastModified();
- File[] lists = file.listFiles();
- if (lists == null)
- return ret;
- for (int i = 0; i < lists.length; i++)
- if (ret < lists[i].lastModified())
- ret = lists[i].lastModified();
- return ret;
- }
-
- public static File isSystemBundle(BundleInfo bundleInfo) {
- if (bundleInfo == null || bundleInfo.getLocation() == null)
- return null;
- String bundleLocation = bundleInfo.getLocation();
- if (bundleLocation.startsWith(EquinoxConstants.REFERENCE))
- bundleLocation = bundleLocation.substring(EquinoxConstants.REFERENCE.length());
- if (bundleLocation.startsWith("file:")) {
- try {
- String[] clauses = Utils.getClausesManifestMainAttributes(bundleLocation, Constants.BUNDLE_SYMBOLICNAME);
- if (bundleLocation.indexOf(EquinoxConstants.FW_SYMBOLIC_NAME) > 0)
- if (EquinoxConstants.PERSISTENT_DIR_NAME.equals(Utils.getPathFromClause(clauses[0])))
- return new File(bundleLocation.substring("file:".length()));
- } catch (RuntimeException e) {
- e.printStackTrace();
- }
- }
-
- return null;
- }
-
- // "osgi.os", "osgi.ws", "osgi.nl", "osgi.arch",
- // Constants.FRAMEWORK_SYSTEMPACKAGES, "osgi.resolverMode",
- // Constants.FRAMEWORK_EXECUTIONENVIRONMENT, "osgi.resolveOptional"
- static Properties setDefaultPlatformProperties() {
- Properties platformProperties = new Properties();
- // set default value
-
- String nl = Locale.getDefault().toString();
- platformProperties.setProperty("osgi.nl", nl); //$NON-NLS-1$
-
- // TODO remove EclipseEnvironmentInof
- String os = EclipseEnvironmentInfo.guessOS(System.getProperty("os.name"));//$NON-NLS-1$);
- platformProperties.setProperty("osgi.os", os); //$NON-NLS-1$
-
- String ws = EclipseEnvironmentInfo.guessWS(os);
- platformProperties.setProperty("osgi.ws", ws);
-
- // if the user didn't set the system architecture with a command line
- // argument then use the default.
- String arch = null;
- String name = FrameworkProperties.getProperty("os.arch");//$NON-NLS-1$
- // Map i386 architecture to x86
- if (name.equalsIgnoreCase(INTERNAL_ARCH_I386))
- arch = org.eclipse.osgi.service.environment.Constants.ARCH_X86;
- // Map amd64 architecture to x86_64
- else if (name.equalsIgnoreCase(INTERNAL_AMD64))
- arch = org.eclipse.osgi.service.environment.Constants.ARCH_X86_64;
- else
- arch = name;
- platformProperties.setProperty("osgi.arch", arch); //$NON-NLS-1$
-
- platformProperties.setProperty(Constants.FRAMEWORK_SYSTEMPACKAGES, FrameworkProperties.getProperty(Constants.FRAMEWORK_SYSTEMPACKAGES));
- platformProperties.setProperty(Constants.FRAMEWORK_EXECUTIONENVIRONMENT, FrameworkProperties.getProperty(Constants.FRAMEWORK_EXECUTIONENVIRONMENT));
- platformProperties.setProperty("osgi.resolveOptional", "" + "true".equals(FrameworkProperties.getProperty("osgi.resolveOptional")));
- return platformProperties;
- }
-
- EquinoxFwAdminImpl fwAdmin = null;
-
- BundleContext context;
-
- Manipulator manipulator = null;
- Properties platfromProperties = new Properties();
-
- long maxId = DEFAULT_TIMESTAMP;
-
- StateObjectFactory soFactory = null;
-
- State state = null;
- private HashMap locationStateIndex = new HashMap();
- private HashMap nameVersionStateIndex = new HashMap();
-
- /**
- * If useFwPersistentData flag equals false, this constructor will not take
- * a framework persistent data into account. Otherwise, it will.
- *
- * @param context
- * @param fwAdmin
- * @param manipulator
- * @param useFwPersistentData
- */
- EquinoxBundlesState(BundleContext context, EquinoxFwAdminImpl fwAdmin, Manipulator manipulator, boolean useFwPersistentData) {
- this.context = context;
- this.fwAdmin = fwAdmin;
- // copy manipulator object for avoiding modifying the parameters of the
- // manipulator.
- this.manipulator = fwAdmin.getManipulator();
- this.manipulator.setConfigData(manipulator.getConfigData());
- this.manipulator.setLauncherData(manipulator.getLauncherData());
- initialize(useFwPersistentData);
- }
-
- /**
- * This constructor does NOT take a framework persistent data into account.
- * It will create State object based on the specified platformProperties.
- *
- * @param context
- * @param fwAdmin
- * @param manipulator
- * @param platformProperties
- */
- EquinoxBundlesState(BundleContext context, EquinoxFwAdminImpl fwAdmin, Manipulator manipulator, Properties platformProperties) {
- super();
- this.context = context;
- this.fwAdmin = fwAdmin;
- // copy manipulator object for avoiding modifying the parameters of the
- // manipulator.
- this.manipulator = fwAdmin.getManipulator();
- this.manipulator.setConfigData(manipulator.getConfigData());
- this.manipulator.setLauncherData(manipulator.getLauncherData());
- LauncherData launcherData = manipulator.getLauncherData();
- ConfigData configData = manipulator.getConfigData();
- BundleInfo[] bInfos = configData.getBundles();
- this.composeNewState(launcherData, configData, platformProperties, bInfos);
- }
-
- /**
- * compose new state without reading framework persistent data. The
- * configData.getFwDependentProps() is used for the composition.
- *
- * @param launcherData
- * @param configData
- * @param bInfos
- */
- private void composeNewState(LauncherData launcherData, ConfigData configData, BundleInfo[] bInfos) {
- this.composeNewState(launcherData, configData, configData.getFwDependentProps(), bInfos);
- }
-
- /**
- * compose new state without reading framework persistent data. The given
- * properties is used for the composition. If system bundle is not included
- * in the given bInfos, the fw jar launcherData contains will be used.
- *
- * @param launcherData
- * @param configData
- * @param properties
- * @param bInfos
- */
- private void composeNewState(LauncherData launcherData, ConfigData configData, Properties properties, BundleInfo[] bInfos) {
- //Note, there use to be a lot more code in this method
- File fwJar = getSystemBundleFromBundleInfos(configData);
- launcherData.setFwJar(fwJar);
- this.setFwJar(fwJar);
- composeState(configData.getBundles(), properties, null);
- resolve(true);
- }
-
- /**
- * compose state. If it cannot compose it by somehow, false is returned.
- *
- * @param bInfos
- * @param props
- * @param fwPersistentDataLocation
- * @return if it cannot compose it by somehow, false is returned.
- * @throws IllegalArgumentException
- * @throws FrameworkAdminRuntimeException
- */
- private boolean composeState(BundleInfo[] bInfos, Dictionary props, File fwPersistentDataLocation) throws IllegalArgumentException, FrameworkAdminRuntimeException {
- BundleInfo[] infos = manipulator.getConfigData().getBundles();
- this.manipulator.getConfigData().setBundles(null);
- SimpleBundlesState.checkAvailability(fwAdmin);
- this.setStateObjectFactory();
- state = null;
- boolean flagNewState = false;
- if (fwPersistentDataLocation != null) {
- //NOTE Here there was a big chunk of code reading the framework state persisted on disk
- // and I removed it because it was causing various problems. See in previous revision
- this.manipulator.getConfigData().setBundles(infos);
- return false;
- }
- state = soFactory.createState(true);
- createStateIndexes();
- flagNewState = true;
- if (props == null) {
- this.manipulator.getConfigData().setBundles(infos);
- return false;
- }
- setPlatformPropertiesToState(props);
- setPlatformProperties(state);
-
- try {
- maxId = state.getHighestBundleId();
- } catch (NoSuchMethodError e) {
- maxId = getMaxId(state);
- }
- if (DEBUG) {
- System.out.println("");
- Log.log(LogService.LOG_DEBUG, this, "composeExpectedState()", "installBundle():");
- }
- if (flagNewState) {
- int indexSystemBundle = -1;
- for (int j = 0; j < bInfos.length; j++)
- if (isSystemBundle(bInfos[j]) != null) {
- indexSystemBundle = j;
- break;
- }
-
- if (indexSystemBundle > 0) {
- BundleInfo[] newBundleInfos = new BundleInfo[bInfos.length];
- newBundleInfos[0] = bInfos[indexSystemBundle];
- System.arraycopy(bInfos, 0, newBundleInfos, 1, indexSystemBundle);
- if (indexSystemBundle < bInfos.length - 1)
- System.arraycopy(bInfos, indexSystemBundle + 1, newBundleInfos, indexSystemBundle + 1, bInfos.length - indexSystemBundle - 1);
- bInfos = newBundleInfos;
- }
- }
- for (int j = 0; j < bInfos.length; j++) {
- if (DEBUG)
- Log.log(LogService.LOG_DEBUG, this, "composeExpectedState()", "bInfos[" + j + "]=" + bInfos[j]);
- try {
- this.installBundle(bInfos[j]);
- // System.out.println("install bInfos[" + j + "]=" + bInfos[j]);
- } catch (RuntimeException e) {
- //catch the exception and continue
- Log.log(LogService.LOG_ERROR, this, "composeExpectedState()", "BundleInfo:" + bInfos[j], e);
- }
- }
- return true;
- }
-
- private BundleInfo convertSystemBundle(BundleDescription toConvert) {
- // Converting the System Bundle
- boolean markedAsStarted = false;
- int sl = BundleInfo.NO_LEVEL;
-
- String location = null;
- String symbolicNameTarget = toConvert.getSymbolicName();
- Version versionTarget = toConvert.getVersion();
- try {
- File fwJar = manipulator.getLauncherData().getFwJar();
- if (fwJar != null) {
- String fwJarLocation = fwJar.toURL().toExternalForm();
- String[] clauses = Utils.getClausesManifestMainAttributes(fwJarLocation, Constants.BUNDLE_SYMBOLICNAME);
- String fwJarSymbolicName = Utils.getPathFromClause(clauses[0]);
- String fwJarVersionSt = Utils.getManifestMainAttributes(fwJarLocation, Constants.BUNDLE_VERSION);
- if (fwJarSymbolicName.equals(symbolicNameTarget) && fwJarVersionSt.equals(versionTarget.toString())) {
- location = fwJarLocation;
- markedAsStarted = true;
- }
- }
- } catch (MalformedURLException e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- } catch (FrameworkAdminRuntimeException e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- }
- return createBundleInfo(toConvert, markedAsStarted, sl, location);
- }
-
- private BundleInfo createBundleInfo(BundleDescription toConvert, boolean markedAsStarted, int sl, String location) {
- BundleInfo result = new BundleInfo();
- result.setSymbolicName(toConvert.getSymbolicName());
- result.setVersion(toConvert.getVersion().toString());
- result.setLocation(location);
- result.setResolved(toConvert.isResolved());
- result.setMarkedAsStarted(markedAsStarted);
- result.setStartLevel(sl);
- result.setBundleId(toConvert.getBundleId());
- return result;
- }
-
- public BundleInfo[] convertState(BundleDescription[] bundles) {
- BundleInfo[] originalBInfos = manipulator.getConfigData().getBundles();
- Map bundleInfoMap = new HashMap();
- for (int i = 0; i < originalBInfos.length; i++) {
- bundleInfoMap.put(originalBInfos[i].getLocation(), originalBInfos[i]);
- }
-
- BundleInfo[] result = new BundleInfo[bundles.length];
- for (int i = 0; i < bundles.length; i++) {
- if (bundles[i].getBundleId() == 0 && EquinoxConstants.FW_SYMBOLIC_NAME.equals(bundles[i].getSymbolicName())) {
- result[i] = convertSystemBundle(bundles[i]);
- continue;
- }
-
- boolean markedAsStarted = false;
- int sl = BundleInfo.NO_LEVEL;
- String location = FileUtils.getEclipseRealLocation(manipulator, bundles[i].getLocation());
- BundleInfo original = (BundleInfo) bundleInfoMap.get(location);
- if (original != null) {
- markedAsStarted = original.isMarkedAsStarted();
- sl = getStartLevel(original.getStartLevel());
- }
- result[i] = createBundleInfo(bundles[i], markedAsStarted, sl, location);
- }
- return result;
- }
-
- public BundleInfo[] getExpectedState() throws FrameworkAdminRuntimeException {
- SimpleBundlesState.checkAvailability(fwAdmin);
- return convertState(state.getBundles());
- }
-
- Properties getPlatformProperties() {
- return platfromProperties;
- }
-
- public BundleInfo[] getPrerequisteBundles(BundleInfo bInfo) {
- Set set = new HashSet();
- String realLocation = FileUtils.getRealLocation(manipulator, bInfo.getLocation(), true);
- BundleDescription bundle = getBundleByLocation(realLocation);
- ImportPackageSpecification[] imports = bundle.getImportPackages();
- for (int i = 0; i < imports.length; i++) {
- BaseDescription supplier = imports[i].getSupplier();
- if (supplier == null) {
- if (!imports[i].getDirective(Constants.RESOLUTION_DIRECTIVE).equals(ImportPackageSpecification.RESOLUTION_OPTIONAL))
- throw new IllegalStateException("Internal error: import supplier should not be null");
- } else
- set.add(supplier.getSupplier());
- // System.out.println(supplier.getSupplier());
- }
- BundleDescription[] requires = bundle.getResolvedRequires();
- for (int i = 0; i < requires.length; i++) {
- set.add(requires[i]);
- }
- BundleDescription[] bundles = new BundleDescription[set.size()];
- set.toArray(bundles);
- return convertState(bundles);
- }
-
- private int getStartLevel(int startLevel) {
- return (startLevel == BundleInfo.NO_LEVEL ? manipulator.getConfigData().getInitialBundleStartLevel() : startLevel);
- }
-
- public BundleInfo getSystemBundle() {
- BundleDescription bundle = this.getSystemBundleDescription();
- return (bundle != null ? convertSystemBundle(bundle) : null);
- }
-
- private BundleDescription getSystemBundleDescription() {
- BundleDescription bundle = state.getBundle(0);
- if (bundle == null || bundle.getHost() != null) { // null or a
- // fragment bundle.
- return null;
- }
- // if (DEBUG) {
- // System.out.println("EquinoxConstants.FW_SYMBOLIC_NAME=" +
- // EquinoxConstants.FW_SYMBOLIC_NAME);
- // System.out.println("bundle.getSymbolicName()=" +
- // bundle.getSymbolicName());
- // }
- return (EquinoxConstants.FW_SYMBOLIC_NAME.equals(bundle.getSymbolicName()) ? bundle : null);
- }
-
- public BundleInfo[] getSystemFragmentedBundles() {
- BundleDescription bundle = this.getSystemBundleDescription();
- if (bundle == null)
- return null;
- return convertState(bundle.getFragments());
- }
-
- public String[] getUnsatisfiedConstraints(BundleInfo bInfo) {
- String realLocation = FileUtils.getRealLocation(manipulator, bInfo.getLocation(), true);
- BundleDescription description = getBundleByLocation(realLocation);
- PlatformAdmin platformAdmin = (PlatformAdmin) Activator.acquireService(PlatformAdmin.class.getName());
- StateHelper helper = platformAdmin.getStateHelper();
- VersionConstraint[] constraints = helper.getUnsatisfiedConstraints(description);
- String[] ret = new String[constraints.length];
- for (int i = 0; i < constraints.length; i++)
- ret[i] = constraints[i].toString();
- return ret;
- }
-
- private void initialize(boolean useFwPersistentData) {
- LauncherData launcherData = manipulator.getLauncherData();
- ConfigData configData = manipulator.getConfigData();
- BundleInfo[] bInfos = configData.getBundles();
-
- if (!useFwPersistentData) {
- composeNewState(launcherData, configData, bInfos);
- return;
- }
-
- EquinoxManipulatorImpl.checkConsistencyOfFwConfigLocAndFwPersistentDataLoc(launcherData);
- if (launcherData.isClean()) {
- composeNewState(launcherData, configData, bInfos);
- } else {
- if (manipulator.getLauncherData().getFwPersistentDataLocation() == null) {
- // TODO default value should be set more precisely.
- File installArea = null;
- String installAreaSt = configData.getFwDependentProp(EquinoxConstants.PROP_INSTALL);
- if (installAreaSt == null) {
- if (manipulator.getLauncherData().getLauncher() == null) {
- // TODO implement
- } else {
- installArea = manipulator.getLauncherData().getLauncher().getParentFile();
- }
- } else {
- if (installAreaSt.startsWith("file:"))
- installArea = new File(installAreaSt.substring("file:".length()));
- else
- throw new IllegalStateException("Current implementation assume that property value keyed by " + EquinoxConstants.PROP_INSTALL + " must start with \"file:\". But it was not:" + installAreaSt);
- }
- if (DEBUG)
- Log.log(LogService.LOG_DEBUG, this, "initialize(useFwPersistentDat)", "installArea=" + installArea);
- File fwPersistentDataLocation = new File(installArea, "configuration");
- manipulator.getLauncherData().setFwPersistentDataLocation(fwPersistentDataLocation, false);
- }
- if (!composeState(bInfos, null, manipulator.getLauncherData().getFwPersistentDataLocation()))
- composeNewState(launcherData, configData, bInfos);
- resolve(true);
- // if(this.getSystemBundle()==null)
- }
- }
-
- public void installBundle(BundleInfo bInfo) throws FrameworkAdminRuntimeException {
- SimpleBundlesState.checkAvailability(fwAdmin);
-
- String realLocation = FileUtils.getRealLocation(manipulator, bInfo.getLocation(), true);
- if (getBundleByLocation(realLocation) != null)
- return;
-
- Dictionary manifest = Utils.getOSGiManifest(realLocation);
- if (manifest == null)
- return;
-
- String newSymbolicName = (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME);
- int position = newSymbolicName.indexOf(";"); //$NON-NLS-1$
- if (position >= 0)
- newSymbolicName = newSymbolicName.substring(0, position).trim();
- String newVersion = (String) manifest.get(Constants.BUNDLE_VERSION);
-
- if (getBundleByNameVersion(newSymbolicName, newVersion) != null)
- return;
-
- try {
- bInfo.setBundleId(++maxId);
- BundleDescription newBundleDescription = soFactory.createBundleDescription(state, manifest, realLocation, bInfo.getBundleId());
- addBundleToState(newBundleDescription);
- manipulator.getConfigData().addBundle(bInfo);
- } catch (BundleException e) {
- Log.log(LogService.LOG_WARNING, this, "installBundle(BundleInfo)", e);
- }
- }
-
- public boolean isFullySupported() {
- return true;
- }
-
- public boolean isResolved() {
- return state.isResolved();
- }
-
- public boolean isResolved(BundleInfo bInfo) {
- String realLocation = FileUtils.getRealLocation(manipulator, bInfo.getLocation(), true);
- BundleDescription description = getBundleByLocation(realLocation);
- if (description == null)
- return false;
- return description.isResolved();
- }
-
- public void resolve(boolean increment) {
- state.resolve(increment);
- }
-
- void setFwJar(File fwJar) {
- manipulator.getLauncherData().setFwJar(fwJar);
- }
-
- /**
- * get platforme properties from the given state.
- *
- * @param state
- */
- private void setPlatformProperties(State state) {
- Dictionary platformProperties = state.getPlatformProperties()[0];
- platfromProperties.clear();
- if (platformProperties != null) {
- for (Enumeration enumeration = platformProperties.keys(); enumeration.hasMoreElements();) {
- String key = (String) enumeration.nextElement();
- Object value = platformProperties.get(key);
- platfromProperties.setProperty(key, (String) value);
- }
- }
- if (DEBUG)
- Utils.printoutProperties(System.out, "PlatformProperties[0]", platfromProperties);
- }
-
- /**
- * set platfromProperties required to compose state object into
- * platformProperties of this state.
- *
- * @param props
- */
- private void setPlatformPropertiesToState(Dictionary props) {
- Properties platformProperties = setDefaultPlatformProperties();
-
- for (Enumeration enumeration = props.keys(); enumeration.hasMoreElements();) {
- String key = (String) enumeration.nextElement();
- for (int i = 0; i < PROPS.length; i++) {
- if (key.equals(PROPS[i])) {
- platformProperties.put(key, props.get(key));
- break;
- }
- }
- }
- state.setPlatformProperties(platformProperties);
- }
-
- private void setStateObjectFactory() {
- if (soFactory != null)
- return;
- PlatformAdmin platformAdmin = (PlatformAdmin) Activator.acquireService(PlatformAdmin.class.getName());
- // PlatformAdmin platformAdmin = (PlatformAdmin)
- // heBundleHelper.getDefault().acquireService(PlatformAdmin.class.getName());
- soFactory = platformAdmin.getFactory();
- }
-
- public String toString() {
- if (state == null)
- return null;
- StringBuffer sb = new StringBuffer();
- BundleDescription[] bundleDescriptions = state.getBundles();
- for (int i = 0; i < bundleDescriptions.length; i++) {
- sb.append(bundleDescriptions[i].getBundleId() + ":");
- sb.append(bundleDescriptions[i].toString() + "(");
- sb.append(bundleDescriptions[i].isResolved() + ")");
- String[] ees = bundleDescriptions[i].getExecutionEnvironments();
- for (int j = 0; j < ees.length; j++)
- sb.append(ees[j] + " ");
- sb.append("\n");
- }
- sb.append("PlatformProperties:\n");
- Dictionary[] dics = state.getPlatformProperties();
- for (int i = 0; i < dics.length; i++) {
- for (Enumeration enumeration = dics[i].keys(); enumeration.hasMoreElements();) {
- String key = (String) enumeration.nextElement();
- String value = (String) dics[i].get(key);
- sb.append(" (" + key + "," + value + ")\n");
- }
- }
- sb.append("\n");
- return sb.toString();
- }
-
- public void uninstallBundle(BundleInfo bInfo) throws FrameworkAdminRuntimeException {
- SimpleBundlesState.checkAvailability(fwAdmin);
- long id = DEFAULT_TIMESTAMP;
- String realLocation = FileUtils.getRealLocation(manipulator, bInfo.getLocation(), true);
- BundleDescription bundle = getBundleByLocation(realLocation);
- if (bundle != null)
- id = bundle.getBundleId();
-
- if (id != DEFAULT_TIMESTAMP) {
- try {
- Dictionary manifest = Utils.getOSGiManifest(bInfo.getLocation());
- if (manifest == null) {
- Log.log(LogService.LOG_WARNING, this, "uninstallBundle(BundleInfo)", "Unable to get bundle manifest for: " + bInfo.getLocation());
- return;
- }
- BundleDescription bundleDescription = soFactory.createBundleDescription(state, manifest, realLocation, id);
- removeBundleFromState(bundleDescription);
- manipulator.getConfigData().removeBundle(bInfo);
- } catch (BundleException e) {
- Log.log(LogService.LOG_WARNING, this, "uninstallBundle(BundleInfo)", e);
- // throw new ManipulatorException("Fail to
- // createBundleDescription of bInfo:" + bInfo.toString(), e,
- // ManipulatorException.OTHERS);
- }
- }
- }
-
- private BundleDescription getBundleByLocation(String location) {
- return (BundleDescription) locationStateIndex.get(location);
- }
-
- private BundleDescription getBundleByNameVersion(String bundleSymbolicName, String bundleVersion) {
- return (BundleDescription) nameVersionStateIndex.get(bundleSymbolicName + ";" + bundleVersion);
- }
-
- private void createStateIndexes() {
- BundleDescription[] currentInstalledBundles = state.getBundles();
- for (int i = 0; i < currentInstalledBundles.length; i++) {
- String location = FileUtils.getRealLocation(manipulator, currentInstalledBundles[i].getLocation(), true);
- locationStateIndex.put(location, currentInstalledBundles[i]);
-
- String symbolicName = currentInstalledBundles[i].getSymbolicName();
- String version = currentInstalledBundles[i].getVersion().toString();
- nameVersionStateIndex.put(symbolicName + ";" + version, currentInstalledBundles[i]); //$NON-NLS-1$
- }
- }
-
- private void addBundleToState(BundleDescription bundleDescription) {
- state.addBundle(bundleDescription);
- String location = FileUtils.getRealLocation(manipulator, bundleDescription.getLocation(), true);
- locationStateIndex.put(location, bundleDescription);
-
- String symbolicName = bundleDescription.getSymbolicName();
- String version = bundleDescription.getVersion().toString();
- nameVersionStateIndex.put(symbolicName + ";" + version, bundleDescription); //$NON-NLS-1$
- }
-
- private void removeBundleFromState(BundleDescription bundleDescription) {
- String location = FileUtils.getRealLocation(manipulator, bundleDescription.getLocation(), true);
- locationStateIndex.remove(location);
-
- String symbolicName = bundleDescription.getSymbolicName();
- String version = bundleDescription.getVersion().toString();
- nameVersionStateIndex.remove(symbolicName + ";" + version); //$NON-NLS-1$
- state.removeBundle(bundleDescription);
- }
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxConstants.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxConstants.java
deleted file mode 100644
index f02b86f..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxConstants.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.frameworkadmin.equinox;
-
-public class EquinoxConstants {
-
- /**
- * If BundleContext#getProperty(PROP_KEY_USE_REFERENCE) does not equal "false",
- * Manipulator#save() will add "reference:" to any bundle location specified osgi.bundles in order to avoid
- * caching its bundle jar. Otherwise, it will add nothing to any bundle location.
- */
- public static final String PROP_KEY_USE_REFERENCE = "org.eclipse.equinox.frameworkadmin.equinox.useReference"; //$NON-NLS-1$
-
- public static final String PLUGINS_DIR = "plugins"; //$NON-NLS-1$
- public final static String FW_SYMBOLIC_NAME = "org.eclipse.osgi"; //$NON-NLS-1$
- public static final String DEFAULT_CONFIGURATION = "configuration"; //$NON-NLS-1$
- public static final String CONFIG_INI = "config.ini"; //$NON-NLS-1$
-
- public final static String FW_VERSION = "3.3"; //$NON-NLS-1$
- public final static String FW_NAME = "Equinox"; //$NON-NLS-1$
- public final static String LAUNCHER_VERSION = "3.2"; //$NON-NLS-1$
- public final static String LAUNCHER_NAME = "Eclipse.exe"; //$NON-NLS-1$
-
- public static final String OPTION_CONFIGURATION = "-configuration"; //$NON-NLS-1$
- public static final String OPTION_FW = "-framework"; //$NON-NLS-1$
- public static final String OPTION_VM = "-vm"; //$NON-NLS-1$
- public static final String OPTION_VMARGS = "-vmargs"; //$NON-NLS-1$
- public static final String OPTION_CLEAN = "-clean"; //$NON-NLS-1$
- public static final String OPTION_STARTUP = "-startup"; //$NON-NLS-1$
- public static final String OPTION_SHOWSPLASH = "-showsplash"; //$NON-NLS-1$
-
- // System properties
- public static final String PROP_BUNDLES = "osgi.bundles"; //$NON-NLS-1$
- public static final String PROP_BUNDLES_STARTLEVEL = "osgi.bundles.defaultStartLevel"; //$NON-NLS-1$ //The start level used to install the bundles
- public static final String PROP_INITIAL_STARTLEVEL = "osgi.startLevel"; //$NON-NLS-1$ //The start level when the fwl start
- public static final String PROP_INSTALL = "osgi.install"; //$NON-NLS-1$
- public static final String PROP_ECLIPSE_COMMANDS = "eclipse.commands"; //$NON-NLS-1$
- public static final String PROP_OSGI_FW = "osgi.framework"; //$NON-NLS-1$
- public static final String PROP_LAUNCHER_PATH = "osgi.launcherPath"; //$NON-NLS-1$
- public static final String PROP_LAUNCHER_NAME = "osgi.launcherIni"; //$NON-NLS-1$
- public static final String PROP_SHARED_CONFIGURATION_AREA = "osgi.sharedConfiguration.area"; //$NON-NLS-1$
-
- public static final String INI_EXTENSION = ".ini"; //$NON-NLS-1$
- public static final String EXE_EXTENSION = ".exe"; //$NON-NLS-1$
-
- public static final String PROP_EQUINOX_DEPENDENT_PREFIX = "osgi."; //$NON-NLS-1$
- static final String REFERENCE = "reference:"; //$NON-NLS-1$
- public static final String PERSISTENT_DIR_NAME = "org.eclipse.osgi"; //$NON-NLS-1$
-
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxFrameworkAdminFactoryImpl.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxFrameworkAdminFactoryImpl.java
deleted file mode 100644
index 7298905..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxFrameworkAdminFactoryImpl.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.frameworkadmin.equinox;
-
-import org.eclipse.equinox.internal.provisional.configuratormanipulator.ConfiguratorManipulatorFactory;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.FrameworkAdmin;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.FrameworkAdminFactory;
-
-public class EquinoxFrameworkAdminFactoryImpl extends FrameworkAdminFactory {
- public FrameworkAdmin createFrameworkAdmin() throws InstantiationException, IllegalAccessException, ClassNotFoundException {
- String className = System.getProperty(ConfiguratorManipulatorFactory.SYSTEM_PROPERTY_KEY);
- if (className == null)
- return new EquinoxFwAdminImpl();
- return new EquinoxFwAdminImpl(className);
- }
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxFwAdminImpl.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxFwAdminImpl.java
deleted file mode 100644
index c82363d..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxFwAdminImpl.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.frameworkadmin.equinox;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Dictionary;
-import org.eclipse.equinox.internal.frameworkadmin.equinox.utils.EclipseVersion;
-import org.eclipse.equinox.internal.provisional.configuratormanipulator.ConfiguratorManipulator;
-import org.eclipse.equinox.internal.provisional.configuratormanipulator.ConfiguratorManipulatorFactory;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.Constants;
-
-public class EquinoxFwAdminImpl implements FrameworkAdmin {
-
- /**
- * If both the vendor and the Bundle-Version in the manifest match,
- * return true. Otherwise false.
- *
- * @return flag true if the ManipulatorAdmin object can handle currently running fw launch.
- */
- static boolean isRunningFw(BundleContext context) {
- //TODO implementation for Eclipse.exe and for Equinox
- String fwVendor = context.getProperty(Constants.FRAMEWORK_VENDOR);
- if (!"Eclipse".equals(fwVendor))
- return false;
- //TODO decide if this version can be supported by this bundle.
- Dictionary header = context.getBundle(0).getHeaders();
- String versionSt = (String) header.get("Bundle-Version");
- EclipseVersion version = new EclipseVersion(versionSt);
- int value = version.compareTo(new EclipseVersion(EquinoxConstants.FW_VERSION));
- if (value > 0) {
- return true;
- }
- // TODO need to identify the version of eclipse.exe used for this launch, if used.
-
- // String eclipseCommandsSt = context.getProperty(EquinoxConstants.PROP_ECLIPSE_COMMANDS);
- // StringTokenizer tokenizer = new StringTokenizer(eclipseCommandsSt,"\n");
- return false;
- }
-
- BundleContext context = null;
-
- boolean active = false;
-
- private boolean runningFw = false;
- private ConfiguratorManipulator configuratorManipulator = null;
-
- // private String configuratorManipulatorFactoryName = null;
-
- EquinoxFwAdminImpl() {
- this(null, false);
- }
-
- EquinoxFwAdminImpl(BundleContext context) {
- this(context, false);
- }
-
- EquinoxFwAdminImpl(String configuratorManipulatorFactoryName) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
- this.context = null;
- this.active = true;
- this.runningFw = false;
- // this.configuratorManipulatorFactoryName = configuratorManipulatorFactoryName;
- loadConfiguratorManipulator(configuratorManipulatorFactoryName);
- }
-
- private void loadConfiguratorManipulator(String configuratorManipulatorFactoryName) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
- if (configuratorManipulatorFactoryName == null)
- this.configuratorManipulator = null;
- else
- this.configuratorManipulator = ConfiguratorManipulatorFactory.getInstance(configuratorManipulatorFactoryName);
- return;
- }
-
- EquinoxFwAdminImpl(BundleContext context, boolean runningFw) {
- this.context = context;
- this.active = true;
- this.runningFw = runningFw;
- }
-
- void deactivate() {
- active = false;
- }
-
- public Manipulator getManipulator() {
- return new EquinoxManipulatorImpl(context, this);
- }
-
- public Manipulator getRunningManipulator() {
- if (this.runningFw)
- return new EquinoxManipulatorImpl(context, this, true);
- return null;
- }
-
- public boolean isActive() {
- return active;
- }
-
- public Process launch(Manipulator manipulator, File cwd) throws IllegalArgumentException, FrameworkAdminRuntimeException, IOException {
- //return new EclipseLauncherImpl(context, this).launch(manipulator, cwd);
- return new EclipseLauncherImpl(this).launch(manipulator, cwd);
- }
-
- public ConfiguratorManipulator getConfiguratorManipulator() {
- return configuratorManipulator;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxFwConfigFileParser.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxFwConfigFileParser.java
deleted file mode 100644
index 23cc06d..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxFwConfigFileParser.java
+++ /dev/null
@@ -1,565 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.frameworkadmin.equinox;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Enumeration;
-import java.util.Properties;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.equinox.internal.frameworkadmin.equinox.utils.FileUtils;
-import org.eclipse.equinox.internal.frameworkadmin.utils.Utils;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.BundleContext;
-import org.osgi.service.log.LogService;
-
-public class EquinoxFwConfigFileParser {
- private static final String CONFIG_DIR = "@config.dir/"; //$NON-NLS-1$
- private static final String KEY_ECLIPSE_PROV_CACHE = "eclipse.p2.cache"; //$NON-NLS-1$
- private static final String KEY_ECLIPSE_PROV_DATA_AREA = "eclipse.p2.data.area"; //$NON-NLS-1$
- private static final String KEY_ORG_ECLIPSE_EQUINOX_SIMPLECONFIGURATOR_CONFIGURL = "org.eclipse.equinox.simpleconfigurator.configUrl"; //$NON-NLS-1$
- private static final String KEY_OSGI_BUNDLES = "osgi.bundles"; //$NON-NLS-1$
- private static final String KEY_OSGI_FRAMEWORK = "osgi.framework"; //$NON-NLS-1$
- private static final String KEY_OSGI_LAUNCHER_PATH = "osgi.launcherPath"; //$NON-NLS-1$
- private static final String[] PATHS = new String[] {KEY_OSGI_LAUNCHER_PATH, KEY_ECLIPSE_PROV_CACHE};
-
- private static boolean DEBUG = false;
- private static String USE_REFERENCE_STRING = null;
-
- public EquinoxFwConfigFileParser(BundleContext context) {
- if (context != null)
- USE_REFERENCE_STRING = context.getProperty(EquinoxConstants.PROP_KEY_USE_REFERENCE);
-
- }
-
- private static String getCommandLine(BundleInfo bundleInfo, final URL baseUrl) {
- String location = bundleInfo.getLocation();
- if (location == null)
- return null;
- boolean useReference = true;
- if (location.startsWith("file:")) { //$NON-NLS-1$
- if (USE_REFERENCE_STRING != null && USE_REFERENCE_STRING.equals("false")) //$NON-NLS-1$
- useReference = false;
- }
-
- try {
- new URL(location);
- } catch (MalformedURLException e) {
- Log.log(LogService.LOG_ERROR, "EquinoxFwConfigFileParser.getCommandLine():bundleInfo=" + bundleInfo, e); //$NON-NLS-1$
- // Never happen. ignore.
- }
- if (useReference)
- if (!location.startsWith("reference:")) //$NON-NLS-1$
- location = "reference:" + location; //$NON-NLS-1$
-
- int startLevel = bundleInfo.getStartLevel();
- boolean toBeStarted = bundleInfo.isMarkedAsStarted();
-
- StringBuffer sb = new StringBuffer();
- // if (baseUrl != null && bundleUrl.getProtocol().equals("file")) {
- // String bundlePath = bundleUrl.toString();
- // bundlePath = Utils.getRelativePath(bundleUrl, baseUrl);
- // sb.append(bundlePath);
- // } else
- sb.append(location);
- if (startLevel == BundleInfo.NO_LEVEL && !toBeStarted)
- return sb.toString();
- sb.append('@');
- if (startLevel != BundleInfo.NO_LEVEL)
- sb.append(startLevel);
- if (toBeStarted)
- sb.append(":start"); //$NON-NLS-1$
- return sb.toString();
- }
-
- private static Properties getConfigProps(BundleInfo[] bInfos, ConfigData configData, LauncherData launcherData, boolean relative, File fwJar) {
- Properties props = new Properties();
-
- if (configData.getInitialBundleStartLevel() != BundleInfo.NO_LEVEL)
- props.setProperty(EquinoxConstants.PROP_BUNDLES_STARTLEVEL, Integer.toString(configData.getInitialBundleStartLevel()));
- if (configData.getBeginingFwStartLevel() != BundleInfo.NO_LEVEL)
- props.setProperty(EquinoxConstants.PROP_INITIAL_STARTLEVEL, Integer.toString(configData.getBeginingFwStartLevel()));
-
- final File launcher = launcherData.getLauncher();
- if (launcher != null) {
- String launcherName = launcher.getName();
- if (launcherName.endsWith(EquinoxConstants.EXE_EXTENSION)) {
- props.setProperty(EquinoxConstants.PROP_LAUNCHER_NAME, launcherName.substring(0, launcherName.lastIndexOf(EquinoxConstants.EXE_EXTENSION)));
- props.setProperty(EquinoxConstants.PROP_LAUNCHER_PATH, launcher.getParentFile().getAbsolutePath());
- }
- }
-
- String fwJarSt = null;
- try {
- if (fwJar != null) {
- fwJarSt = fwJar.toURL().toExternalForm();
- }
- } catch (MalformedURLException e) {
- // Never happens
- e.printStackTrace();
- }
-
- if (bInfos != null) {
- StringBuffer sb = new StringBuffer();
- for (int i = 0; i < bInfos.length; i++) {
- normalizeLocation(bInfos[i]);
- if (fwJarSt != null && fwJarSt.equals(bInfos[i].getLocation()))
- continue; //framework jar should not appear in the bundles list
- sb.append(getCommandLine(bInfos[i], null));
- if (i + 1 < bInfos.length)
- sb.append(',');
- }
- props.setProperty(EquinoxConstants.PROP_BUNDLES, sb.toString());
-
- }
- //TODO The following merging operations are suspicious.
- props = Utils.appendProperties(props, configData.getFwIndependentProps());
-
- props = Utils.appendProperties(props, configData.getFwDependentProps());
-
- //Deal with the fw jar and ensure it is not set.
- //TODO This can't be done before because of the previous calls to appendProperties
- if (fwJarSt != null)
- props.setProperty(EquinoxConstants.PROP_OSGI_FW, fwJarSt /* fwJar.getAbsolutePath() */);
- else
- props.remove(EquinoxConstants.PROP_OSGI_FW);
-
- return props;
- }
-
- private static boolean getMarkedAsStartedFormat(String msg, String original) {
- if (msg == null)
- return false;
- msg = msg.trim();
- int colon = msg.indexOf(":"); //$NON-NLS-1$
- if (colon > -1) {
- return msg.substring(colon + 1).equals("start"); //$NON-NLS-1$
- }
- return msg.equals("start"); //$NON-NLS-1$
- }
-
- private static int getStartLevel(String msg, String original) {
- if (msg == null)
- return BundleInfo.NO_LEVEL;
- msg = msg.trim();
- int colon = msg.indexOf(":"); //$NON-NLS-1$
- if (colon > 0) {
- try {
- return Integer.parseInt(msg.substring(0, colon));
- } catch (NumberFormatException e) {
- return BundleInfo.NO_LEVEL;
- }
- }
- return BundleInfo.NO_LEVEL;
- }
-
- static boolean isFwDependent(String key) {
- // TODO This algorithm is temporal.
- if (key.startsWith(EquinoxConstants.PROP_EQUINOX_DEPENDENT_PREFIX))
- return true;
- return false;
- }
-
- private static void normalizeLocation(BundleInfo bInfo) {
- String location = bInfo.getLocation();
- try {
- if (location.startsWith("file:")) { //$NON-NLS-1$
- bInfo.setLocation(new URL(location).toExternalForm());
- } else {
- bInfo.setLocation(new File(location).toURL().toExternalForm());
- }
- } catch (MalformedURLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- // location = location.substring("file:".length());
- // if (!location.startsWith("/"))
- // location = "/" + location;
- // // if (fwJarSt != null)
- // // if (fwJarSt.equals(location))
- // // continue;
- // location = Utils.replaceAll(location, File.separator, "/");
- // //String jarName = location.substring(location.lastIndexOf("/") + 1);
- // // if (jarName.startsWith(EquinoxConstants.FW_JAR_PLUGIN_NAME))
- // // continue;
- // bInfo.setLocation("file:" + location);
- // }
- }
-
- /**
- * @param value
- */
- private static void setInstallingBundles(Manipulator manipulator, String value) throws NumberFormatException {
- ConfigData configData = manipulator.getConfigData();
- if (value != null) {
- String[] bInfoStrings = Utils.getTokens(value, ","); //$NON-NLS-1$
- for (int i = 0; i < bInfoStrings.length; i++) {
- String token = bInfoStrings[i].trim();
- token = FileUtils.getRealLocation(manipulator, token, false).trim();
-
- int indexI = token.indexOf("@"); //$NON-NLS-1$
- String location = (indexI == -1) ? token : token.substring(0, indexI);
- String realLocation = FileUtils.getEclipseRealLocation(manipulator, location);
- String slAndFlag = (indexI > -1) ? token.substring(indexI + 1) : null;
-
- boolean markedAsStarted = getMarkedAsStartedFormat(slAndFlag, token);
- int startLevel = getStartLevel(slAndFlag, token);
-
- if (realLocation != null)
- configData.addBundle(new BundleInfo(realLocation, startLevel, markedAsStarted));
- else
- configData.addBundle(new BundleInfo(location, null, null, startLevel, markedAsStarted));
- }
- }
- }
-
- /**
- * inputFile must be not a directory but a file.
- *
- * @param manipulator
- * @param inputFile
- * @throws IOException
- */
- public void readFwConfig(Manipulator manipulator, File inputFile) throws IOException {
- if (inputFile.isDirectory())
- throw new IllegalArgumentException(NLS.bind(Messages.exception_inputFileIsDirectory, inputFile));
-
- //Initialize data structures
- ConfigData configData = manipulator.getConfigData();
- LauncherData launcherData = manipulator.getLauncherData();
- configData.initialize();
-
- // load configuration properties
- Properties props = loadProperties(inputFile);
-
- //Start figuring out stuffs
- URL rootURL = launcherData.getLauncher() != null ? launcherData.getLauncher().getParentFile().toURL() : null;
-
- Properties sharedConfigProperties = getSharedConfiguration(props.getProperty(EquinoxConstants.PROP_SHARED_CONFIGURATION_AREA), getOSGiInstallArea(manipulator.getLauncherData()));
- if (sharedConfigProperties != null) {
- sharedConfigProperties.putAll(props);
- props = sharedConfigProperties;
- }
-
- //Extracting fwkJar location needs to be done first
- String launcherName = null;
- String launcherPath = null;
- configData.setBundles(null);
-
- File fwJar = null;
- if (props.getProperty(EquinoxConstants.PROP_OSGI_FW) != null) {
- props.setProperty(KEY_OSGI_FRAMEWORK, EquinoxManipulatorImpl.makeAbsolute(props.getProperty(EquinoxConstants.PROP_OSGI_FW), getOSGiInstallArea(launcherData).toURL()));
- String fwJarString = props.getProperty(KEY_OSGI_FRAMEWORK);
- if (fwJarString != null) {
- fwJar = new File(new URL(fwJarString).getFile());
- launcherData.setFwJar(fwJar);
- configData.addBundle(new BundleInfo(fwJarString));
- }
- }
-
- props = makeAbsolute(props, rootURL, fwJar, inputFile.getParentFile(), getOSGiInstallArea(manipulator.getLauncherData()));
- for (Enumeration enumeration = props.keys(); enumeration.hasMoreElements();) {
- String key = (String) enumeration.nextElement();
- String value = props.getProperty(key);
- if (key.equals(EquinoxConstants.PROP_BUNDLES_STARTLEVEL))
- configData.setInitialBundleStartLevel(Integer.parseInt(value));
- else if (key.equals(EquinoxConstants.PROP_INITIAL_STARTLEVEL)) {
- configData.setBeginningFwStartLevel(Integer.parseInt(value));
- } else if (key.equals(EquinoxConstants.PROP_BUNDLES)) {
- setInstallingBundles(manipulator, value);
- } else {
- if (isFwDependent(key)) {
- configData.setFwDependentProp(key, value);
- } else
- configData.setFwIndependentProp(key, value);
- if (key.equals(EquinoxConstants.PROP_LAUNCHER_NAME))
- if (launcherData.getLauncher() == null)
- launcherName = value;
- if (key.equals(EquinoxConstants.PROP_LAUNCHER_PATH))
- if (launcherData.getLauncher() == null)
- launcherPath = value;
- }
- }
- if (launcherName != null && launcherPath != null) {
- launcherData.setLauncher(new File(launcherPath, launcherName + EquinoxConstants.EXE_EXTENSION));
- }
-
- Log.log(LogService.LOG_INFO, NLS.bind(Messages.log_configFile, inputFile.getAbsolutePath()));
- }
-
- private static Properties loadProperties(File inputFile) throws FileNotFoundException, IOException {
- Properties props = new Properties();
- InputStream is = null;
- try {
- is = new FileInputStream(inputFile);
- props.load(is);
- } finally {
- try {
- is.close();
- } catch (IOException e) {
- Log.log(LogService.LOG_WARNING, NLS.bind(Messages.log_failed_reading_properties, inputFile));
- }
- is = null;
- }
- return props;
- }
-
- private File findSharedConfigIniFile(URL rootURL, String sharedConfigurationArea) {
- URL sharedConfigurationURL = null;
- try {
- sharedConfigurationURL = new URL(sharedConfigurationArea);
- } catch (MalformedURLException e) {
- // unexpected since this was written by the framework
- Log.log(LogService.LOG_WARNING, NLS.bind(Messages.log_shared_config_url, sharedConfigurationArea));
- return null;
- }
-
- // check for a relative URL
- if (!sharedConfigurationURL.getPath().startsWith("/")) { //$NON-NLS-1$
- if (!rootURL.getProtocol().equals(sharedConfigurationURL.getProtocol())) {
- Log.log(LogService.LOG_WARNING, NLS.bind(Messages.log_shared_config_relative_url, rootURL.toExternalForm(), sharedConfigurationArea));
- return null;
- }
- try {
- sharedConfigurationURL = new URL(rootURL, sharedConfigurationArea);
- } catch (MalformedURLException e) {
- // unexpected since this was written by the framework
- Log.log(LogService.LOG_WARNING, NLS.bind(Messages.log_shared_config_relative_url, rootURL.toExternalForm(), sharedConfigurationArea));
- return null;
- }
- }
- File sharedConfigurationFolder = new File(sharedConfigurationURL.getPath());
- if (!sharedConfigurationFolder.isDirectory()) {
- Log.log(LogService.LOG_WARNING, NLS.bind(Messages.log_shared_config_file_missing, sharedConfigurationFolder));
- return null;
- }
-
- File sharedConfigIni = new File(sharedConfigurationFolder, EquinoxConstants.CONFIG_INI);
- if (!sharedConfigIni.exists()) {
- Log.log(LogService.LOG_WARNING, NLS.bind(Messages.log_shared_config_file_missing, sharedConfigIni));
- return null;
- }
-
- return sharedConfigIni;
- }
-
- private static Properties makeRelative(Properties props, URL rootURL, File fwJar, File configArea, File osgiInstallArea) throws IOException {
- for (int i = 0; i < PATHS.length; i++) {
- String path = props.getProperty(PATHS[i]);
- if (path != null)
- props.put(PATHS[i], EquinoxManipulatorImpl.makeRelative(path, rootURL.getFile()));
- }
-
- if (props.getProperty(KEY_OSGI_FRAMEWORK) != null && osgiInstallArea != null) {
- props.put(KEY_OSGI_FRAMEWORK, EquinoxManipulatorImpl.makeRelative(props.getProperty(KEY_OSGI_FRAMEWORK), osgiInstallArea.toURL()));
- }
-
- if (props.getProperty(KEY_ORG_ECLIPSE_EQUINOX_SIMPLECONFIGURATOR_CONFIGURL) != null) {
- props.put(KEY_ORG_ECLIPSE_EQUINOX_SIMPLECONFIGURATOR_CONFIGURL, EquinoxManipulatorImpl.makeRelative(props.getProperty(KEY_ORG_ECLIPSE_EQUINOX_SIMPLECONFIGURATOR_CONFIGURL), configArea.toURL()));
- }
-
- if (props.getProperty(KEY_ECLIPSE_PROV_DATA_AREA) != null) {
- String url = props.getProperty(KEY_ECLIPSE_PROV_DATA_AREA);
- if (url != null) {
- String result = EquinoxManipulatorImpl.makeRelative(url, configArea.toURL());
- //We only relativize up to the level where the p2 and config folder are siblings (e.g. foo/p2 and foo/config)
- if (result.startsWith("file:../..")) //$NON-NLS-1$
- result = url;
- else if (!result.equals(url) && result.startsWith("file:")) //$NON-NLS-1$
- result = CONFIG_DIR + result.substring(5);
- props.put(KEY_ECLIPSE_PROV_DATA_AREA, result);
- }
- }
-
- String value = props.getProperty(KEY_OSGI_BUNDLES);
- if (value != null && fwJar != null) {
- File parent = fwJar.getParentFile();
- if (parent != null)
- props.setProperty(KEY_OSGI_BUNDLES, EquinoxManipulatorImpl.makeArrayRelative(value, parent.toURL()));
- }
- return props;
- }
-
- private static Properties makeAbsolute(Properties props, URL rootURL, File fwJar, File configArea, File osgiInstallArea) throws IOException {
- for (int i = 0; i < PATHS.length; i++) {
- String path = props.getProperty(PATHS[i]);
- if (path != null)
- props.setProperty(PATHS[i], EquinoxManipulatorImpl.makeAbsolute(path, rootURL.getFile()));
- }
-
- if (props.getProperty(KEY_ORG_ECLIPSE_EQUINOX_SIMPLECONFIGURATOR_CONFIGURL) != null) {
- props.put(KEY_ORG_ECLIPSE_EQUINOX_SIMPLECONFIGURATOR_CONFIGURL, EquinoxManipulatorImpl.makeAbsolute(props.getProperty(KEY_ORG_ECLIPSE_EQUINOX_SIMPLECONFIGURATOR_CONFIGURL), configArea.toURL()));
- }
-
- if (props.getProperty(KEY_ECLIPSE_PROV_DATA_AREA) != null) {
- String url = props.getProperty(KEY_ECLIPSE_PROV_DATA_AREA);
- if (url != null) {
- if (url.startsWith(CONFIG_DIR))
- url = "file:" + url.substring(CONFIG_DIR.length()); //$NON-NLS-1$
- props.put(KEY_ECLIPSE_PROV_DATA_AREA, EquinoxManipulatorImpl.makeAbsolute(url, configArea.toURL()));
- }
- }
-
- String value = props.getProperty(KEY_OSGI_BUNDLES);
- if (value != null && fwJar != null) {
- File parent = fwJar.getParentFile();
- if (parent != null)
- props.setProperty(KEY_OSGI_BUNDLES, EquinoxManipulatorImpl.makeArrayAbsolute(value, parent.toURL()));
- }
- return props;
- }
-
- public static File getOSGiInstallArea(LauncherData launcherData) {
- if (launcherData == null)
- return null;
- String[] args = launcherData.getProgramArgs();
- if (args == null)
- return null;
- for (int i = 0; i < args.length; i++) {
- if (args[i].equals("-startup") && i + 1 < args.length && args[i + 1].charAt(1) != '-') { //$NON-NLS-1$
- return fromOSGiJarToOSGiInstallArea(args[i + 1]);
- }
- }
- if (launcherData.getFwJar() != null)
- return fromOSGiJarToOSGiInstallArea(launcherData.getFwJar().getAbsolutePath());
- if (launcherData.getLauncher() != null)
- return launcherData.getLauncher().getParentFile();
- return null;
- }
-
- private static File fromOSGiJarToOSGiInstallArea(String path) {
- IPath parentFolder = new Path(path).removeLastSegments(1);
- if (parentFolder.lastSegment().equals("plugins")) //$NON-NLS-1$
- return parentFolder.removeLastSegments(1).toFile();
- return parentFolder.toFile();
- }
-
- public void saveFwConfig(BundleInfo[] bInfos, Manipulator manipulator, boolean backup, boolean relative) throws IOException {//{
- ConfigData configData = manipulator.getConfigData();
- LauncherData launcherData = manipulator.getLauncherData();
- File fwJar = EquinoxBundlesState.getFwJar(launcherData, configData);
- launcherData.setFwJar(fwJar);
- File outputFile = launcherData.getFwConfigLocation();
- if (outputFile.exists()) {
- if (outputFile.isFile()) {
- if (!outputFile.getName().equals(EquinoxConstants.CONFIG_INI))
- throw new IllegalStateException(NLS.bind(Messages.exception_fwConfigLocationName, outputFile.getAbsolutePath(), EquinoxConstants.CONFIG_INI));
- } else { // Directory
- outputFile = new File(outputFile, EquinoxConstants.CONFIG_INI);
- }
- } else {
- if (!outputFile.getName().equals(EquinoxConstants.CONFIG_INI)) {
- if (!outputFile.mkdir())
- throw new IOException(NLS.bind(Messages.exception_failedToCreateDir, outputFile));
- outputFile = new File(outputFile, EquinoxConstants.CONFIG_INI);
- }
- }
- String header = "This configuration file was written by: " + this.getClass().getName(); //$NON-NLS-1$
-
- Properties configProps = getConfigProps(bInfos, configData, launcherData, relative, fwJar);
- if (configProps == null || configProps.size() == 0) {
- Log.log(LogService.LOG_WARNING, this, "saveFwConfig() ", Messages.log_configProps); //$NON-NLS-1$
- return;
- }
- Utils.createParentDir(outputFile);
-
- if (DEBUG)
- Utils.printoutProperties(System.out, "configProps", configProps); //$NON-NLS-1$
-
- if (backup)
- if (outputFile.exists()) {
- File dest = Utils.getSimpleDataFormattedFile(outputFile);
- if (!outputFile.renameTo(dest))
- throw new IOException(NLS.bind(Messages.exception_failedToRename, outputFile, dest));
- Log.log(LogService.LOG_INFO, this, "saveFwConfig()", NLS.bind(Messages.log_renameSuccessful, outputFile, dest)); //$NON-NLS-1$
- }
-
- FileOutputStream out = null;
- try {
- out = new FileOutputStream(outputFile);
- configProps = makeRelative(configProps, launcherData.getLauncher().getParentFile().toURL(), fwJar, outputFile.getParentFile(), getOSGiInstallArea(manipulator.getLauncherData()));
- filterPropertiesFromSharedArea(configProps, launcherData);
- configProps.store(out, header);
- Log.log(LogService.LOG_INFO, NLS.bind(Messages.log_fwConfigSave, outputFile));
- } finally {
- try {
- out.flush();
- out.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- out = null;
- }
- }
-
- private void filterPropertiesFromSharedArea(Properties configProps, LauncherData launcherData) {
- //Remove from the config file that we are about to write the properties that are unchanged compared to what is in the base
- Properties sharedConfigProperties = getSharedConfiguration(configProps.getProperty(EquinoxConstants.PROP_SHARED_CONFIGURATION_AREA), getOSGiInstallArea(launcherData));
- if (sharedConfigProperties == null)
- return;
- Enumeration keys = configProps.propertyNames();
- while (keys.hasMoreElements()) {
- String key = (String) keys.nextElement();
- String sharedValue = sharedConfigProperties.getProperty(key);
- if (sharedValue == null)
- continue;
- if (equalsIgnoringSeparators(sharedValue, configProps.getProperty(key)))
- configProps.remove(key);
- }
- }
-
- private boolean equalsIgnoringSeparators(String s1, String s2) {
- if (s1 == null && s2 == null)
- return true;
- if (s1 == null || s2 == null)
- return false;
- StringBuffer sb1 = new StringBuffer(s1);
- StringBuffer sb2 = new StringBuffer(s2);
- canonicalizePathsForComparison(sb1);
- canonicalizePathsForComparison(sb2);
- return sb1.toString().equals(sb2.toString());
- }
-
- private void canonicalizePathsForComparison(StringBuffer s) {
- final String[] tokens = new String[] {"\\\\", "\\", "//", "/"}; //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$//$NON-NLS-4$
- for (int t = 0; t < tokens.length; t++) {
- int idx = s.length();
- for (int i = s.length(); i != 0 && idx != -1; i--) {
- idx = s.toString().lastIndexOf(tokens[t], idx);
- if (idx != -1)
- s.replace(idx, idx + tokens[t].length(), "^"); //$NON-NLS-1$
- }
- }
- }
-
- private Properties getSharedConfiguration(String sharedConfigurationArea, File baseFile) {
- if (sharedConfigurationArea == null)
- return null;
- File sharedConfigIni;
- try {
- sharedConfigIni = findSharedConfigIniFile(baseFile.toURL(), sharedConfigurationArea);
- } catch (MalformedURLException e) {
- return null;
- }
- if (sharedConfigIni != null && sharedConfigIni.exists())
- try {
- return loadProperties(sharedConfigIni);
- } catch (FileNotFoundException e) {
- return null;
- } catch (IOException e) {
- return null;
- }
- return null;
- }
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxLauncherData.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxLauncherData.java
deleted file mode 100644
index 869115b..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxLauncherData.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.frameworkadmin.equinox;
-
-import java.io.File;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.LauncherData;
-
-public class EquinoxLauncherData extends LauncherData {
- File previousLauncher = null;
-
- public EquinoxLauncherData(String fwName, String fwVersion, String launcherName, String launcherVersion) {
- super(fwName, fwVersion, launcherName, launcherVersion);
- }
-
- public void setLauncher(File launcherFile) {
- if (previousLauncher == null && launcherFile != null && !launcherFile.equals(getLauncher()))
- previousLauncher = EquinoxManipulatorImpl.getLauncherConfigLocation(this);
- super.setLauncher(launcherFile);
- }
-
- File getPreviousLauncherIni() {
- return previousLauncher;
- }
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxManipulatorImpl.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxManipulatorImpl.java
deleted file mode 100644
index 963bcac..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxManipulatorImpl.java
+++ /dev/null
@@ -1,697 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.frameworkadmin.equinox;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.frameworkadmin.equinox.utils.FileUtils;
-import org.eclipse.equinox.internal.frameworkadmin.utils.SimpleBundlesState;
-import org.eclipse.equinox.internal.frameworkadmin.utils.Utils;
-import org.eclipse.equinox.internal.provisional.configuratormanipulator.ConfiguratorManipulator;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.eclipse.osgi.service.datalocation.Location;
-import org.osgi.framework.*;
-import org.osgi.service.log.LogService;
-import org.osgi.service.startlevel.StartLevel;
-import org.osgi.util.tracker.ServiceTracker;
-
-public class EquinoxManipulatorImpl implements Manipulator {
- private static final long DEFAULT_LASTMODIFIED = 0L;
- private static final boolean LOG_ILLEGALSTATEEXCEPTION = false;
- private static final String COMMA = ","; //$NON-NLS-1$
- private static final String FILE_PROTOCOL = "file:"; //$NON-NLS-1$
-
- /**
- * If the fwConfigLocation is a file and its name does not equal "config.ini",
- * throw an IllegaStateException.
- * If the fwConfigLocation is a file and its name equals "config.ini",
- * fwConfigLocation will be updated by its parent directory.
- *
- * Then, reset fwConfigLocation and fwPersistentDataLocation to be matched.
- *
- * @param launcherData
- */
- static void checkConsistencyOfFwConfigLocAndFwPersistentDataLoc(LauncherData launcherData) {
- File fwConfigLocation = launcherData.getFwConfigLocation();
- File fwPersistentDataLocation = launcherData.getFwPersistentDataLocation();
-
- if (fwConfigLocation != null) {
- if (fwConfigLocation.isFile()) {
- if (fwConfigLocation.getName().equals(EquinoxConstants.CONFIG_INI))
- fwConfigLocation = fwConfigLocation.getParentFile();
- else
- throw new IllegalStateException("fwConfigLocation is not a directory but its name does NOT equal \"" + EquinoxConstants.CONFIG_INI + "\"!\n" + "\tfwConfigLocation=" + fwConfigLocation.getAbsolutePath() + "\n\t,fwPersistentDataLocation=" + fwPersistentDataLocation.getAbsolutePath());
- launcherData.setFwConfigLocation(fwConfigLocation);
- }
- if (fwPersistentDataLocation != null) {
- // Log.log(LogService.LOG_DEBUG, "fwConfigLocation=" + fwConfigLocation.getAbsolutePath() + ",\n\tfwInstancePrivateArea=" + fwPersistentDataLocation.getAbsolutePath());
- //if (!fwConfigLocation.getParentFile().equals(fwPersistentDataLocation))
- //throw new IllegalStateException("!configFile.getParentFile().equals(fwInstancePrivateArea)\n" + "\tconfigFile=" + fwConfigLocation.getAbsolutePath() + "\n\t,fwInstancePrivateArea=" + fwPersistentDataLocation.getAbsolutePath());
- if (!fwConfigLocation.equals(fwPersistentDataLocation))
- throw new IllegalStateException("!fwConfigLocation.equals(fwPersistentDataLocation)\n" + "\t!fwConfigLocation=" + fwConfigLocation.getAbsolutePath() + "\n\t,fwPersistentDataLocation=" + fwPersistentDataLocation.getAbsolutePath());
- } else
- launcherData.setFwPersistentDataLocation(fwConfigLocation, launcherData.isClean());
- //launcherData.setFwPersistentDataLocation(fwConfigLocation.getParentFile(), launcherData.isClean());
- } else {
- if (fwPersistentDataLocation != null) {
- launcherData.setFwConfigLocation(fwPersistentDataLocation);
- //launcherData.setFwConfigLocation(new File(fwPersistentDataLocation, EquinoxConstants.CONFIG_INI));
- } else {
- File home = launcherData.getHome();
- if (home == null)
- throw new IllegalStateException("All of fwConfigLocation, fwPersistentDataLocation, and home are not set");
- fwConfigLocation = new File(home, "configuration");
- launcherData.setFwPersistentDataLocation(fwConfigLocation, launcherData.isClean());
- launcherData.setFwConfigLocation(fwConfigLocation);
- }
- }
- }
-
- static File getLauncherConfigLocation(LauncherData launcherData) {
- File launcherConfigLocation = launcherData.getLauncherConfigLocation();
- if (launcherConfigLocation != null)
- return launcherConfigLocation;
-
- File launcher = launcherData.getLauncher();
- if (launcher == null)
- return null;
- String launcherName = launcher.getName();
- int dotLocation = launcherName.lastIndexOf(".");
- if (dotLocation != -1)
- launcherName = launcherName.substring(0, dotLocation);
- File result = new File(launcher.getParent() + File.separator + launcherName + EquinoxConstants.INI_EXTENSION);
- // launcherData.setLauncherConfigLocation(result);
- return result;
- }
-
- ConfigData configData = new ConfigData(EquinoxConstants.FW_NAME, EquinoxConstants.FW_VERSION, EquinoxConstants.LAUNCHER_NAME, EquinoxConstants.LAUNCHER_VERSION);
- EquinoxLauncherData launcherData = new EquinoxLauncherData(EquinoxConstants.FW_NAME, EquinoxConstants.FW_VERSION, EquinoxConstants.LAUNCHER_NAME, EquinoxConstants.LAUNCHER_VERSION);
-
- BundleContext context = null;
- private Properties platformProperties = new Properties();
-
- ServiceTracker cmTracker;
- int trackingCount = -1;
-
- // private final boolean runtime;
-
- ConfiguratorManipulator configuratorManipulator;
-
- EquinoxFwAdminImpl fwAdmin = null;
-
- EquinoxManipulatorImpl(BundleContext context, EquinoxFwAdminImpl fwAdmin) {
- this(context, fwAdmin, false);
- }
-
- EquinoxManipulatorImpl(BundleContext context, EquinoxFwAdminImpl fwAdmin, boolean runtime) {
- this.context = context;
- this.fwAdmin = fwAdmin;
- if (context != null) {
- cmTracker = new ServiceTracker(context, ConfiguratorManipulator.class.getName(), null);
- cmTracker.open();
- }
- // this.runtime = runtime;
- if (runtime)
- initializeRuntime();
- // XXX For Equinox, default value of Initial Bundle Start Level is 4.
- // Precisely speaking, it's not correct.
- // Equinox doesn't support setting initial bundle start level as an OSGi terminology.
- // Only bundles installed by config.ini and updateconfigurator will have that start level(4).
- // Others has a start level of 1.
- configData.setInitialBundleStartLevel(4);
- }
-
- public BundlesState getBundlesState() throws FrameworkAdminRuntimeException {
- if (context == null)
- return new SimpleBundlesState(fwAdmin, this, EquinoxConstants.FW_SYMBOLIC_NAME);
-
- if (!EquinoxBundlesState.checkFullySupported())
- return new SimpleBundlesState(fwAdmin, this, EquinoxConstants.FW_SYMBOLIC_NAME);
-
- if (platformProperties.isEmpty())
- return new EquinoxBundlesState(context, fwAdmin, this, false);
- // XXX checking if fwDependent or fwIndependent platformProperties are updated after the platformProperties was created might be required for better implementation.
- return new EquinoxBundlesState(context, fwAdmin, this, platformProperties);
- }
-
- public ConfigData getConfigData() throws FrameworkAdminRuntimeException {
- return configData;
- }
-
- public BundleInfo[] getExpectedState() throws IllegalArgumentException, FrameworkAdminRuntimeException {
- //Log.log(LogService.LOG_DEBUG, this, "getExpectedState()", "BEGIN");
- SimpleBundlesState.checkAvailability(fwAdmin);
-
- BundlesState bundleState = this.getBundlesState();
- if (bundleState instanceof SimpleBundlesState)
- return new BundleInfo[0];
- bundleState.resolve(true);
-
- return bundleState.getExpectedState();
- }
-
- public LauncherData getLauncherData() throws FrameworkAdminRuntimeException {
- return launcherData;
- }
-
- /**
- * Return the configuration location.
- *
- * @see Location
- */
- private File getRunningConfigurationLocation() {
- ServiceTracker tracker = null;
- Filter filter = null;
- try {
- filter = context.createFilter(Location.CONFIGURATION_FILTER);
- } catch (InvalidSyntaxException e) {
- // ignore this. It should never happen as we have tested the above format.
- }
- tracker = new ServiceTracker(context, filter, null);
- tracker.open();
- Location location = (Location) tracker.getService();
- URL url = location.getURL();
- if (!url.getProtocol().equals("file"))
- return null;
- return new File(url.getFile());
- }
-
- private File getRunningLauncherFile() {
- File launcherFile = null;
- String eclipseCommandsSt = context.getProperty(EquinoxConstants.PROP_ECLIPSE_COMMANDS);
- if (eclipseCommandsSt == null)
- return null;
-
- StringTokenizer tokenizer = new StringTokenizer(eclipseCommandsSt, "\n");
- boolean found = false;
- String launcherSt = null;
- while (tokenizer.hasMoreTokens()) {
- String token = tokenizer.nextToken();
- if (found) {
- launcherSt = token;
- break;
- }
- if (token.equals("-launcher"))
- found = true;
- }
- if (launcherSt != null)
- launcherFile = new File(launcherSt);
- return launcherFile;
- }
-
- private Properties getRunningPlatformProperties() {
- Properties props = new Properties();
- for (int i = 0; i < EquinoxBundlesState.PROPS.length; i++) {
- String value = context.getProperty(EquinoxBundlesState.PROPS[i]);
- if (value != null)
- props.setProperty(EquinoxBundlesState.PROPS[i], value);
- }
- return props;
- }
-
- public long getTimeStamp() {
- long ret = this.getTimeStampWithoutFwPersistentData();
- if (this.launcherData.isClean())
- return ret;
- long lastModifiedFwPersistent = EquinoxBundlesState.getTimeStamp(launcherData.getFwPersistentDataLocation());
- return Math.max(ret, lastModifiedFwPersistent);
- }
-
- private long getTimeStampWithoutFwPersistentData() {
- SimpleBundlesState.checkAvailability(fwAdmin);
- File launcherConfigFile = getLauncherConfigLocation(launcherData);
- long lastModifiedLauncherConfigFile = DEFAULT_LASTMODIFIED;
- long lastModifiedFwConfigFile = DEFAULT_LASTMODIFIED;
- if (launcherConfigFile != null) {
- // use launcher. -- > load from LaucnherConfig file.
- lastModifiedLauncherConfigFile = launcherConfigFile.lastModified();
- }
- checkConsistencyOfFwConfigLocAndFwPersistentDataLoc(launcherData);
-
- if (launcherData.getFwConfigLocation() != null) {
- File fwConfigFile = new File(launcherData.getFwConfigLocation(), EquinoxConstants.CONFIG_INI);
- lastModifiedFwConfigFile = fwConfigFile.lastModified();
- }
- long ret = Math.max(lastModifiedLauncherConfigFile, lastModifiedFwConfigFile);
- return ret;
- }
-
- // //
- // public void load() throws IllegalStateException, IOException, FrameworkAdminRuntimeException {
- // this.load(true);
- // }
-
- public void initialize() {
- Log.log(LogService.LOG_DEBUG, this, "initialize()", "BEGIN");
- configData.initialize();
- launcherData.initialize();
- }
-
- private void initializeRuntime() {
- //TODO refine the implementation. using some MAGIC dependent on Eclipse.exe and Equinox implementation,
- // set parameters according to the current running fw.
-
- // 1. retrieve location data from Location services registered by equinox fw.
- String fwJarLocation = context.getProperty(EquinoxConstants.PROP_OSGI_FW);
- if (!fwJarLocation.startsWith("file:"))
- throw new IllegalStateException("Current implementation assume that property value keyed by " + EquinoxConstants.PROP_OSGI_FW + " must start with \"file:\". But it was not:" + fwJarLocation);
- File fwJar = new File(fwJarLocation.substring("file:".length()));
- //System.out.println("fwJar=" + fwJar);
- File fwConfigLocation = getRunningConfigurationLocation();
- File launcherFile = getRunningLauncherFile();
- launcherData.setFwJar(fwJar);
- launcherData.setFwPersistentDataLocation(fwConfigLocation, false);
- launcherData.setLauncher(launcherFile);
- try {
- this.loadWithoutFwPersistentData();
- } catch (IOException e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- }
-
- // 2. Create a Manipulator object fully initialized to the current running fw.
-
- ServiceReference reference = context.getServiceReference(StartLevel.class.getName());
- StartLevel startLevel = (StartLevel) context.getService(reference);
- Bundle[] bundles = context.getBundles();
- BundleInfo[] bInfos = new BundleInfo[bundles.length];
- for (int i = 0; i < bundles.length; i++) {
- // System.out.println("bundles[" + i + "]=" + bundles[i]);
- try {
- if (bundles[i].getBundleId() == 0) // SystemBundle
- bInfos[i] = new BundleInfo(bundles[i].getSymbolicName(), (String) bundles[i].getHeaders().get(Constants.BUNDLE_VERSION), FileLocator.getBundleFile(bundles[i]).getAbsolutePath(), -1, true);
- else {
- bInfos[i] = new BundleInfo(bundles[i].getSymbolicName(), (String) bundles[i].getHeaders().get(Constants.BUNDLE_VERSION), FileLocator.getBundleFile(bundles[i]).getAbsolutePath(), startLevel.getBundleStartLevel(bundles[i]), startLevel.isBundlePersistentlyStarted(bundles[i]));
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- configData.setBundles(bInfos);
- platformProperties = this.getRunningPlatformProperties();
-
- // copy system properties to ConfigData
- Properties props = System.getProperties();
- for (Enumeration enumeration = props.keys(); enumeration.hasMoreElements();) {
- String key = (String) enumeration.nextElement();
- String value = props.getProperty(key);
- if (toBeEliminated(key))
- continue;
- if (EquinoxFwConfigFileParser.isFwDependent(key))
- configData.setFwDependentProp(key, value);
- else
- configData.setFwIndependentProp(key, value);
- }
-
- // update initialBundleStartLevel
- StartLevel slAdmin = (StartLevel) Activator.acquireService(StartLevel.class.getName());
- int initialBSL = configData.getInitialBundleStartLevel();
- if (initialBSL != slAdmin.getInitialBundleStartLevel())
- configData.setInitialBundleStartLevel(slAdmin.getInitialBundleStartLevel());
-
- // for (int j = 0; j < bInfos.length; j++)
- // configData.addBundle(bInfos[j]);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator#load()
- */
- public void load() throws IllegalStateException, IOException, FrameworkAdminRuntimeException {
- Log.log(LogService.LOG_DEBUG, this, "load()", "BEGIN");
- loadWithoutFwPersistentData();
-
- BundlesState bundlesState = null;
- if (EquinoxBundlesState.checkFullySupported()) {
- // bundlesState = new EquinoxBundlesState(context, fwAdmin, this, true, runtime);
- bundlesState = new EquinoxBundlesState(context, fwAdmin, this, !launcherData.isClean());
- platformProperties = ((EquinoxBundlesState) bundlesState).getPlatformProperties();
-
- } else {
- bundlesState = new SimpleBundlesState(fwAdmin, this, EquinoxConstants.FW_SYMBOLIC_NAME);
- platformProperties.clear();
- }
- updateAccordingToExpectedState(bundlesState);
- // if (!useConfigurator)
- // return;
- setConfiguratorManipulator();
- if (this.configuratorManipulator == null)
- return;
- configuratorManipulator.updateBundles(this);
- return;
- }
-
- private void loadWithoutFwPersistentData() throws IOException {
- SimpleBundlesState.checkAvailability(fwAdmin);
- File launcherConfigFile = getLauncherConfigLocation(launcherData);
- if (launcherConfigFile != null) {
- // use launcher. -- > load from LaucnherConfig file.
- // the parameters in memory will be updated.
- EclipseLauncherParser parser = new EclipseLauncherParser();
- parser.read(launcherData);
- }
- checkConsistencyOfFwConfigLocAndFwPersistentDataLoc(launcherData);
-
- File fwConfigFile = new File(launcherData.getFwConfigLocation(), EquinoxConstants.CONFIG_INI);
- EquinoxFwConfigFileParser parser = new EquinoxFwConfigFileParser(context);
- if (fwConfigFile.exists())
- parser.readFwConfig(this, fwConfigFile);
-
- }
-
- // Save all parameter in memory into proper config files.
- public void save(boolean backup) throws IOException, FrameworkAdminRuntimeException {
- Log.log(LogService.LOG_DEBUG, this, "save()", "BEGIN");
- SimpleBundlesState.checkAvailability(fwAdmin);
-
- try {
- updateAccordingToExpectedState(this.getBundlesState());
- } catch (IllegalStateException e) {
- // ignore.
- }
- // File fwJar = EquinoxBundlesState.getFwJar(launcherData, configData);
- // if (fwJar != null)
- // launcherData.setFwJar(fwJar);
-
- //if (context != null)
- ConfiguratorManipulator previousConfigurator = setConfiguratorManipulator();
- if (previousConfigurator != null)
- previousConfigurator.cleanup(this);
-
- BundleInfo[] newBInfos = null;
- if (configuratorManipulator != null) { // Optimize BundleInfo[]
- try {
- newBInfos = configuratorManipulator.save(this, backup);
- } catch (IllegalStateException e) {
- // TODO Auto-generated catch block
- if (LOG_ILLEGALSTATEEXCEPTION)
- Log.log(LogService.LOG_WARNING, this, "save()", e);
- newBInfos = configData.getBundles();
- }
- } else {
- newBInfos = configData.getBundles();
- }
-
- boolean stateIsEmpty = configData.getBundles().length == 0;
-
- File launcherConfigFile = getLauncherConfigLocation(launcherData);
- if (launcherConfigFile != null) {
- if (!stateIsEmpty) {
- // Use launcher. -- > save LauncherConfig file.
- EclipseLauncherParser launcherParser = new EclipseLauncherParser();
- launcherParser.save(launcherData, true, backup);
- } else {
- // No bundles in configuration, so delete the launcher config file
- launcherConfigFile.delete();
- }
- }
-
- checkConsistencyOfFwConfigLocAndFwPersistentDataLoc(launcherData);
-
- // //if (context != null)
- // setConfiguratorManipulator();
- //
- // BundleInfo[] newBInfos = null;
- // if (configuratorManipulator != null) { // Optimize BundleInfo[]
- // try {
- // newBInfos = configuratorManipulator.save(this, backup);
- // } catch (IllegalStateException e) {
- // // TODO Auto-generated catch block
- // if (LOG_ILLEGALSTATEEXCEPTION)
- // Log.log(LogService.LOG_WARNING, this, "save()", e);
- // newBInfos = configData.getBundles();
- // }
- // } else {
- // newBInfos = configData.getBundles();
- // }
-
- if (!stateIsEmpty) {
- // Save FwConfigFile
- EquinoxFwConfigFileParser parser = new EquinoxFwConfigFileParser(context);
- parser.saveFwConfig(newBInfos.length != 0 ? newBInfos : getConfigData().getBundles(), this, backup, false);
- } else {
- File configDir = launcherData.getFwConfigLocation();
- File outputFile = new File(configDir, EquinoxConstants.CONFIG_INI);
- if (outputFile != null && outputFile.exists()) {
- outputFile.delete();
- }
- if (configDir != null && configDir.exists()) {
- configDir.delete();
- }
- }
- }
-
- public void setConfigData(ConfigData configData) {
- this.configData.initialize();
- this.configData.setInitialBundleStartLevel(configData.getInitialBundleStartLevel());
- this.configData.setBeginningFwStartLevel(configData.getBeginingFwStartLevel());
- BundleInfo[] bInfos = configData.getBundles();
- for (int i = 0; i < bInfos.length; i++)
- this.configData.addBundle(bInfos[i]);
- this.configData.setFwIndependentProps(configData.getFwIndependentProps());
- if (this.configData.getFwName().equals(configData.getFwName()))
- if (this.configData.getFwVersion().equals(configData.getFwVersion())) {
- // TODO refine the algorithm to copying fw dependent props.
- // configData.getFwName()/getFwVersion()/
- // getLauncherName()/getLauncherVersion() might be taken into consideration.
- this.configData.setFwDependentProps(configData.getFwDependentProps());
- }
- }
-
- /**
- * 1. get all ServiceReferences of ConfiguratorManipulator.
- * 2. Check if there any ConfiguratorBundle in the Bundles list that can be manipulated by
- * the available ConfiguratorManipulators.
- * 3. Choose the one that will be firstly started among them.
- * 4. set the object that corresponds to the chosen ConfiguratorBundle.
- *
- */
- private ConfiguratorManipulator setConfiguratorManipulator() {
- if (context == null) {
- this.configuratorManipulator = this.fwAdmin.getConfiguratorManipulator();
- return null;
- }
- ServiceReference[] references = cmTracker.getServiceReferences();
- if (references == null)
- return null;
-
- // int count = cmTracker.getTrackingCount();
- // if (count == this.trackingCount)
- // return;
- // this.trackingCount = count;
-
- BundleInfo[] bInfos = configData.getBundles();
- int initialBSL = configData.getInitialBundleStartLevel();
- bInfos = Utils.sortBundleInfos(bInfos, initialBSL);
- //int index = -1;
- ConfiguratorManipulator previousConfiguratorManipulator = configuratorManipulator;
- configuratorManipulator = null;
- for (int i = 0; i < bInfos.length; i++) {
- String location = bInfos[i].getLocation();
- location = FileUtils.getRealLocation(this, location, true);
- if (!bInfos[i].isMarkedAsStarted())
- continue;
- for (int j = 0; j < references.length; j++)
- if (references[j].getProperty(ConfiguratorManipulator.SERVICE_PROP_KEY_CONFIGURATOR_BUNDLESYMBOLICNAME).equals(Utils.getPathFromClause(Utils.getManifestMainAttributes(location, Constants.BUNDLE_SYMBOLICNAME)))) {
- configuratorManipulator = (ConfiguratorManipulator) cmTracker.getService(references[j]);
- break;
- }
- if (configuratorManipulator != null)
- break;
- }
- if (configuratorManipulator != previousConfiguratorManipulator)
- return previousConfiguratorManipulator;
- return null;
- }
-
- public void setLauncherData(LauncherData value) {
- launcherData.initialize();
- launcherData.setFwConfigLocation(value.getFwConfigLocation());
- launcherData.setFwPersistentDataLocation(value.getFwPersistentDataLocation(), value.isClean());
- launcherData.setJvm(value.getJvm());
- launcherData.setJvmArgs(value.getJvmArgs());
- if (launcherData.getFwName().equals(value.getFwName()))
- if (launcherData.getFwVersion().equals(value.getFwVersion())) {
- // TODO launcherData.getFwName()/getFwVersion()/
- // getLauncherName()/getLauncherVersion() might be taken into consideration
- // for copying .
- launcherData.setFwJar(value.getFwJar());
- launcherData.setHome(value.getHome());
- launcherData.setLauncher(value.getLauncher());
- launcherData.setLauncherConfigLocation(value.getLauncherConfigLocation());
- }
- }
-
- /**
- * Temporal implementation.
- *
- * If a property of the given key should be eliminated
- * from FwDependentProperties and FwIndependentProperties,
- * return true. Otherwise false.
- *
- * @param key
- * @return true if it should be elimineted from FwDependentProperties and FwIndependentProperties,
- */
- private boolean toBeEliminated(String key) {
- if (key.startsWith("java."))
- return true;
- return false;
- }
-
- public String toString() {
- StringBuffer sb = new StringBuffer();
- sb.append("++++++++++++++++++++++++++++++++++++++++++\n" + "Class:" + this.getClass().getName() + "\n");
- sb.append("------------- LauncherData -----------\n");
- sb.append(launcherData.toString());
- sb.append("------------- ConfigData -----------\n");
- sb.append(configData.toString());
- sb.append("\n" + Utils.toStringProperties("platformProperties", this.platformProperties));
- sb.append("++++++++++++++++++++++++++++++++++++++++++\n");
- return sb.toString();
- }
-
- private void updateAccordingToExpectedState(BundlesState bundlesState) {
- // File newFwJar = EquinoxBundlesState.getFwJar(launcherData, configData);
- // if (bundlesState instanceof EquinoxBundlesState)
- // ((EquinoxBundlesState) bundlesState).setFwJar(newFwJar);
- //
- // if (launcherData.getFwJar() == null && newFwJar != null)
- // launcherData.setFwJar(newFwJar);
- BundleInfo[] newBundleInfos = bundlesState.getExpectedState();
- configData.setBundles(newBundleInfos);
- }
-
- public static String makeRelative(String original, String rootPath) {
- IPath path = new Path(original);
- // ensure we have an absolute path to start with
- if (!path.isAbsolute())
- return original;
-
- //Returns the original string if no relativization has been done
- String result = makeRelative(path, new Path(rootPath));
- return path.toOSString().equals(result) ? original : result;
- }
-
- /*
- * Make the given path relative to the specified root, if applicable. If not, then
- * return the path as-is.
- *
- * Method similar to one from SimpleConfigurationManipulatorImpl.
- */
- private static String makeRelative(IPath toRel, IPath base) {
- if (toRel.getDevice() != null && !toRel.getDevice().equalsIgnoreCase(base.getDevice()))
- return toRel.toOSString();
- int i = base.matchingFirstSegments(toRel);
- if (i == 0) {
- return toRel.toOSString();
- }
- String result = "";
- for (int j = 0; j < (base.segmentCount() - i); j++) {
- result += ".." + Path.SEPARATOR;
- }
- if (i == toRel.segmentCount())
- return ".";
- result += toRel.setDevice(null).removeFirstSegments(i).toOSString();
- return result;
- }
-
- public static String makeRelative(String urlString, URL rootURL) {
- // we only traffic in file: URLs
- int index = urlString.indexOf(FILE_PROTOCOL);
- if (index == -1)
- return urlString;
- index = index + 5;
-
- // ensure we have an absolute path to start with
- boolean done = false;
- URL url = null;
- String file = urlString;
- while (!done) {
- try {
- url = new URL(file);
- file = url.getFile();
- } catch (java.net.MalformedURLException e) {
- done = true;
- }
- }
- if (url == null || !new File(url.getFile()).isAbsolute())
- return urlString;
-
- String rootString = rootURL.toExternalForm();
- return urlString.substring(0, index) + makeRelative(urlString.substring(index), rootString.substring(rootString.indexOf(FILE_PROTOCOL) + 5));
- }
-
- public static String makeArrayRelative(String array, URL rootURL) {
- StringBuffer buffer = new StringBuffer();
- for (StringTokenizer tokenizer = new StringTokenizer(array, COMMA); tokenizer.hasMoreTokens();) {
- String token = tokenizer.nextToken();
- String absolute = makeRelative(token, rootURL);
- buffer.append(absolute);
- if (tokenizer.hasMoreTokens())
- buffer.append(',');
- }
- return buffer.toString();
- }
-
- public static String makeArrayAbsolute(String array, URL rootURL) {
- StringBuffer buffer = new StringBuffer();
- for (StringTokenizer tokenizer = new StringTokenizer(array, COMMA); tokenizer.hasMoreTokens();) {
- String token = tokenizer.nextToken();
- String absolute = makeAbsolute(token, rootURL);
- buffer.append(absolute);
- if (tokenizer.hasMoreTokens())
- buffer.append(',');
- }
- return buffer.toString();
- }
-
- /*
- * Make the given path absolute to the specified root, if applicable. If not, then
- * return the path as-is.
- *
- * Method similar to one from SimpleConfigurationManipulatorImpl.
- */
- public static String makeAbsolute(String original, String rootPath) {
- IPath path = new Path(original);
- // ensure we have a relative path to start with
- if (path.isAbsolute())
- return original;
- IPath root = new Path(rootPath);
- return root.addTrailingSeparator().append(original.replace(':', '}')).toOSString().replace('}', ':');
- }
-
- public static String makeAbsolute(String urlString, URL rootURL) {
- // we only traffic in file: URLs
- int index = urlString.indexOf(FILE_PROTOCOL);
- if (index == -1)
- return urlString;
- index = index + 5;
-
- // ensure we have a relative path to start with
- boolean done = false;
- URL url = null;
- String file = urlString;
- while (!done) {
- try {
- url = new URL(file);
- file = url.getFile();
- } catch (java.net.MalformedURLException e) {
- done = true;
- }
- }
- if (url == null || new File(url.getFile()).isAbsolute())
- return urlString;
-
- return urlString.substring(0, index - 5) + makeAbsolute(urlString.substring(index), rootURL.toExternalForm());
- }
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/Log.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/Log.java
deleted file mode 100644
index e83b920..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/Log.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.frameworkadmin.equinox;
-
-import org.osgi.framework.BundleContext;
-import org.osgi.service.log.LogService;
-import org.osgi.util.tracker.ServiceTracker;
-
-/**
- * Utility class with static methods for logging to LogService, if available
- */
-public class Log {
- static private ServiceTracker logTracker;
- static private boolean useLog = false;
-
- public static void dispose() {
- if (logTracker != null) {
- logTracker.close();
- }
- logTracker = null;
- }
-
- public static void init(BundleContext bc) {
- logTracker = new ServiceTracker(bc, LogService.class.getName(), null);
- logTracker.open();
- }
-
- public static void log(int level, Object obj, String method, String message) {
- log(level, obj, method, message, null);
- }
-
- public static void log(int level, Object obj, String method, String message, Throwable e) {
- LogService logService = null;
- String msg = "";
- if (method == null) {
- if (obj != null)
- msg = "(" + obj.getClass().getName() + ")";
- } else if (obj == null)
- msg = "[" + method + "]" + message;
- else
- msg = "[" + method + "](" + obj.getClass().getName() + ")";
- msg += message;
- if (logTracker != null)
- logService = (LogService) logTracker.getService();
-
- if (logService != null) {
- logService.log(level, msg, e);
- } else {
- String levelSt = null;
- if (level == LogService.LOG_DEBUG)
- levelSt = "DEBUG";
- else if (level == LogService.LOG_INFO)
- levelSt = "INFO";
- else if (level == LogService.LOG_WARNING)
- levelSt = "WARNING";
- else if (level == LogService.LOG_ERROR) {
- levelSt = "ERROR";
- useLog = true;
- }
- if (useLog) {
- System.err.println("[" + levelSt + "]" + msg);
- if (e != null)
- e.printStackTrace();
- }
- }
- }
-
- public static void log(int level, Object obj, String method, Throwable e) {
- log(level, obj, method, null, e);
- }
-
- public static void log(int level, String message) {
- log(level, null, null, message, null);
- }
-
- public static void log(int level, String message, Throwable e) {
- log(level, null, null, message, e);
- }
-
- private Log() {
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/Messages.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/Messages.java
deleted file mode 100644
index cdbd5c3..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/Messages.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.equinox.internal.frameworkadmin.equinox;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.frameworkadmin.equinox.messages";//$NON-NLS-1$
-
- public static String exception_inputFileIsDirectory;
- public static String exception_fwConfigLocationName;
- public static String exception_failedToCreateDir;
- public static String exception_failedToRename;
-
- public static String log_configFile;
- public static String log_configProps;
- public static String log_renameSuccessful;
- public static String log_fwConfigSave;
- public static String log_shared_config_url;
- public static String log_shared_config_relative_url;
- public static String log_shared_config_file_missing;
- public static String log_failed_reading_properties;
-
- static {
- // load message values from bundle file
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/messages.properties b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/messages.properties
deleted file mode 100644
index f15ac2b..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/messages.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-exception_inputFileIsDirectory= Illegal Argument: inputFile {0} must not be a directory.
-exception_fwConfigLocationName = Illegal State: Framework Configuration location "{0}" does not match {1}.
-exception_failedToCreateDir = Failed to create directory {0}.
-exception_failedToRename=Failed to rename {0} to {1}.
-
-log_configFile= Configuration file ({0}) has been read successfully.
-log_configProps= Configuration properties is empty.
-log_renameSuccessful= Successfully renamed {0} to {1}.
-log_fwConfigSave= Framework Configuration was saved successfully in {0}.
-log_shared_config_url=Failed creating shared configuration url for {0}.
-log_shared_config_relative_url=Failed creating shared configuration url for root: {0} and sharedConfiguration: {1}.
-log_shared_config_file_missing=Failed creating shared configuration. File missing: {0}.
-log_failed_reading_properties=Failed reading properties from file: {0}.
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/utils/EclipseVersion.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/utils/EclipseVersion.java
deleted file mode 100644
index b5e4b67..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/utils/EclipseVersion.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.frameworkadmin.equinox.utils;
-
-import java.util.StringTokenizer;
-
-public class EclipseVersion implements Comparable {
- int major = 0;
- int minor = 0;
- int service = 0;
- String qualifier = null;
-
- public EclipseVersion(String version) {
- StringTokenizer tok = new StringTokenizer(version, ".");
- if (!tok.hasMoreTokens())
- return;
- this.major = Integer.parseInt(tok.nextToken());
- if (!tok.hasMoreTokens())
- return;
- this.minor = Integer.parseInt(tok.nextToken());
- if (!tok.hasMoreTokens())
- return;
- this.service = Integer.parseInt(tok.nextToken());
- if (!tok.hasMoreTokens())
- return;
- this.qualifier = tok.nextToken();
- }
-
- public int compareTo(Object obj) {
- EclipseVersion target = (EclipseVersion) obj;
- if (target.major > this.major)
- return -1;
- if (target.major < this.major)
- return 1;
- if (target.minor > this.minor)
- return -1;
- if (target.minor < this.minor)
- return 1;
- if (target.service > this.service)
- return -1;
- if (target.service < this.service)
- return 1;
- return 0;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/utils/FileUtils.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/utils/FileUtils.java
deleted file mode 100644
index 08f0c1a..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/utils/FileUtils.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.frameworkadmin.equinox.utils;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import org.eclipse.equinox.internal.frameworkadmin.equinox.EquinoxConstants;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.LauncherData;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-
-public class FileUtils {
-
- public static String getEclipseRealLocation(final Manipulator manipulator, final String location) {
- if (location.indexOf(":") >= 0)
- return location;
-
- LauncherData launcherData = manipulator.getLauncherData();
- File home = launcherData.getHome();
- File pluginsDir = null;
- if (home != null)
- pluginsDir = new File(home, EquinoxConstants.PLUGINS_DIR);
- else if (launcherData.getLauncher() != null)
- pluginsDir = new File(launcherData.getLauncher().getParentFile(), EquinoxConstants.PLUGINS_DIR);
- else if (launcherData.getFwJar() != null)
- pluginsDir = launcherData.getFwJar().getParentFile();
- String pluginName = getPluginName(location);
- String ret = getEclipsePluginFullLocation(pluginName, pluginsDir);
- return ret;
- }
-
- private static String getPluginName(final String location) {
- int position = location.indexOf("_");
- String pluginName = location;
- if (position >= 0)
- pluginName = location.substring(0, position);
- return pluginName;
- }
-
- public static String getRealLocation(Manipulator manipulator, final String location, boolean useEclipse) {
- if (location == null)
- return null;
- String ret = location;
- if (location.startsWith("reference:")) {
- ret = location.substring("reference:".length());
- if (ret.endsWith(".jar/")) {
- ret = ret.substring(0, ret.length() - "/".length());
- if (ret.startsWith("file:"))
- ret = ret.substring("file:".length());
- }
- }
- if (location.startsWith("initial@"))
- ret = location.substring("initial@".length());
-
- if (ret == location)
- return useEclipse ? FileUtils.getEclipseRealLocation(manipulator, location) : location;
- return getRealLocation(manipulator, ret, useEclipse);
- }
-
- private static String replaceAll(String st, String oldSt, String newSt) {
- if (oldSt.equals(newSt))
- return st;
- int index = -1;
- while ((index = st.indexOf(oldSt)) != -1) {
- st = st.substring(0, index) + newSt + st.substring(index + oldSt.length());
- }
- return st;
- }
-
- /**
- * If a bundle of the specified location is in the Eclipse plugin format (either plugin-name_version.jar
- * or as a folder named plugin-name_version ), return version string.Otherwise, return null;
- *
- * @param url
- * @param pluginName
- * @return version string. If invalid format, return null.
- */
- private static String getEclipseNamingVersion(URL url, final String pluginName, boolean isFile) {
- String location = url.getFile();
- location = replaceAll(location, File.separator, "/");
- String filename = null;
- if (location.indexOf(":") == -1)
- filename = location;
- else
- filename = location.substring(location.lastIndexOf(":") + 1);
-
- // filename must be "jarName"_"version".jar
- if (isFile) {
- if (!filename.endsWith(".jar"))
- return null;
- filename = filename.substring(0, filename.lastIndexOf(".jar"));
- } else {
- // directory - remove trailing slash
- filename = filename.substring(0, filename.length() - 1);
- }
-
- if (filename.indexOf("/") != -1)
- filename = filename.substring(filename.lastIndexOf("/") + 1);
-
- if (!filename.startsWith(pluginName))
- return null;
-
- int pluginnameLength = pluginName.length();
- if (filename.length() <= pluginnameLength || filename.charAt(pluginName.length()) != '_')
- return null;
-
- return filename.substring(pluginnameLength + 1);
- }
-
- public static String getEclipsePluginFullLocation(String pluginName, File bundlesDir) {
- File[] lists = bundlesDir.listFiles();
- URL ret = null;
- EclipseVersion maxVersion = null;
- if (lists == null)
- return null;
-
- for (int i = 0; i < lists.length; i++) {
- try {
- URL url = lists[i].toURL();
- String version = getEclipseNamingVersion(url, pluginName, lists[i].isFile());
- if (version != null) {
- EclipseVersion eclipseVersion = new EclipseVersion(version);
- if (maxVersion == null || eclipseVersion.compareTo(maxVersion) > 0) {
- ret = url;
- maxVersion = eclipseVersion;
- }
- }
- } catch (MalformedURLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- return null;
- }
- }
- return (ret == null ? null : ret.toExternalForm());
- }
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/.classpath b/bundles/org.eclipse.equinox.frameworkadmin/.classpath
deleted file mode 100644
index 7cdeb73..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.1%Foundation-1.1"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/.project b/bundles/org.eclipse.equinox.frameworkadmin/.project
deleted file mode 100644
index 9087211..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.equinox.frameworkadmin</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.frameworkadmin/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index d87350a..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,266 +0,0 @@
-#Mon Oct 22 13:17:28 EDT 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.frameworkadmin/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 283b95a..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:57:26 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.frameworkadmin/META-INF/MANIFEST.MF
deleted file mode 100644
index 53e28cd..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,18 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.equinox.frameworkadmin;singleton:=true
-Bundle-Version: 1.0.2.qualifier
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Import-Package: org.eclipse.osgi.service.pluginconversion;version="1.0.0",
- org.osgi.framework;version="1.3.0",
- org.osgi.service.startlevel;version="1.0.0"
-Export-Package: org.eclipse.equinox.internal.frameworkadmin.utils;x-friends:="org.eclipse.equinox.frameworkadmin.equinox,org.eclipse.equinox.p2.metadata.generator",
- org.eclipse.equinox.internal.provisional.configuratormanipulator;x-internal:=true,
- org.eclipse.equinox.internal.provisional.frameworkadmin;x-friends:="org.eclipse.pde.p2.ui,org.eclipse.equinox.p2.touchpoint.eclipse,org.eclipse.equinox.p2.metadata.generator"
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,
- CDC-1.1/Foundation-1.1
-Require-Bundle: org.eclipse.equinox.common;bundle-version="3.4.0"
-Bundle-ActivationPolicy: lazy
-Bundle-Activator: org.eclipse.equinox.internal.frameworkadmin.utils.Activator
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/about.html b/bundles/org.eclipse.equinox.frameworkadmin/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 2, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/build.properties b/bundles/org.eclipse.equinox.frameworkadmin/build.properties
deleted file mode 100644
index dc77b9c..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- about.html,\
- plugin.properties
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/plugin.properties b/bundles/org.eclipse.equinox.frameworkadmin/plugin.properties
deleted file mode 100644
index b097dd2..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Equinox Framework Admin
-providerName = Eclipse.org
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/frameworkadmin/utils/Activator.java b/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/frameworkadmin/utils/Activator.java
deleted file mode 100644
index 733bdcb..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/frameworkadmin/utils/Activator.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.frameworkadmin.utils;
-
-import org.eclipse.osgi.service.pluginconversion.PluginConverter;
-import org.osgi.framework.*;
-
-/**
- * @since 1.0
- */
-public class Activator implements BundleActivator {
-
- private static BundleContext bundleContext;
-
- /* (non-Javadoc)
- * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
- */
- public void start(BundleContext context) throws Exception {
- bundleContext = context;
- }
-
- /* (non-Javadoc)
- * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
- */
- public void stop(BundleContext context) throws Exception {
- bundleContext = null;
- }
-
- /*
- * Acquire the plug-in conversion service or return <code>null</code> if it is not available.
- */
- public static PluginConverter acquirePluginConverter() {
- if (bundleContext == null)
- return null;
- ServiceReference reference = bundleContext.getServiceReference(PluginConverter.class.getName());
- if (reference == null)
- return null;
- PluginConverter result = (PluginConverter) bundleContext.getService(reference);
- bundleContext.ungetService(reference);
- return result;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/frameworkadmin/utils/SimpleBundlesState.java b/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/frameworkadmin/utils/SimpleBundlesState.java
deleted file mode 100644
index f0f4f45..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/frameworkadmin/utils/SimpleBundlesState.java
+++ /dev/null
@@ -1,332 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.frameworkadmin.utils;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.util.*;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.osgi.framework.Constants;
-
-/**
- * This implementation of BundlesState doesn't support any of
- * - resolving bundles,
- * - retrieving fw persistent data.
- *
- * This implementation can be used for those cases.
- *
- */
-
-public class SimpleBundlesState implements BundlesState {
- public static final BundleInfo[] NULL_BUNDLEINFOS = new BundleInfo[0];
-
- /**
- * Check if the specified FrameworkAdmin is available.
- *
- * @param fwAdmin
- * @throws FrameworkAdminRuntimeException
- */
- public static void checkAvailability(FrameworkAdmin fwAdmin) throws FrameworkAdminRuntimeException {
- if (!fwAdmin.isActive())
- throw new FrameworkAdminRuntimeException("FrameworkAdmin creates this object is no more available.", FrameworkAdminRuntimeException.FRAMEWORKADMIN_UNAVAILABLE);
- }
-
- /**
- *
- * @param launcherData
- * @return File of fwJar to be used.
- * @throws IOException
- */
- static File getFwJar(LauncherData launcherData) {
- if (launcherData.getFwJar() != null)
- return launcherData.getFwJar();
- return null;
- }
-
- private final String systemBundleSymbolicName;
-
- private final String systemBundleName;
-
- private final String systemBundleVendor;
- List bundleInfosList = new LinkedList();
-
- FrameworkAdmin fwAdmin = null;
-
- Manipulator manipulator = null;
-
- /**
- * If the manifest of the target fw implementation has Constants.BUNDLE_SYMBOLICNAME header,
- * this constructor should be used.
- *
- * @param ManipulatorAdmin
- * @param Manipulator
- * @param systemBundleSymbolicName
- */
- public SimpleBundlesState(FrameworkAdmin ManipulatorAdmin, Manipulator Manipulator, String systemBundleSymbolicName) {
- super();
- this.fwAdmin = ManipulatorAdmin;
- // copy Manipulator object for avoiding modifying the parameters of the Manipulator.
- this.manipulator = ManipulatorAdmin.getManipulator();
- this.manipulator.setConfigData(Manipulator.getConfigData());
- this.manipulator.setLauncherData(Manipulator.getLauncherData());
- this.systemBundleSymbolicName = systemBundleSymbolicName;
- this.systemBundleName = null;
- this.systemBundleVendor = null;
- initialize();
- }
-
- /**
- * If the manifest of the target fw implementation has not Constants.BUNDLE_SYMBOLICNAME header
- * but , Constants.BUNDLE_NAME and BUNDLE_VERSION,
- * this constructor should be used.
- *
- * @param ManipulatorAdmin
- * @param Manipulator
- * @param systemBundleName
- * @param systemBundleVender
- */
- public SimpleBundlesState(FrameworkAdmin ManipulatorAdmin, Manipulator Manipulator, String systemBundleName, String systemBundleVender) {
- super();
- this.fwAdmin = ManipulatorAdmin;
- // copy Manipulator object for avoiding modifying the parameters of the Manipulator.
- this.manipulator = ManipulatorAdmin.getManipulator();
- this.manipulator.setConfigData(Manipulator.getConfigData());
- this.manipulator.setLauncherData(Manipulator.getLauncherData());
- this.systemBundleSymbolicName = null;
- this.systemBundleName = systemBundleName;
- this.systemBundleVendor = systemBundleVender;
- initialize();
- }
-
- public BundleInfo[] getExpectedState() throws FrameworkAdminRuntimeException {
- if (!fwAdmin.isActive())
- throw new FrameworkAdminRuntimeException("FrameworkAdmin creates this object is no more available.", FrameworkAdminRuntimeException.FRAMEWORKADMIN_UNAVAILABLE);
- return Utils.getBundleInfosFromList(this.bundleInfosList);
- }
-
- /*
- * Just return required bundles.
- *
- * @see org.eclipse.equinox.internal.provisional.frameworkadmin.BundlesState#getPrerequisteBundles(org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo)
- */
- public BundleInfo[] getPrerequisteBundles(BundleInfo bInfo) {
- String location = bInfo.getLocation();
- final String requiredBundles = Utils.getManifestMainAttributes(location, Constants.REQUIRE_BUNDLE);
- if (requiredBundles == null)
- return new BundleInfo[] {this.getSystemBundle()};
-
- String[] clauses = Utils.getClauses(requiredBundles);
- List list = new LinkedList();
- for (int i = 0; i < clauses.length; i++)
- list.add(Utils.getPathFromClause(clauses[i]));
-
- List ret = new LinkedList();
- ret.add(this.getSystemBundle());
- for (Iterator ite = this.bundleInfosList.iterator(); ite.hasNext();) {
- BundleInfo currentBInfo = (BundleInfo) ite.next();
- String currentLocation = currentBInfo.getLocation();
- String currentSymbolicName = Utils.getManifestMainAttributes(currentLocation, Constants.BUNDLE_SYMBOLICNAME);
- if (currentSymbolicName == null)
- continue;
- currentSymbolicName = Utils.getPathFromClause(currentSymbolicName);
- for (Iterator ite2 = list.iterator(); ite2.hasNext();) {
- String symbolicName = (String) ite2.next();
- if (symbolicName.equals(currentSymbolicName)) {
- ret.add(currentBInfo);
- break;
- }
- }
- }
- return Utils.getBundleInfosFromList(ret);
- }
-
- public BundleInfo getSystemBundle() {
- if (this.systemBundleSymbolicName == null) {
- for (Iterator ite = this.bundleInfosList.iterator(); ite.hasNext();) {
- BundleInfo bInfo = (BundleInfo) ite.next();
- // if (bInfo.getStartLevel() != 1)
- // return null;;
- String location = bInfo.getLocation();
- String bundleName = Utils.getManifestMainAttributes(location, Constants.BUNDLE_NAME);
- if (systemBundleName.equals(bundleName)) {
- String bundleVendor = Utils.getManifestMainAttributes(location, Constants.BUNDLE_VENDOR);
- if (systemBundleVendor.equals(bundleVendor))
- return bInfo;
- }
- }
- return null;
- }
- for (Iterator ite = this.bundleInfosList.iterator(); ite.hasNext();) {
- BundleInfo bInfo = (BundleInfo) ite.next();
- String location = bInfo.getLocation();
- String symbolicName = Utils.getManifestMainAttributes(location, Constants.BUNDLE_SYMBOLICNAME);
- symbolicName = Utils.getPathFromClause(symbolicName);
- if (this.systemBundleSymbolicName.equals(symbolicName))
- return bInfo;
- }
- return null;
- }
-
- public BundleInfo[] getSystemFragmentedBundles() {
- BundleInfo systemBInfo = this.getSystemBundle();
- if (systemBInfo == null)
- return NULL_BUNDLEINFOS;
-
- List list = new LinkedList();
- for (Iterator ite = this.bundleInfosList.iterator(); ite.hasNext();) {
- BundleInfo bInfo = (BundleInfo) ite.next();
- String location = bInfo.getLocation();
- String manifestVersion = Utils.getManifestMainAttributes(location, Constants.BUNDLE_MANIFESTVERSION);
- if (manifestVersion == null)
- continue;
- if (manifestVersion.equals("1") || manifestVersion.equals("1.0"))
- continue;
-
- String fragmentHost = Utils.getManifestMainAttributes(location, Constants.FRAGMENT_HOST);
- if (fragmentHost == null)
- continue;
- int index = fragmentHost.indexOf(";");
- if (index == -1)
- continue;
- String symbolicName = fragmentHost.substring(0, index).trim();
- String parameter = fragmentHost.substring(index + 1).trim();
- // TODO What to do ,in case of alias name of system bundle is not used ?
- if (symbolicName.equals(Constants.SYSTEM_BUNDLE_SYMBOLICNAME))
- if (parameter.equals(Constants.EXTENSION_DIRECTIVE + ":=" + Constants.EXTENSION_FRAMEWORK)) {
- list.add(location);
- break;
- }
- }
- return Utils.getBundleInfosFromList(list);
- }
-
- public String[] getUnsatisfiedConstraints(BundleInfo bInfo) throws FrameworkAdminRuntimeException {
- throw new FrameworkAdminRuntimeException("getUnsatisfiedConstraints(BundleInfo bInfo) is not supported in this implementation", FrameworkAdminRuntimeException.UNSUPPORTED_OPERATION);
- }
-
- private void initialize() {
- this.bundleInfosList.clear();
- LauncherData launcherData = manipulator.getLauncherData();
- ConfigData configData = manipulator.getConfigData();
- File fwJar = getFwJar(launcherData);;
-
- if (fwJar == null)
- throw new IllegalStateException("launcherData.getLauncherConfigFile() == null && fwJar is not set.");
- // No fw persistent data location is taken into consideration.
-
- BundleInfo[] bInfos = configData.getBundles();
- for (int j = 0; j < bInfos.length; j++)
- this.installBundle(bInfos[j]);
-
- if (getSystemBundle() == null) {
- try {
- BundleInfo sysBInfo = new BundleInfo(launcherData.getFwJar().toURL().toExternalForm(), 0, true, 0);
- this.installBundle(sysBInfo);
-
- } catch (MalformedURLException e) {
- // Nothign to do because never happens.
- e.printStackTrace();
- }
- }
- }
-
- public void installBundle(BundleInfo bInfo) throws FrameworkAdminRuntimeException {
-
- String newLocation = bInfo.getLocation();
- Dictionary newManifest = Utils.getOSGiManifest(newLocation);
- if (newManifest == null) {
- // TODO log something here
- return;
- }
- String newSymbolicName = (String) newManifest.get(Constants.BUNDLE_SYMBOLICNAME);
- String newVersion = (String) newManifest.get(Constants.BUNDLE_VERSION);
- //System.out.println("> currentInstalledBundles.length=" + currentInstalledBundles.length);
- boolean found = false;
- for (Iterator ite = this.bundleInfosList.iterator(); ite.hasNext();) {
- BundleInfo currentBInfo = (BundleInfo) ite.next();
- String location = currentBInfo.getLocation();
- if (newLocation.equals(location)) {
- found = true;
- break;
- }
- Dictionary manifest = Utils.getOSGiManifest(location);
- String symbolicName = (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME);
- String version = (String) manifest.get(Constants.BUNDLE_VERSION);
- if (newSymbolicName != null && newVersion != null)
- if (newSymbolicName.equals(symbolicName) && newVersion.equals(version)) {
- found = true;
- break;
- }
- }
- if (!found) {
- this.bundleInfosList.add(bInfo);
- }
- }
-
- // public String toString() {
- // if (state == null)
- // return null;
- // StringBuffer sb = new StringBuffer();
- // BundleDescription[] bundleDescriptions = state.getBundles();
- // for (int i = 0; i < bundleDescriptions.length; i++) {
- // sb.append(bundleDescriptions[i].getBundleId() + ":");
- // sb.append(bundleDescriptions[i].toString() + "(");
- // sb.append(bundleDescriptions[i].isResolved() + ")");
- // String[] ees = bundleDescriptions[i].getExecutionEnvironments();
- // for (int j = 0; j < ees.length; j++)
- // sb.append(ees[j] + " ");
- // sb.append("\n");
- // }
- // sb.append("PlatformProperties:\n");
- // Dictionary[] dics = state.getPlatformProperties();
- // for (int i = 0; i < dics.length; i++) {
- // for (Enumeration enum = dics[i].keys(); enum.hasMoreElements();) {
- // String key = (String) enum.nextElement();
- // String value = (String) dics[i].get(key);
- // sb.append(" (" + key + "," + value + ")\n");
- // }
- // }
- // sb.append("\n");
- // return sb.toString();
- // }
-
- public boolean isFullySupported() {
- return false;
- }
-
- public boolean isResolved() throws FrameworkAdminRuntimeException {
- throw new FrameworkAdminRuntimeException("isResolved() is not supported in this implementation", FrameworkAdminRuntimeException.UNSUPPORTED_OPERATION);
- }
-
- public boolean isResolved(BundleInfo bInfo) throws FrameworkAdminRuntimeException {
- throw new FrameworkAdminRuntimeException("isResolved(BundleInfo bInfo) is not supported in this implementation", FrameworkAdminRuntimeException.UNSUPPORTED_OPERATION);
- }
-
- public void resolve(boolean increment) throws FrameworkAdminRuntimeException {
- throw new FrameworkAdminRuntimeException("resolve(boolean increment) is not supported in this implementation", FrameworkAdminRuntimeException.UNSUPPORTED_OPERATION);
- }
-
- public void uninstallBundle(BundleInfo bInfo) throws FrameworkAdminRuntimeException {
- String targetLocation = bInfo.getLocation();
- int index = -1;
- for (Iterator ite = this.bundleInfosList.iterator(); ite.hasNext();) {
- index++;
- BundleInfo currentBInfo = (BundleInfo) ite.next();
- String location = currentBInfo.getLocation();
- if (targetLocation.equals(location)) {
- break;
- }
- }
- if (index != -1)
- this.bundleInfosList.remove(index);
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/frameworkadmin/utils/Utils.java b/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/frameworkadmin/utils/Utils.java
deleted file mode 100644
index 99e8361..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/frameworkadmin/utils/Utils.java
+++ /dev/null
@@ -1,639 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.frameworkadmin.utils;
-
-import java.io.*;
-import java.net.*;
-import java.text.SimpleDateFormat;
-import java.util.*;
-import java.util.jar.*;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.osgi.service.pluginconversion.PluginConversionException;
-import org.eclipse.osgi.service.pluginconversion.PluginConverter;
-import org.osgi.framework.Constants;
-
-public class Utils {
- private static final String PATH_SEP = "/"; //$NON-NLS-1$
- private static final String[] EMPTY_STRING_ARRAY = new String[] {};
- private static final String FILE_PROTOCOL = "file:"; //$NON-NLS-1$
- private static final String FEATURE_MANIFEST = "feature.xml"; //$NON-NLS-1$
- private static final String FRAGMENT_MANIFEST = "fragment.xml"; //$NON-NLS-1$
- private static final String PLUGIN_MANIFEST = "plugin.xml"; //$NON-NLS-1$
-
- /**
- * Overwrite all properties of from to the properties of to. Return the result of to.
- *
- * @param to Properties whose keys and values of other Properties will be appended to.
- * @param from Properties whose keys and values will be set to the other properties.
- * @return Properties as a result of this method.
- */
- public static Properties appendProperties(Properties to, Properties from) {
- if (from != null) {
- if (to == null)
- to = new Properties();
- // printoutProperties(System.out, "to", to);
- // printoutProperties(System.out, "from", from);
-
- for (Enumeration enumeration = from.keys(); enumeration.hasMoreElements();) {
- String key = (String) enumeration.nextElement();
- to.setProperty(key, from.getProperty(key));
- }
- }
- // printoutProperties(System.out, "to", to);
- return to;
- }
-
- //Return a dictionary representing a manifest. The data may result from plugin.xml conversion
- private static Dictionary basicLoadManifest(File bundleLocation) {
- InputStream manifestStream = null;
- ZipFile jarFile = null;
- try {
- try {
- String fileExtention = bundleLocation.getName();
- fileExtention = fileExtention.substring(fileExtention.lastIndexOf('.') + 1);
- // Handle a JAR'd bundle
- if ("jar".equalsIgnoreCase(fileExtention) && bundleLocation.isFile()) { //$NON-NLS-1$
- jarFile = new ZipFile(bundleLocation, ZipFile.OPEN_READ);
- ZipEntry manifestEntry = jarFile.getEntry(JarFile.MANIFEST_NAME);
- if (manifestEntry != null) {
- manifestStream = jarFile.getInputStream(manifestEntry);
- }
- } else {
- // we have a directory-based bundle
- File bundleManifestFile = new File(bundleLocation, JarFile.MANIFEST_NAME);
- if (bundleManifestFile.exists())
- manifestStream = new BufferedInputStream(new FileInputStream(new File(bundleLocation, JarFile.MANIFEST_NAME)));
- }
- } catch (IOException e) {
- //ignore
- }
- // we were unable to get an OSGi manifest file so try and convert an old-style manifest
- if (manifestStream == null)
- return convertPluginManifest(bundleLocation, true);
-
- // It is not a manifest, but a plugin or a fragment
- try {
- Manifest m = new Manifest(manifestStream);
- Dictionary manifest = manifestToProperties(m.getMainAttributes());
- // add this check to handle the case were we read a non-OSGi manifest
- if (manifest.get(Constants.BUNDLE_SYMBOLICNAME) == null)
- return convertPluginManifest(bundleLocation, true);
- return manifest;
- } catch (IOException ioe) {
- return null;
- }
- } finally {
- try {
- if (manifestStream != null)
- manifestStream.close();
- } catch (IOException e1) {
- //Ignore
- }
- try {
- if (jarFile != null)
- jarFile.close();
- } catch (IOException e2) {
- //Ignore
- }
- }
- }
-
- public static void checkAbsoluteDir(File file, String dirName) throws IllegalArgumentException {
- if (file == null)
- throw new IllegalArgumentException(dirName + " is null");
- if (!file.isAbsolute())
- throw new IllegalArgumentException(dirName + " is not absolute path. file=" + file.getAbsolutePath());
- if (!file.isDirectory())
- throw new IllegalArgumentException(dirName + " is not directory. file=" + file.getAbsolutePath());
- }
-
- public static void checkAbsoluteFile(File file, String dirName) {//throws ManipulatorException {
- if (file == null)
- throw new IllegalArgumentException(dirName + " is null");
- if (!file.isAbsolute())
- throw new IllegalArgumentException(dirName + " is not absolute path. file=" + file.getAbsolutePath());
- if (file.isDirectory())
- throw new IllegalArgumentException(dirName + " is not file but directory");
- }
-
- public static URL checkFullUrl(URL url, String urlName) throws IllegalArgumentException {//throws ManipulatorException {
- if (url == null)
- throw new IllegalArgumentException(urlName + " is null");
- if (!url.getProtocol().endsWith("file"))
- return url;
- File file = new File(url.getFile());
- if (!file.isAbsolute())
- throw new IllegalArgumentException(urlName + "(" + url + ") does not have absolute path");
- if (file.getAbsolutePath().startsWith(PATH_SEP))
- return url;
- try {
- return getUrl("file", null, PATH_SEP + file.getAbsolutePath());
- } catch (MalformedURLException e) {
- throw new IllegalArgumentException(urlName + "(" + "file:" + PATH_SEP + file.getAbsolutePath() + ") is not fully quallified");
- }
- }
-
- public static void createParentDir(File file) throws IOException {
- File parent = file.getParentFile();
- if (parent == null)
- return;
- parent.mkdirs();
- }
-
- /**
- * Deletes the given file recursively, adding failure info to
- * the provided status object. The filePath is passed as a parameter
- * to optimize java.io.File object creation.
- */
- // Implementation taken from the Eclipse File sytem bundle class LocalFile.
- // TODO consider putting back the progress and cancelation support.
- private static boolean internalDelete(File target, String pathToDelete) {
- //first try to delete - this should succeed for files and symbolic links to directories
- if (target.delete() || !target.exists())
- return true;
- if (target.isDirectory()) {
- String[] list = target.list();
- if (list == null)
- list = EMPTY_STRING_ARRAY;
- int parentLength = pathToDelete.length();
- boolean failedRecursive = false;
- for (int i = 0, imax = list.length; i < imax; i++) {
- //optimized creation of child path object
- StringBuffer childBuffer = new StringBuffer(parentLength + list[i].length() + 1);
- childBuffer.append(pathToDelete);
- childBuffer.append(File.separatorChar);
- childBuffer.append(list[i]);
- String childName = childBuffer.toString();
- // try best effort on all children so put logical OR at end
- failedRecursive = !internalDelete(new java.io.File(childName), childName) || failedRecursive;
- }
- try {
- // don't try to delete the root if one of the children failed
- if (!failedRecursive && target.delete())
- return true;
- } catch (Exception e) {
- // we caught a runtime exception so log it
- return false;
- }
- }
- // message = NLS.bind(Messages.couldnotDelete, target.getAbsolutePath());
- return false;
- }
-
- public static void deleteDir(File target) throws IOException {
- internalDelete(target, target.getAbsolutePath());
- throw new IOException("Fail to delete Dir(" + target.getAbsolutePath() + ")");
- }
-
- /**
- * First, it replaces File.seperator of relativePath to "/".
- * If relativePath is in URL format, return its URL.
- * Otherwise, create absolute URL based on the baseUrl.
- *
- * @param relativePath
- * @param baseUrl
- * @return URL
- * @throws MalformedURLException
- */
- public static URL formatUrl(String relativePath, URL baseUrl) throws MalformedURLException {//throws ManipulatorException {
- relativePath = Utils.replaceAll(relativePath, File.separator, "/");
- URL url = null;
- try {
- url = new URL(relativePath);
- if (url.getProtocol().equals("file"))
- if (!(new File(url.getFile())).isAbsolute())
- url = getUrlInFull(relativePath, baseUrl);
- return url;
- } catch (MalformedURLException e) {
- return getUrlInFull(relativePath, baseUrl);
- }
- }
-
- public static BundleInfo[] getBundleInfosFromList(List list) {
- if (list == null)
- return new BundleInfo[0];
- BundleInfo[] ret = new BundleInfo[list.size()];
- list.toArray(ret);
- return ret;
- }
-
- public static String[] getClauses(String header) {
- StringTokenizer token = new StringTokenizer(header, ",");
- List list = new LinkedList();
- while (token.hasMoreTokens()) {
- list.add(token.nextToken());
- }
- String[] ret = new String[list.size()];
- list.toArray(ret);
- return ret;
- }
-
- public static String[] getClausesManifestMainAttributes(String location, String name) {
- return getClauses(getManifestMainAttributes(location, name));
- }
-
- public static String getManifestMainAttributes(String location, String name) {
- Dictionary manifest = Utils.getOSGiManifest(location);
- if (manifest == null)
- throw new RuntimeException("Unable to locate bundle manifest: " + location);
- return (String) manifest.get(name);
- }
-
- public static Dictionary getOSGiManifest(String location) {
- if (location == null)
- return null;
- // if we have a file-based URL that doesn't end in ".jar" then...
- if (location.startsWith(FILE_PROTOCOL) && !location.endsWith(".jar"))
- return basicLoadManifest(new File(location.substring(FILE_PROTOCOL.length())));
-
- try {
- JarFile jar = null;
- File file = null;
- if (location.startsWith(FILE_PROTOCOL)) {
- file = new File(location.substring(FILE_PROTOCOL.length()));
- jar = new JarFile(file);
- } else {
- URL url = new URL("jar:" + location + "!/");
- JarURLConnection jarConnection = (JarURLConnection) url.openConnection();
- jar = jarConnection.getJarFile();
- // todo should set this var if possible
- // file = ;
- }
- try {
- Manifest manifest = jar.getManifest();
- // we might have an old-style plug-in so look for an old plug-in manifest
- if (manifest == null) {
- if (file == null)
- return null;
- // make sure we have something to convert
- JarEntry entry = jar.getJarEntry(PLUGIN_MANIFEST);
- if (entry == null)
- entry = jar.getJarEntry(FRAGMENT_MANIFEST);
- if (entry == null)
- return null;
- return convertPluginManifest(file, true);
- }
- Attributes attributes = manifest.getMainAttributes();
- // if we have a JAR'd bundle that has a non-OSGi manifest file (like
- // the ones produced by Ant, then try and convert the plugin.xml
- if (attributes.getValue(Constants.BUNDLE_SYMBOLICNAME) == null) {
- if (file == null)
- return null;
- return convertPluginManifest(file, true);
- }
- Dictionary result = new Hashtable();
- for (Iterator iter = attributes.keySet().iterator(); iter.hasNext();) {
- String key = iter.next().toString();
- result.put(key, attributes.getValue(key));
- }
- return result;
- } finally {
- jar.close();
- }
- } catch (IOException e) {
- if (System.getProperty("osgi.debug") != null) {
- System.err.println("location=" + location);
- e.printStackTrace();
- }
- }
- return null;
- }
-
- /*
- * Copied from BundleDescriptionFactory in the metadata generator.
- */
- private static Dictionary convertPluginManifest(File bundleLocation, boolean logConversionException) {
- PluginConverter converter;
- try {
- converter = org.eclipse.equinox.internal.frameworkadmin.utils.Activator.acquirePluginConverter();
- if (converter == null) {
- new RuntimeException("Unable to aquire PluginConverter service during generation for: " + bundleLocation).printStackTrace(); //$NON-NLS-1$
- return null;
- }
- return converter.convertManifest(bundleLocation, false, null, true, null);
- } catch (PluginConversionException convertException) {
- // only log the exception if we had a plugin.xml or fragment.xml and we failed conversion
- if (bundleLocation.getName().equals(FEATURE_MANIFEST))
- return null;
- if (!new File(bundleLocation, PLUGIN_MANIFEST).exists() && !new File(bundleLocation, FRAGMENT_MANIFEST).exists())
- return null;
- if (logConversionException) {
- IStatus status = new Status(IStatus.WARNING, "org.eclipse.equinox.frameworkadmin", 0, "Error converting bundle manifest.", convertException);
- System.out.println(status);
- //TODO Need to find a way to get a logging service to log
- }
- return null;
- }
- }
-
- public static String getPathFromClause(String clause) {
- if (clause == null)
- return null;
- if (clause.indexOf(";") != -1)
- clause = clause.substring(0, clause.indexOf(";"));
- return clause.trim();
- }
-
- public static String getRelativePath(File target, File from) {
-
- String targetPath = Utils.replaceAll(target.getAbsolutePath(), File.separator, PATH_SEP);
- String fromPath = Utils.replaceAll(from.getAbsolutePath(), File.separator, PATH_SEP);
-
- String[] targetTokens = Utils.getTokens(targetPath, PATH_SEP);
- String[] fromTokens = Utils.getTokens(fromPath, PATH_SEP);
- int index = -1;
- for (int i = 0; i < fromTokens.length; i++)
- if (fromTokens[i].equals(targetTokens[i]))
- index = i;
- else
- break;
-
- StringBuffer sb = new StringBuffer();
- for (int i = index + 1; i < fromTokens.length; i++)
- sb.append(".." + PATH_SEP);
-
- for (int i = index + 1; i < targetTokens.length; i++)
- if (i != targetTokens.length - 1)
- sb.append(targetTokens[i] + PATH_SEP);
- else
- sb.append(targetTokens[i]);
- return sb.toString();
- }
-
- public static String getRelativePath(URL target, URL from) throws IllegalArgumentException {
-
- if (!target.getProtocol().equals(from.getProtocol()))
- throw new IllegalArgumentException("Protocols of target(=" + target + ") and from(=" + from + ") does NOT equal");
-
- if (target.getHost() != null && target.getHost().length() != 0) {
- //System.out.println("target.getHost()=" + target.getHost());
- if (from.getHost() != null && from.getHost().length() != 0) {
- if (!target.getHost().equals(from.getHost()))
- throw new IllegalArgumentException("Hosts of target(=" + target + ") and from(=" + from + ") does NOT equal");
- if (target.getPort() != (from.getPort()))
- throw new IllegalArgumentException("Ports of target(=" + target + ") and from(=" + from + ") does NOT equal");
- } else
- throw new IllegalArgumentException("While Host of target(=" + target + ") is set, Host of from is null.target.getHost()=" + target.getHost());
- } else if (from.getHost() != null && from.getHost().length() != 0)
- throw new IllegalArgumentException("While Host of from(=" + from + ") is set, Host of target is null");
-
- String targetPath = target.getFile();
- String fromPath = from.getFile();
-
- String[] targetTokens = Utils.getTokens(targetPath, PATH_SEP);
- String[] fromTokens = Utils.getTokens(fromPath, PATH_SEP);
- int index = -1;
- for (int i = 0; i < fromTokens.length; i++)
- if (fromTokens[i].equals(targetTokens[i]))
- index = i;
- else
- break;
-
- StringBuffer sb = new StringBuffer();
- for (int i = index + 1; i < fromTokens.length; i++)
- sb.append(".." + PATH_SEP);
-
- for (int i = index + 1; i < targetTokens.length; i++)
- if (i != targetTokens.length - 1)
- sb.append(targetTokens[i] + PATH_SEP);
- else
- sb.append(targetTokens[i]);
- return sb.toString();
- }
-
- // public static URL getAbsoluteUrl(String relativePath, URL baseUrl) throws FwLauncherException {
- // relativePath = Utils.replaceAll(relativePath, File.separator, "/");
- // try {
- // return new URL(baseUrl, relativePath);
- // } catch (MalformedURLException e) {
- // throw new FwLauncherException("Absolute URL cannot be created. \nrelativePath=" + relativePath + ",baseUrl=" + baseUrl, e, FwLauncherException.URL_FORMAT_ERROR);
- // }
- // }
-
- // public static void setProperties(Properties to, Properties from, String key) {
- // if (from != null) {
- // String value = from.getProperty(key);
- // if (value != null) {
- // if (to != null)
- // to = new Properties();
- // to.setProperty(key, value);
- // }
- // }
- // }
-
- // public static int getIntProperties(Properties props, String key) {//throws ManipulatorException {
- // if (props == null)
- // throw new IllegalArgumentException("props == null");
- // String value = null;
- // try {
- // value = props.getProperty(key);
- // return Integer.parseInt(value);
- // } catch (NumberFormatException nfe) {
- // throw new ManipulatorException("key=" + key + ",value=" + value, nfe, ManipulatorException.OTHERS);
- // }
- // }
-
- /**
- * This method will be called for create a backup file.
- *
- * @param file target file
- * @return File backup file whose filename consists of "hogehoge.yyyyMMddHHmmss.ext" or
- * "hogehoge.yyyyMMddHHmmss".
- */
- public static File getSimpleDataFormattedFile(File file) {
- SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");
- String date = df.format(new Date());
- String filename = file.getName();
- int index = filename.lastIndexOf(".");
- if (index != -1)
- filename = filename.substring(0, index) + "." + date + "." + filename.substring(index + 1);
- else
- filename = filename + "." + date;
- File dest = new File(file.getParentFile(), filename);
- return dest;
- }
-
- public static String[] getTokens(String msg, String delim) {
- return getTokens(msg, delim, false);
- }
-
- public static String[] getTokens(String msg, String delim, boolean returnDelims) {
- StringTokenizer targetST = new StringTokenizer(msg, delim, returnDelims);
- String[] tokens = new String[targetST.countTokens()];
- ArrayList list = new ArrayList(targetST.countTokens());
- while (targetST.hasMoreTokens()) {
- list.add(targetST.nextToken());
- }
- list.toArray(tokens);
- return tokens;
- }
-
- public static URL getUrl(String protocol, String host, String file) throws MalformedURLException {// throws ManipulatorException {
- file = Utils.replaceAll(file, File.separator, "/");
- return new URL(protocol, host, file);
- }
-
- public static URL getUrlInFull(String path, URL from) throws MalformedURLException {//throws ManipulatorException {
- Utils.checkFullUrl(from, "from");
- path = Utils.replaceAll(path, File.separator, "/");
- //System.out.println("from.toExternalForm()=" + from.toExternalForm());
- String fromSt = Utils.removeLastCh(from.toExternalForm(), '/');
- //System.out.println("fromSt=" + fromSt);
- if (path.startsWith("/")) {
- String fileSt = from.getFile();
- return new URL(fromSt.substring(0, fromSt.lastIndexOf(fileSt) - 1) + path);
- }
- return new URL(fromSt + "/" + path);
- }
-
- private static Properties manifestToProperties(Attributes d) {
- Iterator iter = d.keySet().iterator();
- Properties result = new Properties();
- while (iter.hasNext()) {
- Attributes.Name key = (Attributes.Name) iter.next();
- result.put(key.toString(), d.get(key));
- }
- return result;
- }
-
- /**
- * Just used for debug.
- *
- * @param ps printstream
- * @param name name of properties
- * @param props properties whose keys and values will be printed out.
- */
- public static void printoutProperties(PrintStream ps, String name, Properties props) {
- if (props == null || props.size() == 0) {
- ps.println("Props(" + name + ") is empty");
- return;
- }
- ps.println("Props(" + name + ")=");
- for (Enumeration enumeration = props.keys(); enumeration.hasMoreElements();) {
- String key = (String) enumeration.nextElement();
- ps.print("\tkey=" + key);
- ps.println("\tvalue=" + props.getProperty(key));
- }
- }
-
- public static String removeLastCh(String target, char ch) {
- while (target.charAt(target.length() - 1) == ch) {
- target = target.substring(0, target.length() - 1);
- }
- return target;
- }
-
- public static String replaceAll(String st, String oldSt, String newSt) {
- if (oldSt.equals(newSt))
- return st;
- int index = -1;
- while ((index = st.indexOf(oldSt)) != -1) {
- st = st.substring(0, index) + newSt + st.substring(index + oldSt.length());
- }
- return st;
- }
-
- public static String shrinkPath(String target) {
- String targetPath = Utils.replaceAll(target, File.separator, PATH_SEP);
- String[] targetTokens = Utils.getTokens(targetPath, PATH_SEP);
- //String[] fromTokens = Utils.getTokens(fromPath, PATH_SEP);
- for (int i = 0; i < targetTokens.length; i++)
- if (targetTokens[i].equals("")) {
- targetTokens[i] = null;
- } else if (targetTokens[i].equals(".")) {
- targetTokens[i] = null;
- } else if (targetTokens[i].equals("..")) {
- int id = i - 1;
- while (targetTokens[id] == null) {
- id--;
- }
- targetTokens[id] = null;
- }
-
- StringBuffer sb = new StringBuffer();
- if (targetPath.startsWith(PATH_SEP))
- sb.append(PATH_SEP);
- for (int i = 0; i < targetTokens.length; i++)
- if (targetTokens[i] != null)
- sb.append(targetTokens[i] + PATH_SEP);
- String ret = sb.toString();
- if (!targetPath.endsWith(PATH_SEP))
- ret = ret.substring(0, ret.lastIndexOf(PATH_SEP));
- return ret;
- }
-
- /**
- * Sort by increasing order of startlevels.
- *
- * @param bInfos array of BundleInfos to be sorted.
- * @param initialBSL initial bundle start level to be used.
- * @return sorted array of BundleInfos
- */
- public static BundleInfo[] sortBundleInfos(BundleInfo[] bInfos, int initialBSL) {
- SortedMap bslToList = new TreeMap();
- for (int i = 0; i < bInfos.length; i++) {
- Integer sL = new Integer(bInfos[i].getStartLevel());
- if (sL.intValue() == BundleInfo.NO_LEVEL)
- sL = new Integer(initialBSL);
- List list = (List) bslToList.get(sL);
- if (list == null) {
- list = new LinkedList();
- bslToList.put(sL, list);
- }
- list.add(bInfos[i]);
- }
-
- // bslToList is sorted by the key (StartLevel).
- List bundleInfoList = new LinkedList();
- for (Iterator ite = bslToList.keySet().iterator(); ite.hasNext();) {
- Integer sL = (Integer) ite.next();
- List list = (List) bslToList.get(sL);
- for (Iterator ite2 = list.iterator(); ite2.hasNext();) {
- BundleInfo bInfo = (BundleInfo) ite2.next();
- bundleInfoList.add(bInfo);
- }
- }
- return getBundleInfosFromList(bundleInfoList);
- }
-
- /**
- * get String representing the given properties.
- *
- * @param name name of properties
- * @param props properties whose keys and values will be printed out.
- */
- public static String toStringProperties(String name, Properties props) {
- if (props == null || props.size() == 0) {
- return "Props(" + name + ") is empty\n";
- }
- StringBuffer sb = new StringBuffer();
- sb.append("Props(" + name + ") is \n");
- for (Enumeration enumeration = props.keys(); enumeration.hasMoreElements();) {
- String key = (String) enumeration.nextElement();
- sb.append("\tkey=" + key + "\tvalue=" + props.getProperty(key) + "\n");
- }
- return sb.toString();
- }
-
- public static void validateUrl(URL url) {//throws ManipulatorException {
- try {//test
- URLConnection connection = url.openConnection();
- connection.connect();
- } catch (IOException e) {
- throw new IllegalArgumentException("URL(" + url + ") cannot be connected.");
- }
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/configuratormanipulator/ConfiguratorManipulator.java b/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/configuratormanipulator/ConfiguratorManipulator.java
deleted file mode 100644
index f400e35..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/configuratormanipulator/ConfiguratorManipulator.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.configuratormanipulator;
-
-import java.io.File;
-import java.io.IOException;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-
-/**
- *
- * This interface provides methods that enable client bundles to
- * manipulate the corresponding ConfiguratorBundle.
- *
- * @see Configurator
- */
-
-public interface ConfiguratorManipulator {
- String SERVICE_PROP_KEY_CONFIGURATOR_BUNDLESYMBOLICNAME = "org.eclipse.equinox.configurator.BundleSymbolicName";
-
- /**
- * Save configuration for the corresponding Configurator Bundle so that
- * Bundles kept by the specified {@link Manipulator} would be installed after completion of a launch.
- * The location of a configuration file is determined by the parameters set to the Manipulator object
- * and it depends on the corresponding ConfiguratorBundle implementation.
- *
- * While some parameters of the {@link Manipulator} object will be modified (for setting info about the
- * location the ConfiguratorBundle would be able to refer in a future launch),
- * the Bundles kept by the {@link Manipulator} object should not be modified.
- *
- * Instead, it will return BundleInfo[] to be managed not by the ConfiguratorBundle.
- * These values are supposed to be saved into fw config files.
- *
- * If backup flag is true, a file have existed already under the same name
- * will be renamed into another name as a backup.
- *
- * We assume that the implementation of {@link Manipulator#save(boolean)} will call this method.
- *
- * @return array of BundleInfo to be saved as installing bundles in fw config files.
- * @param manipulator {@link Manipulator} object which contains the bundles to be installed finally.
- * @param backup if files exists at the location to save, it will be copied as a backup.
- * @throws IOException - If fail to save configuration for the corresponding Configurator Bundle.
- */
- BundleInfo[] save(Manipulator manipulator, boolean backup) throws IOException;
-
- /**
- * Update bundles kept by the specified {@link Manipulator} object into installed bundles
- * if {@link FrameworkAdmin#launch(Manipulator, File)} with the specified
- * {@link Manipulator} is called taking the corresponding ConfiguratorBundle behaivior into account.
- *
- * If there is no corresponding ConfiguratorBundle in Manipulator.getConfigData().getBundles(),
- * just return.
- *
- * The BundleInfo[] of the specified Manipulator object will be modified.
- *
- * This method is assumed to be called from {@link Manipulator#load()}.
- *
- * @param manipulator {@link Manipulator} object to be used and updated.
- * @throws IOException - If fail to read configuration for the corresponding Configurator Bundle.
- */
- void updateBundles(Manipulator manipulator) throws IOException;
-
- void cleanup(Manipulator manipulator);
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/configuratormanipulator/ConfiguratorManipulatorFactory.java b/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/configuratormanipulator/ConfiguratorManipulatorFactory.java
deleted file mode 100644
index 1112455..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/configuratormanipulator/ConfiguratorManipulatorFactory.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.configuratormanipulator;
-
-import org.eclipse.equinox.internal.provisional.frameworkadmin.FrameworkAdmin;
-
-/**
- * Factory class for creating ConfiguratorManipulator object from Java programs.
- *
- * @see FrameworkAdmin
- */
-public abstract class ConfiguratorManipulatorFactory {
- public final static String SYSTEM_PROPERTY_KEY = "org.eclipse.equinox.configuratorManipulatorFactory";
-
- abstract protected ConfiguratorManipulator createConfiguratorManipulator();
-
- public static ConfiguratorManipulator getInstance(String className) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
- ConfiguratorManipulatorFactory factory = (ConfiguratorManipulatorFactory) Class.forName(className).newInstance();
- return factory.createConfiguratorManipulator();
- }
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/BundleInfo.java b/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/BundleInfo.java
deleted file mode 100644
index 69a6f58..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/BundleInfo.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.frameworkadmin;
-
-import org.eclipse.core.runtime.Path;
-
-/**
- * This object represents information of a bundle.
- *
- */
-public class BundleInfo {
- public static final int NO_LEVEL = -1;
- public static final int NO_BUNDLEID = -1;
-
- private String symbolicName = null;
- private String version = null;
- private String location;
- private long bundleId = NO_BUNDLEID;
-
- private boolean markedAsStarted = false;
- private int startLevel = NO_LEVEL;
- private boolean resolved = false;
-
- private String manifest;
-
- public BundleInfo() {
- }
-
- public BundleInfo(String location) {
- if (location != null)
- this.location = location.trim();
- }
-
- public BundleInfo(String location, boolean started) {
- if (location != null)
- this.location = location.trim();
- this.markedAsStarted = started;
- }
-
- public BundleInfo(String location, int startLevel) {
- if (location != null)
- this.location = location.trim();
- this.startLevel = startLevel;
- }
-
- public BundleInfo(String location, int startLevel, boolean started) {
- if (location != null)
- this.location = location.trim();
- this.startLevel = startLevel;
- this.markedAsStarted = started;
- }
-
- public BundleInfo(String location, int startLevel, boolean started, long bundleId) {
- if (location != null)
- this.location = location.trim();
- this.startLevel = startLevel;
- this.markedAsStarted = started;
- this.bundleId = bundleId;
- }
-
- public BundleInfo(String symbolic, String version, String location, int startLevel, boolean started) {
- this.symbolicName = symbolic;
- this.version = version;
- if (location != null)
- this.location = location.trim();
- this.markedAsStarted = started;
- this.startLevel = startLevel;
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#equals(java.lang.Object)
- */
- public boolean equals(Object toCompare) {
- if (toCompare instanceof BundleInfo) {
- BundleInfo info = (BundleInfo) toCompare;
- //if (info.symbolicName.equals(symbolicName) && info.version.equals(version) && (info.url == null || url == null ? true : info.url.equals(url)))
- if (info.symbolicName != null && info.version != null && symbolicName != null && version != null) {
- // TODO: the equalsIgnoreCase for location comparison is a bug;
- // need a platform sensitive location comparison method
- if (info.symbolicName.equals(symbolicName) && info.version.equals(version) && (info.location == null || location == null ? true : new Path(info.location).toFile().equals(new Path(location).toFile())))
- return true;
- } else {
- return (info.location == null || location == null ? false : new Path(info.location).toFile().equals(new Path(location).toFile()));
- }
- }
- return false;
- }
-
- public long getBundleId() {
- return bundleId;
- }
-
- public String getLocation() {
- return location;
- }
-
- public String getManifest() {
- return manifest;
- }
-
- public int getStartLevel() {
- return startLevel;
- }
-
- public String getSymbolicName() {
- return symbolicName;
- }
-
- public String getVersion() {
- return version;
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#hashCode()
- */
- public int hashCode() {
- int result = symbolicName == null ? 0 : symbolicName.hashCode();
- result = result + (version == null ? 0 : version.hashCode());
- result = result + (location == null ? 0 : new Path(location).toFile().hashCode());
- return result;
- }
-
- public boolean isMarkedAsStarted() {
- return markedAsStarted;
- }
-
- public boolean isResolved() {
- return resolved;
- }
-
- public void setBundleId(long bundleId) {
- this.bundleId = bundleId;
- }
-
- public void setLocation(String location) {
- this.location = (location != null ? location.trim() : null);
-
- }
-
- public void setManifest(String manifest) {
- this.manifest = manifest;
- }
-
- public void setMarkedAsStarted(boolean markedAsStarted) {
- this.markedAsStarted = markedAsStarted;
- }
-
- public void setResolved(boolean resolved) {
- this.resolved = resolved;
- }
-
- public void setStartLevel(int level) {
- this.startLevel = level;
- }
-
- public void setSymbolicName(String symbolicName) {
- this.symbolicName = symbolicName;
- }
-
- public void setVersion(String value) {
- this.version = value;
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#toString()
- */
- public String toString() {
- StringBuffer buffer = new StringBuffer();
- buffer.append("BundleInfo("); //$NON-NLS-1$
- if (symbolicName != null)
- buffer.append(symbolicName);
- buffer.append(", "); //$NON-NLS-1$
- if (version != null)
- buffer.append(version);
- buffer.append(", "); //$NON-NLS-1$
- buffer.append("location="); //$NON-NLS-1$
- buffer.append(location);
- buffer.append(", startLevel="); //$NON-NLS-1$
- buffer.append(startLevel);
- buffer.append(", toBeStarted="); //$NON-NLS-1$
- buffer.append(markedAsStarted);
- buffer.append(", resolved="); //$NON-NLS-1$
- buffer.append(resolved);
- buffer.append(", id="); //$NON-NLS-1$
- buffer.append(this.bundleId);// buffer.append(',').append(manifest == null ? "no manifest" : "manifest available");
- buffer.append(',').append(manifest == null ? "no manifest" : "manifest available"); //$NON-NLS-1$ //$NON-NLS-2$
- buffer.append(')');
- return buffer.toString();
- }
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/BundlesState.java b/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/BundlesState.java
deleted file mode 100644
index 971373b..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/BundlesState.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.frameworkadmin;
-
-/**
- * This API is used for expecting bundles state virtually.
- *
- * This object is instantiated by {@link Manipulator#getBundlesState()}.
- * At its instantiation, state of the bundles will be created in this object
- * according to the parameters which the calling {@link Manipulator} object has.
- * For its creation, information in the fw persistent data will be taken into account.
- *
- * Modification of this object after its instantiation never affects the parameters
- * in the calling {@link Manipulator} object.
- *
- * XXX Implementation of Simple ConfiguratorManipulator needs the functions.
- *
- * @see Manipulator
- */
-public interface BundlesState {
-
- /** Return expected bundles state currently kept in this object.
- *
- * The implementation of this method will try to resolve the state
- * if resolving a state is supported.
- *
- * @return bundle array of BundleInfo currently composed in this object.
- * @throws FrameworkAdminRuntimeException - If the {@link FrameworkAdmin} service created the parent {@link Manipulator} is unregistered.
- */
- BundleInfo[] getExpectedState() throws FrameworkAdminRuntimeException;
-
- /**
- * Return required bundles to be resolve the specified bInfo
- * under the state currently composed.
- *
- * The implementation of this method will try to resolve the state
- * if resolving a state is supported.
- *
- * @param bInfo bundleinfo whose prerequisite bundles will be searched.
- * @return bundle array of BundleInfos required for the specified bInfo to be resolved.
- */
- BundleInfo[] getPrerequisteBundles(BundleInfo bInfo);
-
- /**
- * Return a bundle to be used as a framework under the state currently composed.
- * @return a bundle to be used as a framework under the state currently composed.
- */
- public BundleInfo getSystemBundle();
-
- /**
- * Return bundles which are fragment bundles of the framework under the state currently composed.
- * @return array of BundleInfos which are fragment bundles of the framework.
- */
- public BundleInfo[] getSystemFragmentedBundles();
-
- /**
- * Return array of Strings which tells the unsatisfied constaints
- * to resolve the specified bInfo under the state currently composed.
- *
- * If this implementation doesn't support resolving state,
- * FrameworkAdminRuntimeException with a cause of {@value FrameworkAdminRuntimeException#UNSUPPORTED_OPERATION}
- * will be thrown.
- *
- * XXX this method is prepared mainly for debugging.
- *
- * @param bInfo
- * @return array of Strings which tells the unsatisfied constaints.
- * @throws FrameworkAdminRuntimeException if this implementation doesn't support resolving state, FrameworkAdminRuntimeException with a cause of {@value FrameworkAdminRuntimeException#UNSUPPORTED_OPERATION} will be thrown.
- */
- public String[] getUnsatisfiedConstraints(BundleInfo bInfo) throws FrameworkAdminRuntimeException;
-
- /**
- * Install the specified bInfo as a installed bundle to the current state virtually.
- * Note that resolve this bundle is not done in this implementation.
- *
- * @param bInfo BundleInfo to be installed
- * @throws FrameworkAdminRuntimeException - If the {@link FrameworkAdmin} service created the parent {@link Manipulator} is unregistered.
- */
- void installBundle(BundleInfo bInfo) throws FrameworkAdminRuntimeException;
-
- /**
- * Return true if this implementation supports full functions,
- * such as resolving bundles and .
- * Otherwise false will be returend.
- * @return true if this implementation supports resolving state. Otherwise false.
- */
- boolean isFullySupported();
-
- /**
- * Return true if the state currently composed is resolved after the last change of the state.
- * Otherwise false.
- *
- * If this implementation doesn't support resolving state,
- * FrameworkAdminRuntimeException with a cause of {@value FrameworkAdminRuntimeException#UNSUPPORTED_OPERATION}
- * will be thrown.
- *
- * @return true if the state currently composed is resolved after the last change of the state. Otherwise false.
- * @throws FrameworkAdminRuntimeException if this implementation doesn't support resolving state, FrameworkAdminRuntimeException with a cause of {@value FrameworkAdminRuntimeException#UNSUPPORTED_OPERATION} will be thrown.
- */
- public boolean isResolved() throws FrameworkAdminRuntimeException;
-
- /**
- * Return true if the specified bundle is resolved.
- * Otherwise false.
- *
- * If this implementation doesn't support resolving state,
- * FwLauncherException with a cause of {@value FwLauncherException#UNSUPPORTED_OPERATION}
- * will be thrown.
- *
- * @return true if the specified bundle is resolved. Otherwise false.
- * @throws FrameworkAdminRuntimeException if this implementation doesn't support resolving state, FrameworkAdminRuntimeException with a cause of {@value FrameworkAdminRuntimeException#UNSUPPORTED_OPERATION} will be thrown.
- */
- public boolean isResolved(BundleInfo bInfo) throws FrameworkAdminRuntimeException;
-
- /**
- * Resolves the constraints contained in this state.
- *
- * If this implementation doesn't support resolving state,
- * FrameworkAdminRuntimeException with a cause of {@value FrameworkAdminRuntimeException#UNSUPPORTED_OPERATION}
- * will be thrown.
- *
- * @param incremental a flag controlling whether resolution should be incremental
- * @throws FrameworkAdminRuntimeException
- */
- void resolve(boolean increment) throws FrameworkAdminRuntimeException;
-
- /**
- * Uninstall the specified bInfo from the current state virtually.
- *
- * @param bInfo BundleInfo to be uninstalled
- * @throws FrameworkAdminRuntimeException - If the {@link FrameworkAdmin} service created the parent {@link Manipulator} is unregistered.
- */
- void uninstallBundle(BundleInfo bInfo) throws FrameworkAdminRuntimeException;;
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/ConfigData.java b/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/ConfigData.java
deleted file mode 100644
index 0ee6bf2..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/ConfigData.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.provisional.frameworkadmin;
-
-import java.util.*;
-
-/**
- * This object is instantiated by {@link Manipulator#getConfigData()};
- * The class that keeps some parameters of the {@link Manipulator}
- * created this object. The manipulating of the parameters will affect
- * the {@link Manipulator}.
- *
- * @see Manipulator
- */
-public class ConfigData {
-
- private static Properties appendProperties(Properties to, Properties from) {
- if (from != null) {
- if (to == null)
- to = new Properties();
- // printoutProperties(System.out, "to", to);
- // printoutProperties(System.out, "from", from);
-
- for (Enumeration enumeration = from.keys(); enumeration.hasMoreElements();) {
- String key = (String) enumeration.nextElement();
- to.setProperty(key, from.getProperty(key));
- }
- }
- // printoutProperties(System.out, "to", to);
- return to;
- }
-
- final private String fwName;
- final private String fwVersion;
- final private String launcherName;
- final private String launcherVersion;
- private int beginningFwStartLevel = BundleInfo.NO_LEVEL;
- private int initialBundleStartLevel = BundleInfo.NO_LEVEL;
- // List of BundleInfo
- private LinkedHashSet bundlesList = new LinkedHashSet();
- private Properties fwIndependentProps = new Properties();
-
- private Properties fwDependentProps = new Properties();
-
- public ConfigData(String fwName, String fwVersion, String launcherName, String launcherVersion) {
- this.fwName = fwName;
- this.fwVersion = fwVersion;
- this.launcherName = launcherName;
- this.launcherVersion = launcherVersion;
- this.initialize();
- }
-
- public void addBundle(BundleInfo bundleInfo) {
- this.bundlesList.add(bundleInfo);
- }
-
- public int getBeginingFwStartLevel() {
- return this.beginningFwStartLevel;
- }
-
- public BundleInfo[] getBundles() {
- if (bundlesList.size() == 0)
- return new BundleInfo[0];
- BundleInfo[] ret = new BundleInfo[bundlesList.size()];
- bundlesList.toArray(ret);
- return ret;
- }
-
- public String getFwDependentProp(String key) {
- return fwDependentProps.getProperty(key);
- }
-
- public Properties getFwDependentProps() {
- Properties ret = new Properties();
- appendProperties(ret, fwDependentProps);
- return ret;
- }
-
- public String getFwIndependentProp(String key) {
- return fwIndependentProps.getProperty(key);
- }
-
- public Properties getFwIndependentProps() {
- Properties ret = new Properties();
- appendProperties(ret, fwIndependentProps);
- return ret;
- }
-
- public String getFwName() {
- return this.fwName;
- }
-
- public String getFwVersion() {
- return this.fwVersion;
- }
-
- public int getInitialBundleStartLevel() {
- return this.initialBundleStartLevel;
- }
-
- public String getLauncherName() {
- return launcherName;
- }
-
- public String getLauncherVersion() {
- return launcherVersion;
- }
-
- public void initialize() {
- this.beginningFwStartLevel = BundleInfo.NO_LEVEL;
- this.initialBundleStartLevel = BundleInfo.NO_LEVEL;
- this.bundlesList.clear();
- this.fwIndependentProps.clear();
- this.fwDependentProps.clear();
- }
-
- public void removeBundle(BundleInfo bundleInfo) {
- this.bundlesList.remove(bundleInfo);
- }
-
- public void setBeginningFwStartLevel(int startLevel) {
- this.beginningFwStartLevel = startLevel;
- }
-
- public void setBundles(BundleInfo[] bundleInfos) {
- this.bundlesList.clear();
- if (bundleInfos != null)
- for (int i = 0; i < bundleInfos.length; i++)
- bundlesList.add(bundleInfos[i]);
- }
-
- public void setFwDependentProp(String key, String value) {
- this.fwDependentProps.setProperty(key, value);
- }
-
- public void setFwDependentProps(Properties props) {
- this.fwDependentProps.clear();
- appendProperties(fwDependentProps, props);
- }
-
- public void setFwIndependentProp(String key, String value) {
- this.fwIndependentProps.setProperty(key, value);
- }
-
- public void setFwIndependentProps(Properties props) {
- this.fwIndependentProps.clear();
- appendProperties(fwIndependentProps, props);
- }
-
- public void setInitialBundleStartLevel(int startLevel) {
- this.initialBundleStartLevel = startLevel;
- }
-
- public String toString() {
- StringBuffer sb = new StringBuffer();
- sb.append("Class:" + this.getClass().getName() + "\n");
- sb.append("============Independent===============\n");
- sb.append("fwName=" + this.fwName + "\n");
- sb.append("fwVersion=" + this.fwVersion + "\n");
- sb.append("launcherName=" + this.launcherName + "\n");
- sb.append("launcherVersion=" + this.launcherVersion + "\n");
- sb.append("beginningFwStartLevel=" + this.beginningFwStartLevel + "\n");
- sb.append("initialBundleStartLevel=" + this.initialBundleStartLevel + "\n");
- if (this.bundlesList.size() == 0)
- sb.append("bundlesList=null\n");
- else {
- sb.append("bundlesList=\n");
- int i = 0;
- for (Iterator iter = this.bundlesList.iterator(); iter.hasNext();) {
- sb.append("\tbundlesList[" + i + "]=" + iter.next().toString() + "\n");
- i++;
- }
- }
-
- sb.append("============ Fw Independent Props ===============\n");
- sb.append("fwIndependentProps=");
- setPropsStrings(sb, fwIndependentProps);
- sb.append("============ Fw Dependent Props ===============\n");
- sb.append("fwDependentProps=");
- setPropsStrings(sb, fwDependentProps);
- return sb.toString();
- }
-
- private static void setPropsStrings(StringBuffer sb, Properties props) {
- if (props.size() > 0) {
- sb.append("\n");
- for (Enumeration enumeration = props.keys(); enumeration.hasMoreElements();) {
- String key = (String) enumeration.nextElement();
- String value = props.getProperty(key);
- if (value == null || value.equals(""))
- continue;
- sb.append("\t{" + key + " ,\t" + value + "}\n");
- }
- } else
- sb.append("empty\n");
- }
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/FrameworkAdmin.java b/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/FrameworkAdmin.java
deleted file mode 100644
index a145750..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/FrameworkAdmin.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.frameworkadmin;
-
-import java.io.File;
-import java.io.IOException;
-
-/**
- * The implementation of this API will be registered to the service
- * registry as an OSGi service.
- *
- * *****************************************************************
- * 1. For developers who implement bundles that register this service.
- *
- * Upon registration, the following service properties must be set to allow clients to
- * search the FrameworkAdmin object, which will create BundlesState / ConfigData / LauncherData objects.
- *
- * {@link FrameworkAdmin#SERVICE_PROP_KEY_FW_NAME}: String; name of the framework
- * {@link FrameworkAdmin#SERVICE_PROP_KEY_FW_VERSION}: String; version of the framework
- * {@link FrameworkAdmin#SERVICE_PROP_KEY_LAUNCHER_NAME}: String; name of the launcher
- * {@link FrameworkAdmin#SERVICE_PROP_KEY_LAUNCHER_VERSION}: String; version of the launcher
- *
- * Bundles that register this service will check if the currently running system can be manipulated by
- * this FrameworkAdmin. If yes and this implementation can create an initialized Manipulator object
- * according to the running framework and launcher, add the service property keyed by
- *
- * {@link FrameworkAdmin#SERVICE_PROP_KEY_RUNNING_SYSTEM_FLAG}: String; if "true",
- * the service that will be returned by getRunningManipulator() is fully initialized to
- * represent the state of the running system.
- *
- * It is recommended to implement Manipulator objects created by calling methods of this interface
- * so that they cannot be used after this service is unregistered.
- *
- * *****************************************************************
- * 2. For developers who implement client bundles that use this service.
- *
- * A client of this service can obtain a Manipulator object by calling the {@link #getManipulator()} method.
- *
- * A client can search among services registered in a service registry to find the
- * desired FrameworkAdmin implementation that matches the desired framework
- * type, framework version, launcher type, and launcher version.
- *
- * In order for a client bundle to manipulate the {@link Manipulator} object
- * of the running framework and launcher, the service filter (FrameworkAdmin#SERVICE_PROP_KEY_RUNNING_FW_FLAG=true)
- * should be used.
- *
- * As with all OSGi services, the client bundle should track this service state.
- * If the service is unregistered, it should stop using any of the objects obtained from this service and
- * release them. If it continues to use them, {@link FrameworkAdminRuntimeException} might
- * be thrown.
- *
- * *****************************************************************
- * In addition, FrameworkAdminFactory will create this object. This is used by Java programs.
- *
- * @see FrameworkAdminFactory
- *
- */
-public interface FrameworkAdmin {
-
- String SERVICE_PROP_KEY_FW_NAME = "org.eclipse.equinox.frameworkhandler.framework.name";
- String SERVICE_PROP_KEY_FW_VERSION = "org.eclipse.equinox.frameworkhandler.framework.version";
-
- String SERVICE_PROP_KEY_LAUNCHER_NAME = "org.eclipse.equinox.frameworkhandler.launcher.name";
- String SERVICE_PROP_KEY_LAUNCHER_VERSION = "org.eclipse.equinox.frameworkhandler.launcher.version";
- String SERVICE_PROP_KEY_RUNNING_SYSTEM_FLAG = "org.eclipse.equinox.frameworkhandler.runningfwflag";
-
- /**
- * Create new instance of {@link Manipulator} and return it.
- *
- * @return new instance of Manipulator.
- */
- public Manipulator getManipulator();
-
- /**
- * Create new instance of {@link Manipulator} for running system
- * and return it. The instance must be initialized fully according to the
- * running environment. If this implementation cannot provide it, return null.
- *
- * @return new instance of Manipulator.
- */
- public Manipulator getRunningManipulator();
-
- /**
- * Launch a framework instance under the specified current working directory.
- *
- * @param manipulator {@link Manipulator} object to be launched.
- * @param cwd current working directory to be used for launching.
- * @return process
- * @throws IllegalArgumentException if specified arguments are null.
- * @throws IOException if any error relate with IO occurs
- * @throws FrameworkAdminRuntimeException if the FrameworkAdmin service object
- * that created the specified Manipulator object is unregistered.
- */
- public Process launch(Manipulator manipulator, File cwd) throws IllegalArgumentException, IOException, FrameworkAdminRuntimeException;
-
- /**
- *
- * @return true if this object is active. false otherwise.
- */
- public boolean isActive();
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/FrameworkAdminFactory.java b/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/FrameworkAdminFactory.java
deleted file mode 100644
index 9970466..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/FrameworkAdminFactory.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.frameworkadmin;
-
-/**
- * Factory class for creating FrameworkAdmin object from Java programs.
- *
- * @see FrameworkAdmin
- */
-public abstract class FrameworkAdminFactory {
- abstract protected FrameworkAdmin createFrameworkAdmin() throws InstantiationException, IllegalAccessException, ClassNotFoundException;
-
- // proposed method: only for ConfiguratorManipulatorFactory, magic system property is used.
- public static FrameworkAdmin getInstance(String className) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
- FrameworkAdminFactory factory = (FrameworkAdminFactory) Class.forName(className).newInstance();
- return (FrameworkAdmin) factory.createFrameworkAdmin();
- }
-
- // // method 3: two magic system properties are used.
- // public static FrameworkAdmin getInstance() throws InstantiationException, IllegalAccessException, ClassNotFoundException {
- // String className = System.getProperty("org.eclipse.equinox.internal.provisional.frameworkadmin.frameworkAdminFactory");
- // if (className == null)
- // throw new ClassNotFoundException("System property keyed by \"org.eclipse.equinox.internal.provisional.frameworkadmin.frameworkAdminFactory\" is not set.");
- // FrameworkAdminFactory factory = (FrameworkAdminFactory) Class.forName(className).newInstance();
- // return (FrameworkAdmin) factory.createFrameworkAdmin();
- // }
-
- // // method 1: no magic system properties are used.
- //
- // public static FrameworkAdmin getInstance(String className, String configuratorManipulatorFactoryName) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
- // ExtendedFrameworkAdminFactory factory = (ExtendedFrameworkAdminFactory) Class.forName(className).newInstance();
- // return (FrameworkAdmin) factory.createFrameworkAdmin(configuratorManipulatorFactoryName);
- // }
-
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/FrameworkAdminRuntimeException.java b/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/FrameworkAdminRuntimeException.java
deleted file mode 100644
index 0e99605..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/FrameworkAdminRuntimeException.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.provisional.frameworkadmin;
-
-public class FrameworkAdminRuntimeException extends RuntimeException {
-
- private static final long serialVersionUID = -2292498677000772317L;
- public static final String FRAMEWORKADMIN_UNAVAILABLE = "FrameworkAdmin service created this object is not available any more";
- public static final String UNSUPPORTED_OPERATION = "This implementation doesn't support this method.";
-
- private final String reason;
- private Throwable cause;
-
- /**
- * @param message
- */
- public FrameworkAdminRuntimeException(String message, String reason) {
- super(message);
- this.reason = reason;
- this.cause = null;
- }
-
- /**
- * @param message
- * @param cause
- */
- public FrameworkAdminRuntimeException(String message, Throwable cause, String reason) {
- super(message);
- this.reason = reason;
- this.cause = cause;
- }
-
- /**
- * @param cause
- */
- public FrameworkAdminRuntimeException(Throwable cause, String reason) {
- super(cause.getLocalizedMessage());
- this.reason = reason;
- this.cause = cause;
- }
-
- public String getReason() {
- return reason;
- }
-
- public Throwable getCause() {
- return cause;
- }
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/LauncherData.java b/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/LauncherData.java
deleted file mode 100644
index ad8fd49..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/LauncherData.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.frameworkadmin;
-
-import java.io.File;
-import java.util.*;
-
-/**
- * This object is instantiated by {@link Manipulator#getLauncherData()};
- * The class that keeps some parameters of the {@link Manipulator}
- * created this object. The manipulating of the parameters will affect
- * the {@link Manipulator}.
- *
- *
- * @see Manipulator
- */
-public class LauncherData {
- //private static final String[] NULL_STRINGS = new String[0];
- private File fwPersistentDataLocation = null;
- private File jvm = null;
- private List jvmArgs = new LinkedList();
- private List programArgs = new LinkedList();
-
- private boolean clean;
- private File fwConfigLocation;
- private File home = null;
- private File fwJar = null;
-
- private File launcher = null;
- private File launcherConfigLocation = null;
-
- private String fwName;
- private String fwVersion;
- private String launcherName;
- private String launcherVersion;
-
- public LauncherData(String fwName, String fwVersion, String launcherName, String launcherVersion) {
- this.fwName = fwName;
- this.fwVersion = fwVersion;
- this.launcherName = launcherName;
- this.launcherVersion = launcherVersion;
- this.initialize();
- }
-
- public void addJvmArg(String arg) {
- if (arg == null)
- return;
- jvmArgs.add(arg);
- }
-
- public void addProgramArg(String arg) {
- if (arg == null)
- return;
- programArgs.add(arg);
- }
-
- public File getFwConfigLocation() {
- return fwConfigLocation;
- }
-
- public File getFwJar() {
- return fwJar;
- }
-
- public String getFwName() {
- return fwName;
- }
-
- public File getFwPersistentDataLocation() {
- return fwPersistentDataLocation;
- }
-
- public String getFwVersion() {
- return fwVersion;
- }
-
- public File getHome() {
- return home;
- }
-
- public File getJvm() {
- return jvm;
- }
-
- public String[] getJvmArgs() {
- String[] args = new String[jvmArgs.size()];
- jvmArgs.toArray(args);
- return args;
- }
-
- public File getLauncher() {
- return launcher;
- }
-
- public File getLauncherConfigLocation() {
- return launcherConfigLocation;
- }
-
- public String getLauncherName() {
- return launcherName;
- }
-
- public String getLauncherVersion() {
- return launcherVersion;
- }
-
- public String[] getProgramArgs() {
- String[] args = new String[programArgs.size()];
- programArgs.toArray(args);
- return args;
- }
-
- public void initialize() {
- fwPersistentDataLocation = null;
- jvm = null;
- jvmArgs.clear();
- programArgs.clear();
- clean = false;
- fwConfigLocation = null;
- fwJar = null;
- launcher = null;
- }
-
- public boolean isClean() {
- return clean;
- }
-
- public void removeJvmArg(String arg) {
- jvmArgs.remove(arg);
- }
-
- public void removeProgramArg(String arg) {
- programArgs.remove(arg);
- }
-
- public void setFwConfigLocation(File fwConfigLocation) {
- this.fwConfigLocation = fwConfigLocation;
- }
-
- public void setFwJar(File fwJar) {
- this.fwJar = fwJar;
- }
-
- public void setFwPersistentDataLocation(File fwPersistentDataLocation, boolean clean) {
- this.fwPersistentDataLocation = fwPersistentDataLocation;
- this.clean = clean;
- }
-
- public void setHome(File home) {
- this.home = home;
- }
-
- public void setJvm(File file) {
- this.jvm = file;
- }
-
- public void setJvmArgs(String[] args) {
- if (args == null || args.length == 0) {
- jvmArgs.clear();
- return;
- }
- for (int i = 0; i < args.length; i++)
- this.addJvmArg(args[i]);
- }
-
- public void setLauncher(File launcherFile) {
- launcher = launcherFile;
- }
-
- public void setLauncherConfigLocation(File launcherConfigLocation) {
- this.launcherConfigLocation = launcherConfigLocation;
- }
-
- public void setProgramArgs(String[] args) {
- if (args == null || args.length == 0) {
- programArgs.clear();
- return;
- }
- for (int i = 0; i < args.length; i++)
- this.addProgramArg(args[i]);
- }
-
- public String toString() {
- StringBuffer sb = new StringBuffer();
- sb.append("Class:" + this.getClass().getName() + "\n");
- sb.append("fwName=" + this.fwName + "\n");
- sb.append("fwVersion=" + this.fwVersion + "\n");
- sb.append("launcherName=" + this.launcherName + "\n");
- sb.append("launcherVersion=" + this.launcherVersion + "\n");
-
- sb.append("jvm=" + this.jvm + "\n");
- if (this.jvmArgs.size() == 0)
- sb.append("jvmArgs = null\n");
- else {
- sb.append("jvmArgs=\n");
- int i = 0;
- for (Iterator iterator = jvmArgs.iterator(); iterator.hasNext(); iterator.next())
- sb.append("\tjvmArgs[" + i++ + "]=" + iterator + "\n");
-
- }
- if (this.programArgs.size() == 0)
- sb.append("programArgs = null\n");
- else {
- sb.append("programArgs=\n");
- int i = 0;
- for (Iterator iterator = programArgs.iterator(); iterator.hasNext(); iterator.next())
- sb.append("\tprogramArgs[" + i++ + "]=" + iterator + "\n");
- }
- sb.append("fwConfigLocation=" + this.fwConfigLocation + "\n");
- sb.append("fwJar=" + this.fwJar + "\n");
- sb.append("fwPersistentDataLocation=" + this.fwPersistentDataLocation + "\n");
- sb.append("home=" + this.home + "\n");
- sb.append("launcher=" + this.launcher + "\n");
- sb.append("launcherConfigLocation=" + this.launcherConfigLocation + "\n");
- sb.append("clean=" + this.isClean() + "\n");
-
- return sb.toString();
- }
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/Manipulator.java b/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/Manipulator.java
deleted file mode 100644
index 303290b..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/Manipulator.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.frameworkadmin;
-
-import java.io.File;
-import java.io.IOException;
-
-import org.eclipse.equinox.internal.provisional.configuratormanipulator.ConfiguratorManipulator;
-
-/**
- * A manipulator is used to query and modify the state of a framework instance.
- * A manipulator instance is obtained by calling {@link FrameworkAdmin#getManipulator()}.
- *
- * The typical use-cases of this interface:
- *
- * Usecase 1: set parameters, check the expected state, save them into configuration files, and launch.
- * A. create a {@link Manipulator} object from a {@link FrameworkAdmin}.
- * B. set parameters to the {@link Manipulator} object.
- * C. getExpectedState() and check what bundle state will be realized.
- * If it is not same as you desire, repeat B and C until it becomes as you desire.
- * D. save parameters into configuration files by {@link Manipulator#save(boolean)}.
- * E. launch the framework by {@link FrameworkAdmin#launch(Manipulator, File)}.
- *
- * Usecase 2: set parameters required for loading, load parameters from configuration files,
- * check the expected state, and launch.
- * A. create a {@link Manipulator} object from a {@link FrameworkAdmin}.
- * B. set parameters about launcher or framework configuration file to the {@link Manipulator} object.
- * C. load parameters from configuration files by {@link Manipulator#load()};
- * D. getExpectedState() and check what bundle state will be realized.
- * E. launch the framework by {@link FrameworkAdmin#launch(Manipulator, File)}.
- * @see FrameworkAdmin
- * @see ConfigData
- * @see LauncherData
- */
-public interface Manipulator {
-
- /**
- * Return the newly created BundldsState object,
- * according to the parameters set to this object "in memory".
- *
- * None of launcher config file, framework config file and configurator config file
- * will be read by this method. However, the framework persistent data location should be
- * taken into consideration. In other words, this method will return
- * the expected {@link BundlesState} object assuming that the current parameters were saved and
- * {@link FrameworkAdmin#launch(Manipulator, File)} with an argument of this object
- * were called. (It would read the framework persistent data location if required).
- *
- * This method should not modify the parameters in this {@link Manipulator} object.
- *
- * @return framework bundle state object created according to he current parameters set.
- * @throws FrameworkAdminRuntimeException - If the {@link FrameworkAdmin} service created this object is unregistered or this implementation doesn't support this method.
- */
- BundlesState getBundlesState() throws FrameworkAdminRuntimeException;
-
- /**
- * The reference of {@link ConfigData} object representing configuration information related with framework settings will be returned.
- * Remind that manipulating returned object will affect this Manipulator behavior.
- *
- * @return ConfigData object representing configuration information related with framework setting
- * @throws FrameworkAdminRuntimeException - If the {@link FrameworkAdmin} service created this object is unregistered or this implementation doesn't support this method.
- * @see ConfigData
- */
- ConfigData getConfigData() throws FrameworkAdminRuntimeException;
-
- /**
- * Return the expected BundleInfo array representing state of bundles,
- * according to the parameters set to this object "in memory".
- *
- * None of launcher config file, framework config file and configurator config file
- * will be read by this method. However, the framework persistent data location should be
- * taken into consideration. In other words, this method will return
- * the expected bundles state assuming that the current parameters were saved and
- * {@link FrameworkAdmin#launch(Manipulator, File)} with an argument of this object
- * were called. (It would read the framework persistent data location if required).
- *
- * Returned BundleInfos must have resolved flag set.
- * This method should not modify the parameters in this {@link Manipulator} object.
- *
- * cf. getConfigData().getBundles() will return array of BundleInfo too.
- * However the resolved flag of returned BundleInfos might not be reliable.
- *
- * This method is equivalent to calling getBundlesState().getExpectedState().
- *
- * @return array of BundleInfo representing expected state of all bundles installed.
- * @throws IllegalArgumentException - If either of fwJar or cwd doesn't exist.
- * @throws IOException - If reading fw configuration file or reading persistently recorded information
- * of fw fails.
- * @throws FrameworkAdminRuntimeException - If the {@link FrameworkAdmin} service created this object is unregistered or this implementation doesn't support this method.
- */
- BundleInfo[] getExpectedState() throws IllegalStateException, IOException, FrameworkAdminRuntimeException;
-
- /**
- * The reference of {@link LauncherData} object representing configuration information
- * related with launcher settings will be returned.
- * Remember that manipulating returned object will affect this Manipulator object behavior.
- *
- * @return LauncherData object representing configuration information related with launcher setting
- * @throws FrameworkAdminRuntimeException - If the ManipulatorAdmin service created this object is unregistered or this implementation doesn't support this method.
- * @see LauncherData
- */
- LauncherData getLauncherData() throws FrameworkAdminRuntimeException;
-
- /**
- * Return timestamp of configurations which will be loaded by load() method
- * according to the parameters set to this manipulator in long value.
- *
- * This method will check last modified time of all launcher configuration file, framework configuration file,
- * and framework persistent storage according to the parameters set.
- * @return
- */
- long getTimeStamp();
-
- /**
- * Initialize all information that this object keeps at that time.
- */
- void initialize();
-
- /**
- * load configs from appropriate config files,
- * including launcher config file, fw config file, and configurator config files,
- * whose locations are determined by the current setting. In addition,
- * the fw persistent data location should be taken into consideration.
- *
- * The following procedure contains the matters of implementation detail.
- * However, it is an example how it works.
- *
- * 1. if launcher object is set, corresponding launcher config file will be read.
- * According to the information retrieved, setting of this object will be updated.
- * including fw config file.
- *
- * 2. If fw config file is not specified, IllegalStateException will be thrown.
- * Otherwise, the information will be retrieved from the fw config file.
- *
- * 3. If any ConfiguratorBundle is included in the bundle list,
- * read appropriate configurator config file by
- * {@link ConfiguratorManipulator#updateBundles(Manipulator)},
- * which will update the parameter about installed bundles in its
- * {@link Manipulator#getConfigData()} object.
- *
- * Most old parameters will be updated by this method call.
- *
- * @throws IOException - If reading info from configuration files fails.
- * @throws IllegalStateException - If config files cannot be determined.
- * @throws FrameworkAdminRuntimeException - If the {@link FrameworkAdmin} service created this object is unregistered or this implementation doesn't support this method.
- */
- void load() throws IllegalStateException, IOException, FrameworkAdminRuntimeException;
-
- /**
- * Save parameters that this object keeps at that time into appropriate configuration files,
- * which include launcher configuration file, framework configuration file, and configurator configuration files
- * (if required and implementation of this object supports), according to the current setting and situation.
- *
- * The following procedure contains the matters of implementation detail.
- * However, it is an example how it works.
- *
- * 1. if a launcher file is set,
- * the parameters to be saved into a LauncherConfigFile will be saved into the default LauncherConfigFile
- * that is determined by the location of the launcher file.
- *
- *
- * 2. if there are any {@link ConfiguratorManipulator} objects available whose corresponding ConfiguratorBundle
- * is set to be started, choose the ConfiguratorBudnle that starts the first among them and go to next step.
- * Otherwise, save the BundleInfo[] set to this object into a FwConfigFile that is determined
- * by the parameters set.
- *
- * 3. call {@link ConfiguratorManipulator#save(Manipulator, boolean)} of
- * the ConfiguratorManipulator that can manipulate the chosen ConfiguratorBudnle.
- * This method will save configurations for ConfiguratorBundle to read appropriately
- * and return BundleInfo[] to be saved in the FwConfigFile, which is determined by the parameters set.
- *
- * 4. Save the returned BundleInfo[] in the FwConfigFile, which is determined by the parameters set.
- *
- * @param backup - if true, keep old file by renaming if exists.
- * @throws IOException - If writing info into configuration files fails.
- * @throws FrameworkAdminRuntimeException - If the {@link FrameworkAdmin} service created this object is unregistered or this implementation doesn't support this method.
- */
- void save(boolean backup) throws IOException, FrameworkAdminRuntimeException;
-
- /**
- * Copy all information the specified {@link ConfigData} contains into this object.
- * All of old settings will be initialized and replaced.
- *
- * @param configData fw config data to be set to this object.
- */
- void setConfigData(ConfigData configData);
-
- /**
- * Copy all information the specified {@link LauncherData} contains into this object.
- * All of old settings will be initialized and replaced.
- *
- * @param launcherData launcher config data to be set to this object.
- */
- void setLauncherData(LauncherData launcherData);
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/.classpath b/bundles/org.eclipse.equinox.p2.artifact.repository/.classpath
deleted file mode 100644
index 2fbb7a2..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/.project b/bundles/org.eclipse.equinox.p2.artifact.repository/.project
deleted file mode 100644
index e03096b..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.equinox.p2.artifact.repository</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.artifact.repository/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 943b809..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,329 +0,0 @@
-#Thu Feb 21 15:37:24 EST 2008
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.artifact.repository/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 1546d82..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,58 +0,0 @@
-#Tue Aug 21 11:27:48 CDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-internal.default.compliance=user
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=99
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.artifact.repository/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 979e4e8..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-
-eclipse.preferences.version=1
-pluginProject.extensions=true
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.artifact.repository/META-INF/MANIFEST.MF
deleted file mode 100644
index 7e1d029..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,73 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.artifact.repository;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 1.0.2.qualifier
-Export-Package: org.eclipse.equinox.internal.p2.artifact.mirror;x-internal:=true,
- org.eclipse.equinox.internal.p2.artifact.processing;x-friends:="org.eclipse.equinox.p2.artifact.processors,org.eclipse.equinox.p2.artifact.optimizers",
- org.eclipse.equinox.internal.p2.artifact.processors.pack200;x-friends:="org.eclipse.equinox.p2.artifact.processors,org.eclipse.equinox.p2.artifact.optimizers",
- org.eclipse.equinox.internal.p2.artifact.repository;x-friends:="org.eclipse.equinox.p2.metadata.generator,org.eclipse.equinox.p2.reconciler.dropins",
- org.eclipse.equinox.internal.p2.artifact.repository.simple;x-friends:="org.eclipse.equinox.p2.selfhosting,org.eclipse.equinox.p2.touchpoint.eclipse,org.eclipse.equinox.p2.tests",
- org.eclipse.equinox.internal.provisional.p2.artifact.repository;
- x-friends:="org.eclipse.equinox.p2.artifact.optimizers,
- org.eclipse.equinox.p2.artifact.processors,
- org.eclipse.equinox.p2.directorywatcher,
- org.eclipse.equinox.p2.metadata.generator,
- org.eclipse.equinox.p2.updatesite,
- org.eclipse.equinox.p2.engine,
- org.eclipse.equinox.p2.touchpoint.eclipse,
- org.eclipse.equinox.p2.ui.admin,
- org.eclipse.equinox.p2.console,
- org.eclipse.equinox.p2.ui,
- org.eclipse.equinox.p2.ui.sdk,
- org.eclipse.equinox.p2.touchpoint.natives,
- org.eclipse.equinox.p2.extensionlocation,
- org.eclipse.equinox.p2.garbagecollector,
- org.eclipse.equinox.p2.reconciler.dropins,
- org.eclipse.equinox.p2.installer",
- org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing;
- x-friends:="org.eclipse.equinox.p2.artifact.processors,
- org.eclipse.equinox.p2.artifact.optimizers,
- org.eclipse.equinox.p2.artifact.repository,
- org.eclipse.equinox.p2.metadata.generator,
- org.eclipse.equinox.p2.ui",
- org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository;
- x-friends:="org.eclipse.equinox.p2.touchpoint.eclipse,
- org.eclipse.equinox.p2.touchpoint.natives,
- org.eclipse.equinox.p2.extensionlocation,
- org.eclipse.equinox.p2.updatesite"
-Import-Package: javax.xml.parsers,
- org.eclipse.core.runtime.jobs,
- org.eclipse.core.runtime.preferences;resolution:=optional,
- org.eclipse.equinox.app;version="1.0.0";resolution:=optional,
- org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.p2.jarprocessor,
- org.eclipse.equinox.internal.p2.metadata,
- org.eclipse.equinox.internal.p2.persistence,
- org.eclipse.equinox.internal.provisional.p2.core,
- org.eclipse.equinox.internal.provisional.p2.core.eventbus,
- org.eclipse.equinox.internal.provisional.p2.core.location,
- org.eclipse.equinox.internal.provisional.p2.core.repository,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.internal.provisional.spi.p2.core.repository,
- org.eclipse.equinox.security.storage,
- org.eclipse.internal.provisional.equinox.p2.jarprocessor;resolution:=optional,
- org.eclipse.osgi.service.resolver;version="1.1.0",
- org.eclipse.osgi.signedcontent;version="1.0.0",
- org.eclipse.osgi.util;version="1.1.0",
- org.osgi.framework;version="1.3.0",
- org.osgi.service.prefs;version="1.1.0",
- org.osgi.util.tracker;version="1.3.0",
- org.w3c.dom,
- org.xml.sax;resolution:=optional
-Bundle-Activator: org.eclipse.equinox.internal.p2.artifact.repository.Activator
-Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,
- CDC-1.1/Foundation-1.1
-Require-Bundle: org.eclipse.ecf.filetransfer,
- org.eclipse.ecf,
- org.eclipse.equinox.common,
- org.eclipse.equinox.registry
-Eclipse-BuddyPolicy: registered
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/about.html b/bundles/org.eclipse.equinox.p2.artifact.repository/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 2, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/build.properties b/bundles/org.eclipse.equinox.p2.artifact.repository/build.properties
deleted file mode 100644
index 1e585bd..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.xml,\
- about.html,\
- plugin.properties
-src.includes = about.html,\
- schema/
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/p2 tools - mirror artifacts.launch b/bundles/org.eclipse.equinox.p2.artifact.repository/p2 tools - mirror artifacts.launch
deleted file mode 100644
index 219f06c..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/p2 tools - mirror artifacts.launch
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/p2 tools - mirror artifacts"/>
-<booleanAttribute key="default_auto_start" value="false"/>
-<intAttribute key="default_start_level" value="4"/>
-<booleanAttribute key="includeOptional" value="false"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-console -consolelog -application org.eclipse.equinox.p2.tools.mirrorApplication -source http://download.eclipse.org/eclipse/testUpdates -destination file:d:/tmp/equinox.p2/servers.mirror"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="target_bundles" value="javax.servlet@default:default,org.eclipse.core.jobs@default:default,org.eclipse.equinox.app@default:true,org.eclipse.equinox.common@default:default,org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.osgi@:,org.eclipse.osgi.services@default:default"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<booleanAttribute key="useNamedJRE" value="true"/>
-<stringAttribute key="workspace_bundles" value="org.eclipse.ecf@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.p2.console@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.equinox.p2.download@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.tools@default:default,org.eclipse.equinox.simpleconfigurator@default:default"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/plugin.properties b/bundles/org.eclipse.equinox.p2.artifact.repository/plugin.properties
deleted file mode 100644
index 037f5b1..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Equinox Provisioning Artifact Repository Support
-providerName = Eclipse.org
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/plugin.xml b/bundles/org.eclipse.equinox.p2.artifact.repository/plugin.xml
deleted file mode 100644
index 01d9c87..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/plugin.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
- <extension-point id="artifactRepositories" name="Artifact Repositories" schema="schema/artifactRepositories.exsd"/>
- <extension-point id="processingSteps" name="Processing Steps" schema="schema/processingSteps.exsd"/>
-
- <extension
- point="org.eclipse.equinox.p2.artifact.repository.processingSteps"
- id="org.eclipse.equinox.p2.processing.Pack200Unpacker">
- <step class="org.eclipse.equinox.internal.p2.artifact.processors.pack200.Pack200ProcessorStep"/>
- </extension>
-
- <extension id="simpleRepository" point="org.eclipse.equinox.p2.artifact.repository.artifactRepositories">
- <filter suffix="artifacts.xml"/>
- <factory class="org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository.SimpleArtifactRepositoryFactory"/>
- </extension>
-
- <extension
- point="org.eclipse.equinox.p2.artifact.repository.processingSteps"
- id="org.eclipse.equinox.p2.processing.SignatureVerifier">
- <step class="org.eclipse.equinox.internal.p2.artifact.repository.SignatureVerifier"/>
- </extension>
-
- <extension id="mirrorApplication" point="org.eclipse.core.runtime.applications">
- <application cardinality="1" thread="main" visible="true">
- <run class="org.eclipse.equinox.internal.p2.artifact.mirror.MirrorApplication"/>
- </application>
- </extension>
-</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/schema/artifactRepositories.exsd b/bundles/org.eclipse.equinox.p2.artifact.repository/schema/artifactRepositories.exsd
deleted file mode 100644
index 62c0adc..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/schema/artifactRepositories.exsd
+++ /dev/null
@@ -1,124 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.equinox.p2.artifact.repository">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.equinox.p2.artifact.repository" id="artifactRepositories" name="Artifact Repositories"/>
- </appInfo>
- <documentation>
- This extension point is used to provide artifact repository implementations
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="factory"/>
- <element ref="filter" minOccurs="0" maxOccurs="1"/>
- </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>
- <appInfo>
- <meta.attribute translatable="true"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="factory">
- <complexType>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
- the fully-qualified name of a class which implements
-<samp>org.eclipse.equinox.p2.artifact.repository.IArtifactRepository</samp>.
- </documentation>
- <appInfo>
- <meta.attribute kind="java" basedOn="org.eclipse.equinox.p2.artifact.repository.IArtifactRepository"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="filter">
- <complexType>
- <attribute name="suffix" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- org.eclipse.equinox.p2.artifact.repository 0.1.0
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- [Enter extension point usage example here.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="apiInfo"/>
- </appInfo>
- <documentation>
- The value of the class attribute must represent an
-implementor of <tt>org.eclipse.equinox.p2.artifact.repository.IArtifactRepository</tt>
- </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>
- Copyright (c) 2007 IBM Corporation and others.<br>
-All rights reserved. This program and the accompanying materials are made
-available under the terms of the Eclipse Public License v1.0 which
-accompanies this distribution, and is available at <a
-href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>
- </documentation>
- </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/schema/processingSteps.exsd b/bundles/org.eclipse.equinox.p2.artifact.repository/schema/processingSteps.exsd
deleted file mode 100644
index 92dbb09..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/schema/processingSteps.exsd
+++ /dev/null
@@ -1,110 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.equinox.p2.artifact.repository">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.equinox.p2.artifact.repository" id="processingSteps" name="Processing Steps"/>
- </appInfo>
- <documentation>
- This extension point is used to provide processing step implementations
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="step"/>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- <appInfo>
- <meta.attribute translatable="true"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="step">
- <complexType>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- <appInfo>
- <meta.attribute kind="java" basedOn="org.eclipse.equinox.p2.artifact.repository.processing.ProcessingStep:"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- org.eclipse.equinox.p2.artifact.repository ?.?.?
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- [Enter extension point usage example here.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="apiInfo"/>
- </appInfo>
- <documentation>
- The value of the class attribute must represent an
-implementor of <tt>org.eclipse.equinox.p2.artifact.processing.IProcessingStep</tt>
- </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>
- Copyright (c) 2007 compeople AG and others.<br>
-All rights reserved. This program and the accompanying materials are made
-available under the terms of the Eclipse Public License v1.0 which
-accompanies this distribution, and is available at <a
-href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>
- </documentation>
- </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/mirror/MirrorApplication.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/mirror/MirrorApplication.java
deleted file mode 100644
index 83f7752..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/mirror/MirrorApplication.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.mirror;
-
-import java.net.URL;
-import java.util.Map;
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.equinox.internal.p2.artifact.repository.Activator;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepository;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-
-/**
- * An application that performs mirroring of artifacts between repositories.
- */
-public class MirrorApplication implements IApplication {
-
- private URL sourceLocation;
- private URL destinationLocation;
- private IArtifactRepository source;
- private IArtifactRepository destination;
- private boolean append;
- private boolean raw = false;
-
- public Object start(IApplicationContext context) throws Exception {
- Map args = context.getArguments();
- initializeFromArguments((String[]) args.get("application.args"));
- setupRepositories();
- new Mirroring(source, destination, raw).run();
- return null;
- }
-
- private void setupRepositories() throws ProvisionException {
- IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.class.getName());
- if (manager == null)
- // TODO log here
- return;
-
- source = manager.loadRepository(sourceLocation, null);
- if (destinationLocation != null)
- destination = initializeDestination();
- else
- destination = source;
- }
-
- private IArtifactRepository initializeDestination() throws ProvisionException {
- IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.class.getName());
- try {
- IArtifactRepository repository = manager.loadRepository(destinationLocation, null);
- if (!repository.isModifiable())
- throw new IllegalArgumentException("Artifact repository not modifiable: " + destinationLocation); //$NON-NLS-1$
- if (!append)
- repository.removeAll();
- return repository;
- } catch (ProvisionException e) {
- //fall through and create a new repository below
- }
- // the given repo location is not an existing repo so we have to create something
- // TODO for now create a Simple repo by default.
- String repositoryName = destinationLocation + " - artifacts"; //$NON-NLS-1$
- return manager.createRepository(destinationLocation, repositoryName, IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
- }
-
- public void stop() {
- }
-
- public void initializeFromArguments(String[] args) throws Exception {
- if (args == null)
- return;
- for (int i = 0; i < args.length; i++) {
- // check for args without parameters (i.e., a flag arg)
- if (args[i].equals("-raw"))
- raw = true;
-
- // 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 param so continue.
- if (i == args.length - 1 || args[i + 1].startsWith("-")) //$NON-NLS-1$
- continue;
- String arg = args[++i];
-
- if (args[i - 1].equalsIgnoreCase("-source"))
- sourceLocation = new URL(arg);
- if (args[i - 1].equalsIgnoreCase("-destination"))
- destinationLocation = new URL(arg);
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/mirror/Mirroring.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/mirror/Mirroring.java
deleted file mode 100644
index ce0c90f..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/mirror/Mirroring.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * compeople AG (Stefan Liebig) - various ongoing maintenance
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.mirror;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-
-/**
- * A utility class that performs mirroring of artifacts between repositories.
- */
-public class Mirroring {
- private IArtifactRepository source;
- private IArtifactRepository destination;
- private boolean raw;
-
- public Mirroring(IArtifactRepository source, IArtifactRepository destination, boolean raw) {
- this.source = source;
- this.destination = destination;
- this.raw = raw;
- }
-
- public void run() {
- if (!destination.isModifiable())
- throw new IllegalStateException("Destination repository must be modifiable: " + destination.getLocation());
- IArtifactKey[] keys = source.getArtifactKeys();
- for (int i = 0; i < keys.length; i++) {
- IArtifactKey key = keys[i];
- IArtifactDescriptor[] descriptors = source.getArtifactDescriptors(key);
- for (int j = 0; j < descriptors.length; j++)
- mirror(descriptors[j]);
- }
- }
-
- private void mirror(IArtifactDescriptor descriptor) {
- IArtifactDescriptor newDescriptor = raw ? descriptor : new ArtifactDescriptor(descriptor);
- try {
- OutputStream repositoryStream = null;
- try {
- System.out.println("Mirroring: " + descriptor.getArtifactKey()); //$NON-NLS-1$
- repositoryStream = destination.getOutputStream(newDescriptor);
- if (repositoryStream == null)
- return;
- // TODO Is that ok to ignore the result?
- source.getArtifact(descriptor, repositoryStream, new NullProgressMonitor());
- } finally {
- if (repositoryStream != null)
- repositoryStream.close();
- }
- } catch (ProvisionException e) {
- // TODO Is that ok to ignore the exception
- e.printStackTrace();
- } catch (IOException e) {
- // TODO Is that ok to ignore the exception
- e.printStackTrace();
- }
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processing/AbstractBufferingStep.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processing/AbstractBufferingStep.java
deleted file mode 100644
index 3344f0a..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processing/AbstractBufferingStep.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 compeople AG and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * compeople AG (Stefan Liebig) - initial API and implementation
- * IBM Corporation - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.processing;
-
-import java.io.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.artifact.repository.Activator;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStep;
-import org.eclipse.osgi.util.NLS;
-
-public abstract class AbstractBufferingStep extends ProcessingStep {
- private static final String WORK_DIR_PREFIX = "work"; //$NON-NLS-1$
- private static final String WORK_DIR_SUFFIX = ""; //$NON-NLS-1$
- protected static final String JAR_SUFFIX = ".jar"; //$NON-NLS-1$
- protected static final String INCOMING_ROOT = "p2.optimizers.incoming"; //$NON-NLS-1$
- protected static final String RESULT_ROOT = "p2.optimizers.result"; //$NON-NLS-1$
- protected static final String PREDECESSOR_ROOT = "p2.optimizers.predecessor"; //$NON-NLS-1$
-
- protected OutputStream incomingStream;
- private File workDir;
-
- protected AbstractBufferingStep() {
- super();
- }
-
- public void write(int b) throws IOException {
- OutputStream stream = getOutputStream();
- stream.write(b);
- }
-
- protected OutputStream getOutputStream() throws IOException {
- if (incomingStream != null)
- return incomingStream;
- // if buffering, store input stream in temporary file
- incomingStream = createIncomingStream();
- return incomingStream;
- }
-
- protected abstract OutputStream createIncomingStream() throws IOException;
-
- public void close() throws IOException {
- // When we go to close we must have seen all the content we are going to see.
- // If no one wrote to the temp stream then we return an error. If there is
- // content then close the temporary stream and perform the processing.
- // Performing the step should result in the new content being written to
- // the destination. Make sure we delete the temporary file if any.
- try {
- if (incomingStream != null) {
- incomingStream.close();
- // if canceled then skip processing
- if (getStatus() != null && getStatus().getSeverity() != IStatus.CANCEL)
- performProcessing();
- } else {
- setStatus(new Status(IStatus.ERROR, Activator.ID, Messages.Empty_stream));
- }
- } finally {
- incomingStream = null;
- cleanupTempFiles();
- cleanupWorkDir();
- }
-
- super.close();
- // TODO need to get real status here. sometimes the optimizers do not give
- // any reasonable return status
- // COMMENT status is initially set to OK!
- }
-
- protected abstract void performProcessing() throws IOException;
-
- protected void cleanupTempFiles() {
- }
-
- private void cleanupWorkDir() throws IOException {
- if (workDir != null) {
- FileUtils.deleteAll(workDir);
- // TODO try twice since there seems to be some cases where the dir is not
- // deleted the first time. At least on Windows...
- FileUtils.deleteAll(workDir);
- }
- }
-
- protected File getWorkDir() throws IOException {
- if (workDir != null)
- return workDir;
- workDir = File.createTempFile(WORK_DIR_PREFIX, WORK_DIR_SUFFIX);
- if (!workDir.delete())
- throw new IOException(NLS.bind(Messages.Can_not_delete_temp_dir, workDir));
- if (!workDir.mkdirs())
- throw new IOException(NLS.bind(Messages.Can_not_create_temp_dir, workDir));
- return workDir;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processing/Messages.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processing/Messages.java
deleted file mode 100644
index 52285b0..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processing/Messages.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.processing;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.artifact.processing.messages"; //$NON-NLS-1$
-
- public static String Can_not_create_temp_dir;
- public static String Can_not_delete_temp_dir;
- public static String Empty_stream;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processing/messages.properties b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processing/messages.properties
deleted file mode 100644
index 9fcf2c0..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processing/messages.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-Can_not_create_temp_dir=Cannot create temporary working directory {0}.
-Can_not_delete_temp_dir=Cannot create temporary working directory {1}.
-Empty_stream=Empty intermediate incoming stream. Probably zero length input.
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/pack200/Pack200ProcessorStep.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/pack200/Pack200ProcessorStep.java
deleted file mode 100644
index 48bd1eb..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/pack200/Pack200ProcessorStep.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 compeople AG and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * compeople AG (Stefan Liebig) - initial API and implementation
- * IBM Corporation - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.processors.pack200;
-
-import java.io.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.artifact.processing.AbstractBufferingStep;
-import org.eclipse.equinox.internal.p2.artifact.repository.Activator;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-import org.eclipse.equinox.internal.p2.jarprocessor.UnpackStep;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactDescriptor;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStepDescriptor;
-import org.eclipse.internal.provisional.equinox.p2.jarprocessor.JarProcessorExecutor;
-import org.eclipse.internal.provisional.equinox.p2.jarprocessor.JarProcessorExecutor.Options;
-
-/**
- * The Pack200Unpacker expects an input containing ".jar.pack.gz" data.
- */
-public class Pack200ProcessorStep extends AbstractBufferingStep {
- public static final String PACKED_SUFFIX = ".pack.gz"; //$NON-NLS-1$
-
- private File incoming;
-
- protected OutputStream createIncomingStream() throws IOException {
- incoming = File.createTempFile(INCOMING_ROOT, JAR_SUFFIX + PACKED_SUFFIX);
- return new BufferedOutputStream(new FileOutputStream(incoming));
- }
-
- public void initialize(ProcessingStepDescriptor descriptor, IArtifactDescriptor context) {
- super.initialize(descriptor, context);
- if (!UnpackStep.canUnpack())
- setStatus(new Status(IStatus.ERROR, Activator.ID, "Unpack facility not configured")); //$NON-NLS-1$
- }
-
- protected void cleanupTempFiles() {
- super.cleanupTempFiles();
- if (incoming != null)
- incoming.delete();
- }
-
- protected void performProcessing() throws IOException {
- File resultFile = null;
- try {
- resultFile = process();
- // now write the processed content to the destination
- if (resultFile.length() > 0) {
- InputStream resultStream = new BufferedInputStream(new FileInputStream(resultFile));
- FileUtils.copyStream(resultStream, true, getDestination(), false);
- } else {
- setStatus(new Status(IStatus.ERROR, Activator.ID, "Empty intermediate file: " + resultFile)); //$NON-NLS-1$
- }
- } finally {
- if (resultFile != null)
- resultFile.delete();
- }
- }
-
- protected File process() throws IOException {
- Options options = new Options();
- options.unpack = true;
- // TODO use false here assuming that all content is conditioned. Need to revise this
- options.processAll = false;
- options.input = incoming;
- options.outputDir = getWorkDir().getPath();
- options.verbose = false;
- new JarProcessorExecutor().runJarProcessor(options);
- return new File(getWorkDir(), incoming.getName().substring(0, incoming.getName().length() - PACKED_SUFFIX.length()));
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/AbstractRepositoryManager.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/AbstractRepositoryManager.java
deleted file mode 100644
index 84e23fc..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/AbstractRepositoryManager.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.repository;
-
-import java.net.URL;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.RepositoryEvent;
-
-/**
- * Common code shared between artifact and metadata repository managers.
- */
-public class AbstractRepositoryManager {
- protected void broadcastChangeEvent(URL location, int repositoryType, int kind, boolean isEnabled) {
- IProvisioningEventBus bus = (IProvisioningEventBus) ServiceHelper.getService(Activator.getContext(), IProvisioningEventBus.class.getName());
- if (bus != null)
- bus.publishEvent(new RepositoryEvent(location, repositoryType, kind, isEnabled));
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/Activator.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/Activator.java
deleted file mode 100644
index 4d1154f..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/Activator.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.repository;
-
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepositoryManager;
-import org.osgi.framework.*;
-
-public class Activator implements BundleActivator {
- public static final String ID = "org.eclipse.equinox.p2.artifact.repository"; //$NON-NLS-1$
- public static final String REPO_PROVIDER_XPT = ID + '.' + "artifactRepositories"; //$NON-NLS-1$
-
- private static BundleContext context;
- private ServiceRegistration repositoryManagerRegistration;
-
- public static BundleContext getContext() {
- return Activator.context;
- }
-
- public void start(BundleContext context) throws Exception {
- Activator.context = context;
- ArtifactRepositoryManager repositoryManager = new ArtifactRepositoryManager();
- repositoryManagerRegistration = context.registerService(IArtifactRepositoryManager.class.getName(), repositoryManager, null);
- }
-
- public void stop(BundleContext context) throws Exception {
- Activator.context = null;
- if (repositoryManagerRegistration != null)
- repositoryManagerRegistration.unregister();
- repositoryManagerRegistration = null;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/ArtifactRepositoryManager.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/ArtifactRepositoryManager.java
deleted file mode 100644
index e3f147d..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/ArtifactRepositoryManager.java
+++ /dev/null
@@ -1,723 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.repository;
-
-import java.lang.ref.SoftReference;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.preferences.ConfigurationScope;
-import org.eclipse.equinox.internal.p2.core.helpers.*;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.ProvisioningListener;
-import org.eclipse.equinox.internal.provisional.p2.core.location.AgentLocation;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.RepositoryEvent;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository.IArtifactRepositoryFactory;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.service.prefs.BackingStoreException;
-import org.osgi.service.prefs.Preferences;
-
-/**
- * Default implementation of {@link IArtifactRepositoryManager}.
- *
- * TODO the current assumption that the "location" is the dir/root limits us to
- * having just one repository in a given URL..
- * TODO Merge common parts with MetadataRepositoryManager
- */
-public class ArtifactRepositoryManager extends AbstractRepositoryManager implements IArtifactRepositoryManager, ProvisioningListener {
- static class RepositoryInfo {
- String description;
- boolean isSystem = false;
- boolean isEnabled = true;
- URL location;
- String name;
- String suffix;
- SoftReference repository;
- }
-
- private static final String ATTR_SUFFIX = "suffix"; //$NON-NLS-1$
- private static final String DEFAULT_SUFFIX = "artifacts.xml"; //$NON-NLS-1$
- private static final String EL_FACTORY = "factory"; //$NON-NLS-1$
-
- private static final String EL_FILTER = "filter"; //$NON-NLS-1$
- private static final String KEY_DESCRIPTION = "description"; //$NON-NLS-1$
- private static final String KEY_ENABLED = "enabled"; //$NON-NLS-1$
- private static final String KEY_NAME = "name"; //$NON-NLS-1$
- private static final String KEY_PROVIDER = "provider"; //$NON-NLS-1$
- private static final String KEY_SUFFIX = "suffix"; //$NON-NLS-1$
- private static final String KEY_SYSTEM = "isSystem"; //$NON-NLS-1$
- private static final String KEY_TYPE = "type"; //$NON-NLS-1$
- private static final String KEY_URL = "url"; //$NON-NLS-1$
- private static final String KEY_VERSION = "version"; //$NON-NLS-1$
- private static final String NODE_REPOSITORIES = "repositories"; //$NON-NLS-1$
-
- /**
- * Map of String->RepositoryInfo, where String is the repository key
- * obtained via getKey(URL).
- */
- private Map repositories = null;
- //lock object to be held when referring to the repositories field
- private final Object repositoryLock = new Object();
-
- /**
- * Cache List of repositories that are not reachable. Maintain cache
- * for short duration because repository may become available at any time.
- */
- private SoftReference unavailableRepositories;
-
- public ArtifactRepositoryManager() {
- IProvisioningEventBus bus = (IProvisioningEventBus) ServiceHelper.getService(Activator.getContext(), IProvisioningEventBus.class.getName());
- if (bus != null)
- bus.addListener(this);
- //initialize repositories lazily
- }
-
- public void addRepository(IArtifactRepository repository) {
- addRepository(repository, true, null);
- }
-
- private void addRepository(IArtifactRepository repository, boolean signalAdd, String suffix) {
- boolean added = true;
- synchronized (repositoryLock) {
- if (repositories == null)
- restoreRepositories();
- String key = getKey(repository);
- RepositoryInfo info = (RepositoryInfo) repositories.get(key);
- if (info == null)
- info = new RepositoryInfo();
- info.repository = new SoftReference(repository);
- info.name = repository.getName();
- info.description = repository.getDescription();
- info.location = repository.getLocation();
- String value = (String) repository.getProperties().get(IRepository.PROP_SYSTEM);
- info.isSystem = value == null ? false : Boolean.valueOf(value).booleanValue();
- info.suffix = suffix;
- added = repositories.put(getKey(repository), info) == null;
- }
- // save the given repository in the preferences.
- remember(repository, suffix);
- if (added && signalAdd)
- broadcastChangeEvent(repository.getLocation(), IRepository.TYPE_ARTIFACT, RepositoryEvent.ADDED, true);
- }
-
- public void addRepository(URL location) {
- addRepository(location, true);
- }
-
- private void addRepository(URL location, boolean isEnabled) {
- Assert.isNotNull(location);
- RepositoryInfo info = new RepositoryInfo();
- info.location = location;
- info.isEnabled = isEnabled;
- boolean added = true;
- synchronized (repositoryLock) {
- if (repositories == null)
- restoreRepositories();
- if (contains(location))
- return;
- added = repositories.put(getKey(location), info) == null;
- }
- // save the given repository in the preferences.
- remember(info);
- if (added)
- broadcastChangeEvent(location, IRepository.TYPE_ARTIFACT, RepositoryEvent.ADDED, isEnabled);
- }
-
- /**
- * Check if we recently attempted to load the given location and failed
- * to find anything. Returns <code>true</code> if the repository was not
- * found, and <code>false</code> otherwise.
- */
- private boolean checkNotFound(URL location) {
- if (unavailableRepositories == null)
- return false;
- List badRepos = (List) unavailableRepositories.get();
- if (badRepos == null)
- return false;
- return badRepos.contains(location);
- }
-
- /**
- * Clear the fact that we tried to load a repository at this location and did not find anything.
- */
- private void clearNotFound(URL location) {
- List badRepos;
- if (unavailableRepositories != null) {
- badRepos = (List) unavailableRepositories.get();
- if (badRepos != null) {
- badRepos.remove(location);
- return;
- }
- }
- }
-
- boolean contains(URL location) {
- synchronized (repositoryLock) {
- if (repositories == null)
- restoreRepositories();
- String key = getKey(location);
- if (repositories.containsKey(key))
- return true;
- //try alternate key with different trailing slash
- int len = key.length();
- if (key.charAt(len - 1) == '_')
- key = key.substring(0, len - 1);
- else
- key = key + '_';
- return repositories.containsKey(key);
- }
- }
-
- public IArtifactRequest createDownloadRequest(IArtifactKey key, IPath destination) {
- return new FileDownloadRequest(key, destination);
- }
-
- private Object createExecutableExtension(IExtension extension, String element) {
- IConfigurationElement[] elements = extension.getConfigurationElements();
- for (int i = 0; i < elements.length; i++) {
- if (elements[i].getName().equals(element)) {
- try {
- return elements[i].createExecutableExtension("class"); //$NON-NLS-1$
- } catch (CoreException e) {
- log("Error loading repository extension: " + extension.getUniqueIdentifier(), e); //$NON-NLS-1$
- return null;
- }
- }
- }
- log("Malformed repository extension: " + extension.getUniqueIdentifier(), null); //$NON-NLS-1$
- return null;
- }
-
- public IArtifactRequest createMirrorRequest(IArtifactKey key, IArtifactRepository destination) {
- return createMirrorRequest(key, destination, null, null);
- }
-
- public IArtifactRequest createMirrorRequest(IArtifactKey key, IArtifactRepository destination, Properties destinationDescriptorProperties, Properties destinationRepositoryProperties) {
- return new MirrorRequest(key, destination, destinationDescriptorProperties, destinationRepositoryProperties);
- }
-
- public IArtifactRepository createRepository(URL location, String name, String type, Map properties) throws ProvisionException {
- boolean loaded = false;
- try {
- loadRepository(location, (IProgressMonitor) null, type, true);
- loaded = true;
- } catch (ProvisionException e) {
- //expected - fall through and create a new repository
- }
- if (loaded)
- fail(location, ProvisionException.REPOSITORY_EXISTS);
- IExtension extension = RegistryFactory.getRegistry().getExtension(Activator.REPO_PROVIDER_XPT, type);
- if (extension == null)
- fail(location, ProvisionException.REPOSITORY_UNKNOWN_TYPE);
- IArtifactRepositoryFactory factory = (IArtifactRepositoryFactory) createExecutableExtension(extension, EL_FACTORY);
- if (factory == null)
- fail(location, ProvisionException.REPOSITORY_FAILED_READ);
- IArtifactRepository result = factory.create(location, name, type, properties);
- if (result == null)
- fail(location, ProvisionException.REPOSITORY_FAILED_READ);
- clearNotFound(result.getLocation());
- addRepository(result);
- return result;
- }
-
- private void fail(URL location, int code) throws ProvisionException {
- String msg = null;
- switch (code) {
- case ProvisionException.REPOSITORY_EXISTS :
- msg = NLS.bind(Messages.repoMan_exists, location);
- break;
- case ProvisionException.REPOSITORY_UNKNOWN_TYPE :
- msg = NLS.bind(Messages.repoMan_unknownType, location);
- break;
- case ProvisionException.REPOSITORY_FAILED_READ :
- msg = NLS.bind(Messages.repoMan_failedRead, location);
- break;
- case ProvisionException.REPOSITORY_NOT_FOUND :
- msg = NLS.bind(Messages.repoMan_notExists, location);
- break;
- }
- if (msg == null)
- msg = Messages.repoMan_internalError;
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, code, msg, null));
- }
-
- private IExtension[] findMatchingRepositoryExtensions(String suffix, String type) {
- IConfigurationElement[] elt = null;
- if (type != null && type.length() > 0) {
- IExtension ext = RegistryFactory.getRegistry().getExtension(Activator.REPO_PROVIDER_XPT, type);
- elt = (ext != null) ? ext.getConfigurationElements() : new IConfigurationElement[0];
- } else {
- elt = RegistryFactory.getRegistry().getConfigurationElementsFor(Activator.REPO_PROVIDER_XPT);
- }
- int count = 0;
- for (int i = 0; i < elt.length; i++) {
- if (EL_FILTER.equals(elt[i].getName())) {
- if (!suffix.equals(elt[i].getAttribute(ATTR_SUFFIX))) {
- elt[i] = null;
- } else {
- count++;
- }
- } else {
- elt[i] = null;
- }
- }
- IExtension[] results = new IExtension[count];
- for (int i = 0; i < elt.length; i++) {
- if (elt[i] != null)
- results[--count] = elt[i].getDeclaringExtension();
- }
- return results;
- }
-
- private String[] getAllSuffixes() {
- IConfigurationElement[] elements = RegistryFactory.getRegistry().getConfigurationElementsFor(Activator.REPO_PROVIDER_XPT);
- ArrayList result = new ArrayList(elements.length);
- result.add(DEFAULT_SUFFIX);
- for (int i = 0; i < elements.length; i++) {
- if (elements[i].getName().equals(EL_FILTER)) {
- String suffix = elements[i].getAttribute(ATTR_SUFFIX);
- if (!result.contains(suffix))
- result.add(suffix);
- }
- }
- return (String[]) result.toArray(new String[result.size()]);
- }
-
- /*
- * Return an encoded repository key that is suitable for using
- * as the name of a preference node.
- */
- private String getKey(IArtifactRepository repository) {
- return getKey(repository.getLocation());
- }
-
- /*
- * Return a string key based on the given repository location which
- * is suitable for use as a preference node name.
- */
- private String getKey(URL location) {
- return location.toExternalForm().replace('/', '_');
- }
-
- public URL[] getKnownRepositories(int flags) {
- synchronized (repositoryLock) {
- if (repositories == null)
- restoreRepositories();
- ArrayList result = new ArrayList();
- int i = 0;
- for (Iterator it = repositories.values().iterator(); it.hasNext(); i++) {
- RepositoryInfo info = (RepositoryInfo) it.next();
- if (matchesFlags(info, flags))
- result.add(info.location);
- }
- return (URL[]) result.toArray(new URL[result.size()]);
- }
- }
-
- /*
- * Return the root preference node where we store the repository information.
- */
- private Preferences getPreferences() {
- return new ConfigurationScope().getNode(Activator.ID).node(NODE_REPOSITORIES);
- }
-
- public IArtifactRepository getRepository(URL location) {
- synchronized (repositoryLock) {
- if (repositories == null)
- restoreRepositories();
- for (Iterator it = repositories.values().iterator(); it.hasNext();) {
- RepositoryInfo info = (RepositoryInfo) it.next();
- if (URLUtil.sameURL(info.location, location)) {
- if (info.repository == null)
- return null;
- IArtifactRepository repo = (IArtifactRepository) info.repository.get();
- //update our repository info because the repository may have changed
- if (repo != null)
- addRepository(repo);
- return repo;
- }
- }
- return null;
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepositoryManager#getRepositoryProperty(java.net.URL, java.lang.String)
- */
- public String getRepositoryProperty(URL location, String key) {
- synchronized (repositoryLock) {
- if (repositories == null)
- restoreRepositories();
- for (Iterator it = repositories.values().iterator(); it.hasNext();) {
- RepositoryInfo info = (RepositoryInfo) it.next();
- if (URLUtil.sameURL(info.location, location)) {
- if (IRepository.PROP_DESCRIPTION.equals(key))
- return info.description;
- if (IRepository.PROP_NAME.equals(key))
- return info.name;
- if (IRepository.PROP_SYSTEM.equals(key))
- return Boolean.toString(info.isSystem);
- // Key not known, return null
- return null;
- }
- }
- // Repository not found, return null
- return null;
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepositoryManager#getEnabled(java.net.URL)
- */
- public boolean isEnabled(URL location) {
- synchronized (repositoryLock) {
- if (repositories == null)
- restoreRepositories();
- for (Iterator it = repositories.values().iterator(); it.hasNext();) {
- RepositoryInfo info = (RepositoryInfo) it.next();
- if (URLUtil.sameURL(info.location, location)) {
- return info.isEnabled;
- }
- }
- // Repository not found, return false
- return false;
- }
- }
-
- public IArtifactRepository loadRepository(URL location, IProgressMonitor monitor) throws ProvisionException {
- return loadRepository(location, monitor, null, true);
- }
-
- private IArtifactRepository loadRepository(URL location, IProgressMonitor monitor, String type, boolean signalAdd) throws ProvisionException {
- // TODO do something with the monitor
- IArtifactRepository result = getRepository(location);
- if (result != null)
- return result;
- if (checkNotFound(location))
- fail(location, ProvisionException.REPOSITORY_NOT_FOUND);
- String[] suffixes = sortSuffixes(getAllSuffixes(), location);
- SubMonitor sub = SubMonitor.convert(monitor, suffixes.length * 100);
- for (int i = 0; i < suffixes.length; i++) {
- result = loadRepository(location, suffixes[i], type, sub.newChild(100));
- if (result != null) {
- addRepository(result, signalAdd, suffixes[i]);
- return result;
- }
- }
-
- if (Boolean.valueOf(getRepositoryProperty(location, IRepository.PROP_SYSTEM)).booleanValue())
- removeRepository(location);
- else
- rememberNotFound(location);
-
- fail(location, ProvisionException.REPOSITORY_NOT_FOUND);
- return null;
- }
-
- private IArtifactRepository loadRepository(URL location, String suffix, String type, SubMonitor monitor) {
- IExtension[] providers = findMatchingRepositoryExtensions(suffix, type);
- // Loop over the candidates and return the first one that successfully loads
- monitor.beginTask("", providers.length * 10); //$NON-NLS-1$
- for (int i = 0; i < providers.length; i++)
- try {
- IArtifactRepositoryFactory factory = (IArtifactRepositoryFactory) createExecutableExtension(providers[i], EL_FACTORY);
- if (factory != null)
- return factory.load(location, monitor.newChild(10));
- } catch (CoreException e) {
- if (e.getStatus().getCode() != ProvisionException.REPOSITORY_NOT_FOUND)
- log("Unable to load repository: " + location, e); //$NON-NLS-1$
- }
- return null;
- }
-
- protected void log(String message, Throwable t) {
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, message, t));
- }
-
- private boolean matchesFlags(RepositoryInfo info, int flags) {
- if ((flags & REPOSITORIES_SYSTEM) == REPOSITORIES_SYSTEM)
- if (!info.isSystem)
- return false;
- if ((flags & REPOSITORIES_NON_SYSTEM) == REPOSITORIES_NON_SYSTEM)
- if (info.isSystem)
- return false;
- if ((flags & REPOSITORIES_DISABLED) == REPOSITORIES_DISABLED) {
- if (info.isEnabled)
- return false;
- } else {
- //ignore disabled repositories for all other flag types
- if (!info.isEnabled)
- return false;
- }
- if ((flags & REPOSITORIES_LOCAL) == REPOSITORIES_LOCAL)
- return "file".equals(info.location.getProtocol()); //$NON-NLS-1$
- return true;
- }
-
- /*(non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.core.eventbus.ProvisioningListener#notify(java.util.EventObject)
- */
- public void notify(EventObject o) {
- if (o instanceof RepositoryEvent) {
- RepositoryEvent event = (RepositoryEvent) o;
- if (event.getKind() == RepositoryEvent.DISCOVERED && event.getRepositoryType() == IRepository.TYPE_ARTIFACT)
- addRepository(event.getRepositoryLocation(), event.isRepositoryEnabled());
- }
- }
-
- /**
- * Sets a preference and returns <code>true</code> if the preference
- * was actually changed.
- */
- private boolean putValue(Preferences node, String key, String newValue) {
- String oldValue = node.get(key, null);
- if (oldValue == newValue || (oldValue != null && oldValue.equals(newValue)))
- return false;
- if (newValue == null)
- node.remove(key);
- else
- node.put(key, newValue);
- return true;
- }
-
- public IArtifactRepository refreshRepository(URL location, IProgressMonitor monitor) throws ProvisionException {
- clearNotFound(location);
- boolean wasEnabled = isEnabled(location);
- //remove the repository so event is broadcast and repositories can clear their caches
- if (!removeRepository(location))
- fail(location, ProvisionException.REPOSITORY_NOT_FOUND);
- try {
- IArtifactRepository result = loadRepository(location, monitor, null, true);
- if (!wasEnabled)
- setEnabled(location, false);
- return result;
- } catch (ProvisionException e) {
- //if we failed to load, make sure the repository is not lost
- addRepository(location);
- if (!wasEnabled)
- setEnabled(location, false);
- throw e;
- }
- }
-
- /*
- * Add the given repository object to the preferences and save.
- */
- private void remember(IArtifactRepository repository, String suffix) {
- boolean changed = false;
- Preferences node = getPreferences().node(getKey(repository));
- changed |= putValue(node, KEY_URL, repository.getLocation().toExternalForm());
- changed |= putValue(node, KEY_DESCRIPTION, repository.getDescription());
- changed |= putValue(node, KEY_NAME, repository.getName());
- changed |= putValue(node, KEY_PROVIDER, repository.getProvider());
- changed |= putValue(node, KEY_TYPE, repository.getType());
- changed |= putValue(node, KEY_VERSION, repository.getVersion());
- changed |= putValue(node, KEY_SYSTEM, (String) repository.getProperties().get(IRepository.PROP_SYSTEM));
- changed |= putValue(node, KEY_SUFFIX, suffix);
- if (changed)
- saveToPreferences();
- }
-
- /*
- * Save the list of repositories in the preference store.
- */
- private void remember(RepositoryInfo info) {
- boolean changed = false;
- Preferences node = getPreferences().node(getKey(info.location));
- changed |= putValue(node, KEY_URL, info.location.toExternalForm());
- changed |= putValue(node, KEY_SYSTEM, Boolean.toString(info.isSystem));
- changed |= putValue(node, KEY_DESCRIPTION, info.description);
- changed |= putValue(node, KEY_NAME, info.name);
- changed |= putValue(node, KEY_ENABLED, Boolean.toString(info.isEnabled));
- changed |= putValue(node, KEY_SUFFIX, info.suffix);
- if (changed)
- saveToPreferences();
- }
-
- /**
- * Cache the fact that we tried to load a repository at this location and did not find anything.
- */
- private void rememberNotFound(URL location) {
- List badRepos;
- if (unavailableRepositories != null) {
- badRepos = (List) unavailableRepositories.get();
- if (badRepos != null) {
- badRepos.add(location);
- return;
- }
- }
- badRepos = new ArrayList();
- badRepos.add(location);
- unavailableRepositories = new SoftReference(badRepos);
- }
-
- public boolean removeRepository(URL toRemove) {
- Assert.isNotNull(toRemove);
- final String repoKey = getKey(toRemove);
- synchronized (repositoryLock) {
- if (repositories == null)
- restoreRepositories();
- if (repositories.remove(repoKey) == null)
- return false;
- }
- // remove the repository from the preference store
- try {
- getPreferences().node(repoKey).removeNode();
- saveToPreferences();
- } catch (BackingStoreException e) {
- log("Error saving preferences", e); //$NON-NLS-1$
- }
- //TODO: compute and pass appropriate isEnabled flag
- broadcastChangeEvent(toRemove, IRepository.TYPE_ARTIFACT, RepositoryEvent.REMOVED, true);
- return true;
- }
-
- private void restoreDownloadCache() {
- // TODO while recreating, we may want to have proxies on repo instead of the real repo object to limit what is activated.
- AgentLocation location = (AgentLocation) ServiceHelper.getService(Activator.getContext(), AgentLocation.class.getName());
- if (location == null)
- // TODO should do something here since we are failing to restore.
- return;
- try {
- loadRepository(location.getArtifactRepositoryURL(), null);
- return;
- } catch (ProvisionException e) {
- // log but still continue and try to create a new one
- if (e.getStatus().getCode() != ProvisionException.REPOSITORY_NOT_FOUND)
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Error occurred while loading download cache.", e)); //$NON-NLS-1$
- }
- try {
- Map properties = new HashMap(1);
- properties.put(IRepository.PROP_SYSTEM, Boolean.TRUE.toString());
- createRepository(location.getArtifactRepositoryURL(), "download cache", TYPE_SIMPLE_REPOSITORY, properties); //$NON-NLS-1$
- } catch (ProvisionException e) {
- LogHelper.log(e);
- }
- }
-
- /*
- * Load the list of repositories from the preferences.
- */
- private void restoreFromPreferences() {
- // restore the list of repositories from the preference store
- Preferences node = getPreferences();
- String[] children;
- try {
- children = node.childrenNames();
- } catch (BackingStoreException e) {
- log("Error restoring repositories from preferences", e); //$NON-NLS-1$
- return;
- }
- for (int i = 0; i < children.length; i++) {
- Preferences child = node.node(children[i]);
- String locationString = child.get(KEY_URL, null);
- if (locationString == null)
- continue;
- try {
- RepositoryInfo info = new RepositoryInfo();
- info.location = new URL(locationString);
- info.name = child.get(KEY_NAME, null);
- info.description = child.get(KEY_DESCRIPTION, null);
- info.isSystem = child.getBoolean(KEY_SYSTEM, false);
- info.isEnabled = child.getBoolean(KEY_ENABLED, true);
- info.suffix = child.get(KEY_SUFFIX, null);
- repositories.put(getKey(info.location), info);
- } catch (MalformedURLException e) {
- log("Error while restoring repository: " + locationString, e); //$NON-NLS-1$
- }
- }
- // now that we have loaded everything, remember them
- saveToPreferences();
- }
-
- private void restoreFromSystemProperty() {
- String locationString = Activator.getContext().getProperty("eclipse.p2.artifactRepository"); //$NON-NLS-1$
- if (locationString != null) {
- StringTokenizer tokenizer = new StringTokenizer(locationString, ","); //$NON-NLS-1$
- while (tokenizer.hasMoreTokens()) {
- try {
- addRepository(new URL(tokenizer.nextToken()));
- } catch (MalformedURLException e) {
- log("Error while restoring repository " + locationString, e); //$NON-NLS-1$
- }
- }
- }
- }
-
- /**
- * Restores the repository list.
- */
- protected void restoreRepositories() {
- synchronized (repositoryLock) {
- repositories = new HashMap();
- restoreDownloadCache();
- restoreFromSystemProperty();
- restoreFromPreferences();
- }
- }
-
- /*
- * Save the list of repositories to the file-system.
- */
- private void saveToPreferences() {
- try {
- getPreferences().flush();
- } catch (BackingStoreException e) {
- log("Error while saving repositories in preferences", e); //$NON-NLS-1$
- }
- }
-
- /*(non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepositoryManager#setEnabled(java.net.URL, boolean)
- */
- public void setEnabled(URL location, boolean enablement) {
- synchronized (repositoryLock) {
- if (repositories == null)
- restoreRepositories();
- RepositoryInfo info = (RepositoryInfo) repositories.get(getKey(location));
- if (info == null || info.isEnabled == enablement)
- return;
- info.isEnabled = enablement;
- remember(info);
- }
- }
-
- /**
- * Optimize the order in which repository suffixes are searched by trying
- * the last successfully loaded suffix first.
- */
- private String[] sortSuffixes(String[] suffixes, URL location) {
- synchronized (repositoryLock) {
- if (repositories == null)
- restoreRepositories();
- RepositoryInfo info = (RepositoryInfo) repositories.get(getKey(location));
- if (info == null || info.suffix == null)
- return suffixes;
- //move lastSuffix to the front of the list but preserve order of remaining entries
- String lastSuffix = info.suffix;
- for (int i = 0; i < suffixes.length; i++) {
- if (lastSuffix.equals(suffixes[i])) {
- System.arraycopy(suffixes, 0, suffixes, 1, i);
- suffixes[0] = lastSuffix;
- return suffixes;
- }
- }
- }
- return suffixes;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/ArtifactRequest.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/ArtifactRequest.java
deleted file mode 100644
index 2a3d3d6..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/ArtifactRequest.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.repository;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-
-/**
- * Base class for all requests on an {@link IArtifactRepository}.
- */
-public abstract class ArtifactRequest implements IArtifactRequest {
- private static final Status DEFAULT_STATUS = new Status(IStatus.ERROR, Activator.ID, "default"); //$NON-NLS-1$
- protected IArtifactKey artifact;
- protected String resolvedKey;
- protected IArtifactRepository source;
- protected IStatus result = DEFAULT_STATUS;
- protected IArtifactDescriptor descriptor;
-
- public ArtifactRequest(IArtifactKey key) {
- artifact = key;
- // TODO do we need to make this configurable? for now set default request handler to ECF
- }
-
- public IArtifactKey getArtifactKey() {
- return artifact;
- }
-
- public IArtifactDescriptor getArtifactDescriptor() {
- return descriptor;
- }
-
- /**
- * Returns the result of the previous call to {@link #perform(IProgressMonitor)},
- * or <code>null</code> if perform has never been called.
- *
- * @return The result of the previous perform call.
- */
- public IStatus getResult() {
- if (result == DEFAULT_STATUS)
- return new Status(IStatus.ERROR, Activator.ID, "No repository found containing: " + getArtifactKey().toString());
-
- return result;
- }
-
- protected IArtifactRepository getSourceRepository() {
- return source;
- }
-
- /**
- * Performs the artifact request, and sets the result status.
- *
- * @param monitor a progress monitor, or <code>null</code> if progress
- * reporting is not desired
- */
- abstract public void perform(IProgressMonitor monitor);
-
- /**
- * Sets the descriptor to use when processing this request.
- *
- * @param value The descriptor to use when processing this request
- */
- public void setDescriptor(IArtifactDescriptor value) {
- if (!value.getArtifactKey().equals(artifact))
- throw new IllegalArgumentException("Descriptor's key must match the request's key"); //$NON-NLS-1$
- descriptor = value;
- if (artifact == null)
- artifact = value.getArtifactKey();
- }
-
- /**
- * Sets the result of an invocation of {@link #perform(IProgressMonitor)}.
- * This method is called by subclasses to set the result status for
- * this request.
- *
- * @param value The result status
- */
- protected void setResult(IStatus value) {
- result = value;
- }
-
- public void setSourceRepository(IArtifactRepository value) {
- source = value;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/DownloadStatus.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/DownloadStatus.java
deleted file mode 100644
index 3481849..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/DownloadStatus.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.repository;
-
-import org.eclipse.core.runtime.Status;
-
-/**
- * A status object that optionally reports additional information about the
- * result of a download.
- */
-public class DownloadStatus extends Status {
- public static final long UNKNOWN_RATE = -1;
-
- private long speed = UNKNOWN_RATE;
-
- /**
- * Constructs a new DownloadStatus with the given attributes.
- */
- public DownloadStatus(int severity, String pluginId, int code, String message, Throwable exception) {
- super(severity, pluginId, code, message, exception);
- }
-
- /**
- * Constructs a new DownloadStatus with the given attributes.
- */
- public DownloadStatus(int severity, String pluginId, String message) {
- super(severity, pluginId, message);
- }
-
- /**
- * Constructs a new DownloadStatus with the given attributes.
- */
- public DownloadStatus(int severity, String pluginId, String message, Throwable exception) {
- super(severity, pluginId, message, exception);
- }
-
- /**
- * Returns the download rate in bytes per second. If the rate is unknown,
- * @{link {@link #UNKNOWN_RATE}} is returned.
- * @return the download rate in bytes per second
- */
- public long getTransferRate() {
- return speed;
- }
-
- /**
- * Sets the download rate of the transfer in bytes per second.
- * @param rate The download rate in bytes per second
- */
- public void setTransferRate(long rate) {
- this.speed = rate;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/ECFTransport.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/ECFTransport.java
deleted file mode 100644
index cc42fd3..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/ECFTransport.java
+++ /dev/null
@@ -1,269 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * compeople AG (Stefan Liebig) - various ongoing maintenance
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.repository;
-
-import java.io.*;
-import java.net.ProtocolException;
-import java.net.URLEncoder;
-import org.eclipse.core.runtime.*;
-import org.eclipse.ecf.core.security.ConnectContextFactory;
-import org.eclipse.ecf.core.security.IConnectContext;
-import org.eclipse.ecf.filetransfer.*;
-import org.eclipse.ecf.filetransfer.events.*;
-import org.eclipse.ecf.filetransfer.identity.FileCreateException;
-import org.eclipse.ecf.filetransfer.identity.FileIDFactory;
-import org.eclipse.ecf.filetransfer.service.IRetrieveFileTransferFactory;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IStateful;
-import org.eclipse.equinox.internal.provisional.p2.core.IServiceUI;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.IServiceUI.AuthenticationInfo;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository;
-import org.eclipse.equinox.security.storage.*;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.util.tracker.ServiceTracker;
-
-/**
- * A transport implementation that uses ECF file transfer API.
- */
-public class ECFTransport extends Transport {
- /**
- * The number of password retry attempts allowed before failing.
- */
- private static final int LOGIN_RETRIES = 3;
-
- private static final ProtocolException ERROR_401 = new ProtocolException();
-
- private static final String SERVER_REDIRECT = "Server redirected too many times"; //$NON-NLS-1$
-
- /**
- * The singleton transport instance.
- */
- private static ECFTransport instance;
-
- private final ServiceTracker retrievalFactoryTracker;
-
- /**
- * Returns an initialized instance of ECFTransport
- */
- public static synchronized ECFTransport getInstance() {
- if (instance == null) {
- instance = new ECFTransport();
- }
- return instance;
- }
-
- /**
- * Private to avoid client instantiation.
- */
- private ECFTransport() {
- retrievalFactoryTracker = new ServiceTracker(Activator.getContext(), IRetrieveFileTransferFactory.class.getName(), null);
- retrievalFactoryTracker.open();
- }
-
- protected IStatus convertToStatus(IFileTransferEvent event, Exception failure, long startTime, String location) {
- long speed = DownloadStatus.UNKNOWN_RATE;
- if (event instanceof IIncomingFileTransferEvent) {
- long bytes = ((IIncomingFileTransferEvent) event).getSource().getBytesReceived();
- if (bytes > 0) {
- long elapsed = (System.currentTimeMillis() - startTime) / 1000;//in seconds
- if (elapsed == 0)
- elapsed = 1;
- speed = bytes / elapsed;
- }
- }
- DownloadStatus result = null;
- if (failure == null)
- result = new DownloadStatus(IStatus.OK, Activator.ID, Status.OK_STATUS.getMessage());
- else if (failure instanceof UserCancelledException)
- result = new DownloadStatus(IStatus.CANCEL, Activator.ID, failure.getMessage(), failure);
- else
- result = new DownloadStatus(IStatus.ERROR, Activator.ID, NLS.bind(Messages.io_failedRead, location), failure);
- result.setTransferRate(speed);
- return result;
- }
-
- public IStatus download(String url, OutputStream destination, IProgressMonitor monitor) {
- try {
- IConnectContext context = getConnectionContext(url, false);
- for (int i = 0; i < LOGIN_RETRIES; i++) {
- try {
- return performDownload(url, destination, context, monitor);
- } catch (ProtocolException e) {
- if (e == ERROR_401)
- context = getConnectionContext(url, true);
- }
- }
- } catch (UserCancelledException e) {
- return Status.CANCEL_STATUS;
- } catch (ProvisionException e) {
- return e.getStatus();
- }
- //reached maximum number of retries without success
- return new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_AUTHENTICATION, NLS.bind(Messages.io_failedRead, url), null);
- }
-
- public IStatus performDownload(String toDownload, OutputStream target, IConnectContext context, IProgressMonitor monitor) throws ProtocolException {
- IRetrieveFileTransferFactory factory = (IRetrieveFileTransferFactory) retrievalFactoryTracker.getService();
- if (factory == null)
- return statusOn(target, new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.io_failedRead, toDownload)));
-
- return transfer(factory.newInstance(), toDownload, target, context, monitor);
- }
-
- private IStatus transfer(final IRetrieveFileTransferContainerAdapter retrievalContainer, final String toDownload, final OutputStream target, IConnectContext context, final IProgressMonitor monitor) throws ProtocolException {
- final IStatus[] result = new IStatus[1];
- final long startTime = System.currentTimeMillis();
- IFileTransferListener listener = new IFileTransferListener() {
- public void handleTransferEvent(IFileTransferEvent event) {
- if (event instanceof IIncomingFileTransferReceiveStartEvent) {
- IIncomingFileTransferReceiveStartEvent rse = (IIncomingFileTransferReceiveStartEvent) event;
- try {
- if (target != null) {
- rse.receive(target);
- }
- } catch (IOException e) {
- IStatus status = convertToStatus(event, e, startTime, toDownload);
- synchronized (result) {
- result[0] = status;
- result.notify();
- }
- }
- }
- if (event instanceof IIncomingFileTransferReceiveDataEvent) {
- IIncomingFileTransfer source = ((IIncomingFileTransferReceiveDataEvent) event).getSource();
- if (monitor != null) {
- if (monitor.isCanceled()) {
- synchronized (result) {
- result[0] = Status.CANCEL_STATUS;
- source.cancel();
- result.notify();
- }
- }
- }
- }
- if (event instanceof IIncomingFileTransferReceiveDoneEvent) {
- Exception exception = ((IIncomingFileTransferReceiveDoneEvent) event).getException();
- IStatus status = convertToStatus(event, exception, startTime, toDownload);
- synchronized (result) {
- result[0] = status;
- result.notify();
- }
- }
- }
- };
-
- try {
- retrievalContainer.setConnectContextForAuthentication(context);
- retrievalContainer.sendRetrieveRequest(FileIDFactory.getDefault().createFileID(retrievalContainer.getRetrieveNamespace(), toDownload), listener, null);
- } catch (IncomingFileTransferException e) {
- IStatus status = e.getStatus();
- Throwable exception = status.getException();
- if (exception instanceof IOException) {
- if (exception.getMessage() != null && (exception.getMessage().indexOf(" 401 ") != -1 || exception.getMessage().indexOf(SERVER_REDIRECT) != -1)) //$NON-NLS-1$
- throw ERROR_401;
- }
- return statusOn(target, status);
- } catch (FileCreateException e) {
- return statusOn(target, e.getStatus());
- }
- synchronized (result) {
- while (result[0] == null) {
- boolean logged = false;
- try {
- result.wait();
- } catch (InterruptedException e) {
- if (!logged)
- LogHelper.log(new Status(IStatus.WARNING, Activator.ID, "Unexpected interrupt while waiting on ECF transfer", e)); //$NON-NLS-1$
- }
- }
- }
-
- return statusOn(target, result[0]);
- }
-
- /**
- * Returns the connection context for the given URL. This may prompt the
- * user for user name and password as required.
- *
- * @param xmlLocation - the file location requiring login details
- * @param prompt - use <code>true</code> to prompt the user instead of
- * looking at the secure preference store for login, use <code>false</code>
- * to only try the secure preference store
- * @throws UserCancelledException when the user cancels the login prompt
- * @throws ProvisionException if the password cannot be read or saved
- * @return The connection context
- */
- public IConnectContext getConnectionContext(String xmlLocation, boolean prompt) throws UserCancelledException, ProvisionException {
- ISecurePreferences securePreferences = SecurePreferencesFactory.getDefault();
- IPath hostLocation = new Path(xmlLocation).removeLastSegments(1);
- String nodeKey;
- try {
- nodeKey = URLEncoder.encode(hostLocation.toString(), "UTF-8"); //$NON-NLS-1$
- } catch (UnsupportedEncodingException e2) {
- //fall back to default platform encoding
- nodeKey = URLEncoder.encode(hostLocation.toString());
- }
- String nodeName = IRepository.PREFERENCE_NODE + '/' + nodeKey;
- ISecurePreferences prefNode = null;
- if (securePreferences.nodeExists(nodeName))
- prefNode = securePreferences.node(nodeName);
- if (!prompt) {
- if (prefNode == null)
- return null;
- try {
- String username = prefNode.get(IRepository.PROP_USERNAME, null);
- String password = prefNode.get(IRepository.PROP_PASSWORD, null);
- //if we don't have stored connection data just return a null connection context
- if (username == null || password == null)
- return null;
- return ConnectContextFactory.createUsernamePasswordConnectContext(username, password);
- } catch (StorageException e) {
- String msg = NLS.bind(Messages.repoMan_internalError, xmlLocation.toString());
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.INTERNAL_ERROR, msg, null));
- }
- }
- //need to prompt user for user name and password
- ServiceTracker adminUITracker = new ServiceTracker(Activator.getContext(), IServiceUI.class.getName(), null);
- adminUITracker.open();
- IServiceUI adminUIService = (IServiceUI) adminUITracker.getService();
- AuthenticationInfo loginDetails = null;
- if (adminUIService != null)
- loginDetails = adminUIService.getUsernamePassword(hostLocation.toString());
- //null result means user canceled password dialog
- if (loginDetails == null)
- throw new UserCancelledException();
- //save user name and password if requested by user
- if (loginDetails.saveResult()) {
- if (prefNode == null)
- prefNode = securePreferences.node(nodeName);
- try {
- prefNode.put(IRepository.PROP_USERNAME, loginDetails.getUserName(), true);
- prefNode.put(IRepository.PROP_PASSWORD, loginDetails.getPassword(), true);
- prefNode.flush();
- } catch (StorageException e1) {
- String msg = NLS.bind(Messages.repoMan_internalError, xmlLocation.toString());
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.INTERNAL_ERROR, msg, null));
- } catch (IOException e) {
- String msg = NLS.bind(Messages.repoMan_internalError, xmlLocation.toString());
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.INTERNAL_ERROR, msg, null));
- }
- }
- return ConnectContextFactory.createUsernamePasswordConnectContext(loginDetails.getUserName(), loginDetails.getPassword());
- }
-
- private static IStatus statusOn(OutputStream target, IStatus status) {
- if (target instanceof IStateful)
- ((IStateful) target).setStatus(status);
- return status;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/FileDownloadRequest.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/FileDownloadRequest.java
deleted file mode 100644
index 27e8d86..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/FileDownloadRequest.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.repository;
-
-import java.io.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-import org.eclipse.osgi.util.NLS;
-
-public class FileDownloadRequest extends ArtifactRequest {
- public static final FileDownloadRequest[] NO_REQUEST = new FileDownloadRequest[0];
-
- private File destination; // The fully qualified path where the file should be written
-
- public FileDownloadRequest(IArtifactKey downloadKey, IPath downloadPath) {
- super(downloadKey);
- destination = downloadPath.toFile();
- }
-
- public void perform(IProgressMonitor monitor) {
- try {
- OutputStream destinationStream = null;
- try {
- destinationStream = new BufferedOutputStream(new FileOutputStream(destination));
- setResult(source.getArtifact(descriptor, destinationStream, null));
- } finally {
- if (destinationStream != null)
- destinationStream.close();
- }
- } catch (IOException e) {
- setResult(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.FileDownloadError, descriptor, destination), e));
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/Messages.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/Messages.java
deleted file mode 100644
index 43f94b8..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/Messages.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.repository;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.artifact.repository.messages"; //$NON-NLS-1$
-
- public static String artifact_not_found;
- public static String available_already_in;
- public static String downloading;
- public static String error_closing_stream;
- public static String FileDownloadError;
- public static String io_failedRead;
- public static String io_incompatibleVersion;
- public static String SignatureVerification_failedRead;
- public static String SignatureVerification_invalidContent;
- public static String SignatureVerification_invalidFileContent;
-
- public static String SignatureVerifier_OutOfMemory;
- public static String io_parseError;
- public static String mirroring;
- public static String repoMan_exists;
- public static String repoMan_failedRead;
- public static String repoMan_internalError;
- public static String repoMan_notExists;
- public static String repoMan_unknownType;
- public static String repoFailedWrite;
- public static String repoReadOnly;
-
- public static String sar_downloading;
- public static String sar_downloadJobName;
- public static String sar_failedMkdir;
- public static String sar_reportStatus;
-
- static {
- // initialize resource bundles
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- // Do not instantiate
- }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/MirrorRequest.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/MirrorRequest.java
deleted file mode 100644
index 6f7bf81..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/MirrorRequest.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * compeople AG (Stefan Liebig) - various ongoing maintenance
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.repository;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.util.Properties;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.*;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStepDescriptor;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStepHandler;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * A request to mirror (copy) an artifact into a given destination artifact repository.
- */
-public class MirrorRequest extends ArtifactRequest {
- private static final ProcessingStepDescriptor[] EMPTY_STEPS = new ProcessingStepDescriptor[0];
-
- private final IArtifactRepository target;
-
- private final Properties targetDescriptorProperties;
-
- private final Properties targetRepositoryProperties;
-
- public MirrorRequest(IArtifactKey key, IArtifactRepository targetRepository, Properties targetDescriptorProperties, Properties targetRepositoryProperties) {
- super(key);
- target = targetRepository;
- if (targetDescriptorProperties == null || targetDescriptorProperties.isEmpty()) {
- this.targetDescriptorProperties = null;
- } else {
- this.targetDescriptorProperties = new Properties();
- this.targetDescriptorProperties.putAll(targetDescriptorProperties);
- }
-
- if (targetRepositoryProperties == null || targetRepositoryProperties.isEmpty()) {
- this.targetRepositoryProperties = null;
- } else {
- this.targetRepositoryProperties = new Properties();
- this.targetRepositoryProperties.putAll(targetRepositoryProperties);
- }
- }
-
- public void perform(IProgressMonitor monitor) {
- monitor.subTask(NLS.bind(Messages.downloading, getArtifactKey().getId()));
- // Do we already have the artifact in the target?
- if (target.contains(getArtifactKey())) {
- setResult(new Status(IStatus.OK, Activator.ID, NLS.bind(Messages.available_already_in, getArtifactKey())));
- return;
- }
-
- // if the request does not have a descriptor then try to fill one in by getting
- // the list of all and randomly picking one that appears to be optimized.
- IArtifactDescriptor optimized = null;
- IArtifactDescriptor canonical = null;
- if (descriptor == null) {
- IArtifactDescriptor[] descriptors = source.getArtifactDescriptors(getArtifactKey());
- if (descriptors.length > 0) {
- for (int i = 0; i < descriptors.length; i++) {
- if (descriptors[i].getProperty(IArtifactDescriptor.FORMAT) == null)
- canonical = descriptors[i];
- else if (ProcessingStepHandler.canProcess(descriptors[i]))
- optimized = descriptors[i];
- }
- boolean chooseCanonical = source.getLocation().getProtocol().equals("file"); //$NON-NLS-1$
- // If the source repo is local then look for a canonical descriptor so we don't waste processing time.
- descriptor = chooseCanonical ? canonical : optimized;
- // if the descriptor is still null then we could not find our first choice of format so switch the logic.
- if (descriptor == null)
- descriptor = !chooseCanonical ? canonical : optimized;
- }
- }
-
- // if the descriptor is not set now then the repo does not have the requested artifact
- // TODO improve the reporting here. It may be the case that the repo has the artifact
- // but the client does not have a processor
- if (descriptor == null) {
- setResult(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.artifact_not_found, getArtifactKey())));
- return;
- }
-
- ArtifactDescriptor destinationDescriptor = getDestinationDescriptor(descriptor);
- IStatus status = transfer(destinationDescriptor, descriptor, monitor);
- // if ok, cancelled or transfer has already been done with the canonical form return with status set
- if (status.getSeverity() == IStatus.CANCEL) {
- setResult(status);
- return;
- }
- if (monitor.isCanceled()) {
- setResult(Status.CANCEL_STATUS);
- return;
- }
- if (status.isOK() || descriptor == canonical || canonical == null) {
- setResult(status);
- return;
- }
-
- // retry with canonical, first remove possibly erroneously added descriptor
- if (target.contains(destinationDescriptor))
- target.removeDescriptor(destinationDescriptor);
- setResult(transfer(getDestinationDescriptor(canonical), canonical, monitor));
- }
-
- private ArtifactDescriptor getDestinationDescriptor(IArtifactDescriptor sourceDescriptor) {
- // Get the descriptor to use to store the artifact
- // Since we are mirroring, ensure we clear out data from the original descriptor that may
- // not apply in the new repo location.
- // TODO this is brittle. perhaps the repo itself should do this? there are cases where
- // we really do need to give the repo the actual descriptor to use however...
- ArtifactDescriptor destinationDescriptor = new ArtifactDescriptor(sourceDescriptor);
- destinationDescriptor.setProcessingSteps(EMPTY_STEPS);
- destinationDescriptor.setProperty(IArtifactDescriptor.DOWNLOAD_MD5, null);
- destinationDescriptor.setProperty(IArtifactDescriptor.DOWNLOAD_CONTENTTYPE, null);
- destinationDescriptor.setProperty(IArtifactDescriptor.FORMAT, null);
- if (targetDescriptorProperties != null)
- destinationDescriptor.addProperties(targetDescriptorProperties);
- if (targetRepositoryProperties != null)
- destinationDescriptor.addRepositoryProperties(targetRepositoryProperties);
- return destinationDescriptor;
- }
-
- /**
- * Keep retrying the source repository until it reports back that it will be impossible
- * to get the artifact from it.
- * @param destinationDescriptor
- * @param sourceDescriptor
- * @param monitor
- * @return the status of the transfer operation
- */
- private IStatus transfer(IArtifactDescriptor destinationDescriptor, IArtifactDescriptor sourceDescriptor, IProgressMonitor monitor) {
- IStatus status = Status.OK_STATUS;
- // go until we get one (OK), there are no more mirrors to consider or the operation is cancelled.
- // TODO this needs to be redone with a much better mirror management scheme.
- do {
- status = transferSingle(destinationDescriptor, sourceDescriptor, monitor);
- } while (status.getSeverity() == IStatus.ERROR && status.getCode() == IArtifactRepository.CODE_RETRY);
- return status;
- }
-
- private IStatus transferSingle(IArtifactDescriptor destinationDescriptor, IArtifactDescriptor sourceDescriptor, IProgressMonitor monitor) {
- OutputStream destination;
- try {
- destination = target.getOutputStream(destinationDescriptor);
- } catch (ProvisionException e) {
- return e.getStatus();
- }
-
- IStatus status = null;
- // Do the actual transfer
- try {
- status = getSourceRepository().getArtifact(sourceDescriptor, destination, monitor);
- } finally {
- try {
- destination.close();
- } catch (IOException e) {
- if (status != null && status.getSeverity() == IStatus.ERROR && status.getCode() == IArtifactRepository.CODE_RETRY)
- status = new MultiStatus(Activator.ID, status.getCode(), new IStatus[] {status}, NLS.bind(Messages.error_closing_stream, getArtifactKey(), target.getLocation()), e);
- else
- status = new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.error_closing_stream, getArtifactKey(), target.getLocation()), e);
- }
- }
- return status;
- }
-
- public String toString() {
- return Messages.mirroring + getArtifactKey() + " into " + target; //$NON-NLS-1$
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/MirrorSelector.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/MirrorSelector.java
deleted file mode 100644
index d72daab..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/MirrorSelector.java
+++ /dev/null
@@ -1,274 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.repository;
-
-import java.net.*;
-import java.util.*;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.*;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository;
-import org.w3c.dom.*;
-
-/**
- * Mirror support class for repositories. This class implements
- * mirror support equivalent to the mirroring of update manager sites. A repository
- * optionally provides a mirror URL via the {@link IRepository#PROP_MIRRORS_URL} key.
- * The contents of the file at this URL is expected to be an XML document
- * containing a list of <mirror> elements. The mirrors are assumed to be already
- * sorted geographically with closer mirrors first.
- */
-public class MirrorSelector {
- private static final double LOG2 = Math.log(2);
-
- /**
- * Encapsulates information about a single mirror
- */
- public static class MirrorInfo implements Comparable {
- long bytesPerSecond;
- int failureCount;
- private final int initialRank;
- String locationString;
-
- public MirrorInfo(String location, int initialRank) {
- this.initialRank = initialRank;
- this.locationString = location;
- if (!locationString.endsWith("/")) //$NON-NLS-1$
- locationString = locationString + "/"; //$NON-NLS-1$
- failureCount = 0;
- bytesPerSecond = DownloadStatus.UNKNOWN_RATE;
- }
-
- /**
- * Comparison used to sort mirrors.
- */
- public int compareTo(Object o) {
- if (!(o instanceof MirrorInfo))
- return 0;
- MirrorInfo that = (MirrorInfo) o;
- //less failures is better
- if (this.failureCount != that.failureCount)
- return this.failureCount - that.failureCount;
- //faster is better
- if (this.bytesPerSecond != that.bytesPerSecond)
- return (int) (that.bytesPerSecond - this.bytesPerSecond);
- //trust that initial rank indicates geographical proximity
- return this.initialRank - that.initialRank;
- }
-
- public void incrementFailureCount() {
- this.failureCount++;
- }
-
- public void setBytesPerSecond(long newValue) {
- this.bytesPerSecond = newValue;
- }
-
- public String toString() {
- return "Mirror(" + locationString + ',' + failureCount + ',' + bytesPerSecond + ')'; //$NON-NLS-1$
- }
- }
-
- /**
- * The URI of the base repository being mirrored.
- */
- URI baseURI;
-
- MirrorInfo[] mirrors;
-
- private final IRepository repository;
-
- private final Random random = new Random();
-
- /**
- * Constructs a mirror support class for the given repository. Mirrors are
- * not contacted and the mirrorsURL document is not parsed until a
- * mirror location request is sent.
- */
- public MirrorSelector(IRepository repository) {
- this.repository = repository;
- try {
- String base = (String) repository.getProperties().get(IRepository.PROP_MIRRORS_BASE_URL);
- if (base != null) {
- this.baseURI = new URI(base);
- } else {
- URL repositoryURL = repository.getLocation();
- if (repositoryURL != null)
- this.baseURI = URLUtil.toURI(repositoryURL);
- }
- } catch (URISyntaxException e) {
- log("Error initializing mirrors for: " + repository.getLocation(), e); //$NON-NLS-1$
- }
- }
-
- /**
- * Parses the given mirror URL to obtain the list of mirrors. Returns the mirrors,
- * or null if mirrors could not be computed.
- *
- * Originally copied from DefaultSiteParser.getMirrors in org.eclipse.update.core
- */
- private MirrorInfo[] computeMirrors(String mirrorsURL) {
- try {
- String countryCode = Locale.getDefault().getCountry().toLowerCase();
- int timeZone = (new GregorianCalendar()).get(Calendar.ZONE_OFFSET) / (60 * 60 * 1000);
-
- if (mirrorsURL.indexOf('?') != -1) {
- mirrorsURL = mirrorsURL + '&';
- } else {
- mirrorsURL = mirrorsURL + '?';
- }
- mirrorsURL = mirrorsURL + "countryCode=" + countryCode + "&timeZone=" + timeZone + "&responseType=xml"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
- DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
- DocumentBuilder builder = domFactory.newDocumentBuilder();
- Document document = builder.parse(mirrorsURL);
- if (document == null)
- return null;
- NodeList mirrorNodes = document.getElementsByTagName("mirror"); //$NON-NLS-1$
- int mirrorCount = mirrorNodes.getLength();
- MirrorInfo[] infos = new MirrorInfo[mirrorCount + 1];
- for (int i = 0; i < mirrorCount; i++) {
- Element mirrorNode = (Element) mirrorNodes.item(i);
- String infoURL = mirrorNode.getAttribute("url"); //$NON-NLS-1$
- infos[i] = new MirrorInfo(infoURL, i);
- }
- //p2: add the base site as the last resort mirror so we can track download speed and failure rate
- infos[mirrorCount] = new MirrorInfo(baseURI.toString(), mirrorCount);
- return infos;
- } catch (Exception e) {
- // log if absolute url
- if (mirrorsURL != null && (mirrorsURL.startsWith("http://") //$NON-NLS-1$
- || mirrorsURL.startsWith("https://") //$NON-NLS-1$
- || mirrorsURL.startsWith("file://") //$NON-NLS-1$
- || mirrorsURL.startsWith("ftp://") //$NON-NLS-1$
- || mirrorsURL.startsWith("jar://"))) //$NON-NLS-1$
- log("Error processing mirrors URL: " + mirrorsURL, e); //$NON-NLS-1$
- return null;
- }
- }
-
- /**
- * Returns an equivalent location for the given artifact location in the base
- * repository. Always falls back to the given input location in case of failure
- * to compute mirrors. Never returns null.
- */
- public synchronized String getMirrorLocation(String inputLocation) {
- Assert.isNotNull(inputLocation);
- if (baseURI == null)
- return inputLocation;
- URI relativeLocation = null;
- try {
- relativeLocation = baseURI.relativize(new URI(inputLocation));
- } catch (URISyntaxException e) {
- if (Tracing.DEBUG_MIRRORS)
- log("Unable to make location relative: " + inputLocation, e); //$NON-NLS-1$
- }
- //if we failed to relativize the location, we can't select a mirror
- if (relativeLocation == null || relativeLocation.isAbsolute())
- return inputLocation;
- MirrorInfo selectedMirror = selectMirror();
- if (selectedMirror == null)
- return inputLocation;
- if (Tracing.DEBUG_MIRRORS)
- Tracing.debug("Selected mirror for artifact " + inputLocation + ": " + selectedMirror); //$NON-NLS-1$ //$NON-NLS-2$
- try {
- return new URL(selectedMirror.locationString + relativeLocation.getPath()).toExternalForm();
- } catch (MalformedURLException e) {
- log("Unable to make location " + inputLocation + " relative to mirror " + selectedMirror.locationString, e); //$NON-NLS-1$ //$NON-NLS-2$
- }
- return inputLocation;
- }
-
- /**
- * Returns the mirror locations for this repository, or <code>null</code> if
- * they could not be computed.
- */
- private MirrorInfo[] initMirrors() {
- if (mirrors != null)
- return mirrors;
- String mirrorsURL = (String) repository.getProperties().get(IRepository.PROP_MIRRORS_URL);
- if (mirrorsURL != null)
- mirrors = computeMirrors(mirrorsURL);
- return mirrors;
- }
-
- private void log(String message, Throwable exception) {
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, message, exception));
- }
-
- /**
- * Reports the result of a mirror download
- */
- public synchronized void reportResult(String toDownload, IStatus result) {
- if (mirrors == null)
- return;
- for (int i = 0; i < mirrors.length; i++) {
- MirrorInfo mirror = mirrors[i];
- if (toDownload.startsWith(mirror.locationString)) {
- if (!result.isOK() && result.getSeverity() != IStatus.CANCEL)
- mirror.incrementFailureCount();
- if (result instanceof DownloadStatus) {
- long oldRate = mirror.bytesPerSecond;
- long newRate = ((DownloadStatus) result).getTransferRate();
- //average old and new rate so one slow download doesn't ruin the mirror's reputation
- if (oldRate > 0)
- newRate = (oldRate + newRate) / 2;
- mirror.setBytesPerSecond(newRate);
- }
- if (Tracing.DEBUG_MIRRORS)
- Tracing.debug("Updated mirror " + mirror); //$NON-NLS-1$
- Arrays.sort(mirrors);
- return;
- }
- }
- }
-
- /**
- * Return whether or not all the mirrors for this selector have proven to be invalid
- * @return whether or not there is a vaild mirror in this selector.
- */
- public synchronized boolean hasValidMirror() {
- // return true if there is a mirror and it has not failed. Since the mirrors
- // list is sorted with failures last, we only have to test the first element for failure.
- return mirrors != null && mirrors.length > 0 && mirrors[0].failureCount == 0;
- }
-
- /**
- * Selects a mirror from the given list of mirrors. Returns null if a mirror
- * could not be found.
- */
- private MirrorInfo selectMirror() {
- initMirrors();
- int mirrorCount;
- if (mirrors == null || (mirrorCount = mirrors.length) == 0)
- return null;
- //this is a function that randomly selects a mirror based on a logarithmic
- //distribution. Mirror 0 has a 1/2 chance of being selected, mirror 1 has a 1/4 chance,
- // mirror 2 has a 1/8 chance, etc. This introduces some variation in the mirror
- //selection, while still heavily favoring better mirrors
- //the algorithm computes the most significant digit in a binary number by computing the base 2 logarithm
- //if the first digit is most significant, mirror 0 is selected, if the second is most significant, mirror 1 is selected, etc
- int highestMirror = Math.min(15, mirrorCount);
- int result = (int) (Math.log(random.nextInt(1 << highestMirror) + 1) / LOG2);
- if (result >= highestMirror || result < 0)
- result = highestMirror - 1;
- MirrorInfo selected = mirrors[highestMirror - 1 - result];
- //if we selected a mirror that has failed in the past, revert to best available mirror
- if (selected.failureCount > 0)
- selected = mirrors[0];
- //for now, don't tolerate failing mirrors
- if (selected.failureCount > 0)
- return null;
- return selected;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/SignatureVerifier.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/SignatureVerifier.java
deleted file mode 100644
index 58ac602..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/SignatureVerifier.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2007 compeople AG and others.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-*
-* Contributors:
-* compeople AG (Stefan Liebig) - initial API and implementation
-* IBM - continuing development
-*******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.repository;
-
-import java.io.*;
-import java.security.GeneralSecurityException;
-import java.util.ArrayList;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStep;
-import org.eclipse.osgi.signedcontent.*;
-
-/**
- * Processing step validating the signature of the artifact being downloaded
- */
-public class SignatureVerifier extends ProcessingStep {
- private File inputFile;
- private OutputStream tempStream;
-
- public boolean areRequirementsSatisfied() {
- return true;
- }
-
- public void write(int b) throws IOException {
- getOutputStream().write(b);
- }
-
- public void write(byte[] bytes, int off, int len) throws IOException {
- getOutputStream().write(bytes, off, len);
- }
-
- private OutputStream getOutputStream() throws IOException {
- if (tempStream != null)
- return tempStream;
- // store input stream in temporary file
- inputFile = File.createTempFile("signatureFile", ".jar"); //$NON-NLS-1$ //$NON-NLS-2$
- tempStream = new BufferedOutputStream(new FileOutputStream(inputFile));
- return tempStream;
- }
-
- private void verify() throws IOException {
- BufferedInputStream resultStream = null;
- try {
- if (tempStream == null)
- // hmmm, no one wrote to this stream so there is nothing to pass on
- return;
- // Ok, so there is content, close the tempStream
- tempStream.close();
- setStatus(verifyContent());
-
- // now write the content to the final destination
- resultStream = new BufferedInputStream(new FileInputStream(inputFile));
- FileUtils.copyStream(resultStream, true, getDestination(), false);
- resultStream = null;
- } finally {
- if (inputFile != null)
- inputFile.delete();
- if (resultStream != null)
- resultStream.close();
- }
- }
-
- private IStatus verifyContent() throws IOException {
- SignedContentFactory verifierFactory = (SignedContentFactory) ServiceHelper.getService(Activator.getContext(), SignedContentFactory.class.getName());
- SignedContent signedContent;
- try {
- signedContent = verifierFactory.getSignedContent(inputFile);
- } catch (GeneralSecurityException e) {
- return new Status(IStatus.ERROR, Activator.ID, Messages.SignatureVerification_failedRead + inputFile, e);
- }
- ArrayList allStatus = new ArrayList(0);
- SignedContentEntry[] entries = signedContent.getSignedEntries();
- for (int i = 0; i < entries.length; i++)
- try {
- entries[i].verify();
- } catch (InvalidContentException e) {
- allStatus.add(new Status(IStatus.ERROR, Activator.ID, Messages.SignatureVerification_invalidContent + entries[i].getName(), e));
- } catch (OutOfMemoryError e) {
- allStatus.add(new Status(IStatus.ERROR, Activator.ID, Messages.SignatureVerifier_OutOfMemory, e));
- break;
- }
- if (allStatus.size() > 0)
- return new MultiStatus(Activator.ID, IStatus.ERROR, (IStatus[]) allStatus.toArray(new IStatus[allStatus.size()]), Messages.SignatureVerification_invalidFileContent + inputFile, null);
- return Status.OK_STATUS;
- }
-
- public void close() throws IOException {
- // When we go to close we must have seen all the content we are going to see
- // So before closing, verify and write the result to the destination
- verify();
- super.close();
- }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/Transport.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/Transport.java
deleted file mode 100644
index b89ec4c..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/Transport.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.repository;
-
-import java.io.OutputStream;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-
-public abstract class Transport {
- public abstract IStatus download(String toDownload, OutputStream target, IProgressMonitor pm);
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/messages.properties b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/messages.properties
deleted file mode 100644
index 8912066..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/messages.properties
+++ /dev/null
@@ -1,41 +0,0 @@
-###############################################################################
-# Copyright (c) 2007, 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-artifact_not_found=Artifact not found: {0}.
-available_already_in=The artifact is already available in the repository {0}.
-downloading=Downloading {0}
-error_closing_stream=Error closing the output stream for {0} on repository {1}.
-
-FileDownloadError=Error downloading {0} to {1}.
-io_failedRead=Unable to read repository at {0}.
-io_parseError=\
- Error parsing simple artifact repository.
-io_incompatibleVersion=\
- Simple artifact repository has incompatible version {0}; expected {1}.
-mirroring=Mirroring:
-
-repoFailedWrite=Unable to write to repository: {0}.
-repoReadOnly=Cannot write because repository is read only: {0}
-
-repoMan_exists=Repository already exists at {0}.
-repoMan_failedRead=The repository could not be read: {0}.
-repoMan_internalError=Internal error.
-repoMan_notExists=No repository found at {0}.
-repoMan_unknownType=Unknown repository type at {0}.
-
-SignatureVerification_failedRead=Error reading signed content:
-SignatureVerification_invalidContent=Invalid content:
-SignatureVerification_invalidFileContent=File has invalid content:
-SignatureVerifier_OutOfMemory=Out of memory: Cannot verify signed content.
-
-sar_downloading=Download {0} artifacts
-sar_downloadJobName=Install download
-sar_failedMkdir=Failed to create directory {0}.
-sar_reportStatus=Problems downloading artifact: {0}.
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/BlobStore.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/BlobStore.java
deleted file mode 100644
index 9d769aa..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/BlobStore.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.repository.simple;
-
-import java.io.*;
-import java.net.URL;
-import java.util.Iterator;
-import java.util.Set;
-import org.eclipse.core.runtime.Assert;
-
-/**
- * Blob store which maps UUIDs to blobs on disk. The UUID is mapped
- * to a file in the file-system and the blob is the file contents. For scalability,
- * the blobs are split among 255 directories with the names 00 to FF.
- */
-public class BlobStore {
- protected URL store;
-
- protected boolean fileBased;
- /** Limits the range of directories' names. */
- protected byte mask;
-
- //private static short[] randomArray = {213, 231, 37, 85, 211, 29, 161, 175, 187, 3, 147, 246, 170, 30, 202, 183, 242, 47, 254, 189, 25, 248, 193, 2, 119, 133, 125, 12, 76, 213, 219, 79, 69, 133, 202, 80, 150, 190, 157, 190, 80, 190, 219, 150, 169, 117, 95, 10, 77, 214, 233, 70, 5, 188, 44, 91, 165, 149, 177, 93, 17, 112, 4, 41, 230, 148, 188, 107, 213, 31, 52, 60, 111, 246, 226, 121, 129, 197, 144, 248, 92, 133, 96, 116, 104, 67, 74, 144, 185, 141, 96, 34, 182, 90, 36, 217, 28, 205, 107, 52, 201, 14, 8, 1, 27, 216, 60, 35, 251, 194, 7, 156, 32, 5, 145, 29, 96, 61, 110, 145, 50, 56, 235, 239, 170, 138, 17, 211, 56, 98, 101, 126, 27, 57, 211, 144, 206, 207, 179, 111, 160, 50, 243, 69, 106, 118, 155, 159, 28, 57, 11, 175, 43, 173, 96, 181, 99, 169, 171, 156, 246, 243, 30, 198, 251, 81, 77, 92, 160, 235, 215, 187, 23, 71, 58, 247, 127, 56, 118, 132, 79, 188, 42, 188, 158, 121, 255, 65, 154, 118, 172, 217, 4, 47, 105, 204, 135, 27, 43, 90, 9, 31, 59, 115, 193, 28, 55, 101, 9, 117, 211, 112, 61, 55, 23, 235, 51, 104, 123, 138, 76, 148, 115, 119, 81, 54, 39, 46, 149, 191, 79, 16, 222, 69, 219, 136, 148, 181, 77, 250, 101, 223, 140, 194, 141, 44, 195, 217, 31, 223, 207, 149, 245, 115, 243, 183};
- private static byte[] randomArray = {-43, -25, 37, 85, -45, 29, -95, -81, -69, 3, -109, -10, -86, 30, -54, -73, -14, 47, -2, -67, 25, -8, -63, 2, 119, -123, 125, 12, 76, -43, -37, 79, 69, -123, -54, 80, -106, -66, -99, -66, 80, -66, -37, -106, -87, 117, 95, 10, 77, -42, -23, 70, 5, -68, 44, 91, -91, -107, -79, 93, 17, 112, 4, 41, -26, -108, -68, 107, -43, 31, 52, 60, 111, -10, -30, 121, -127, -59, -112, -8, 92, -123, 96, 116, 104, 67, 74, -112, -71, -115, 96, 34, -74, 90, 36, -39, 28, -51, 107, 52, -55, 14, 8, 1, 27, -40, 60, 35, -5, -62, 7, -100, 32, 5, -111, 29, 96, 61, 110, -111, 50, 56, -21, -17, -86, -118, 17, -45, 56, 98, 101, 126, 27, 57, -45, -112, -50, -49, -77, 111, -96, 50, -13, 69, 106, 118, -101, -97, 28, 57, 11, -81, 43, -83, 96, -75, 99, -87, -85, -100, -10, -13, 30,
- -58, -5, 81, 77, 92, -96, -21, -41, -69, 23, 71, 58, -9, 127, 56, 118, -124, 79, -68, 42, -68, -98, 121, -1, 65, -102, 118, -84, -39, 4, 47, 105, -52, -121, 27, 43, 90, 9, 31, 59, 115, -63, 28, 55, 101, 9, 117, -45, 112, 61, 55, 23, -21, 51, 104, 123, -118, 76, -108, 115, 119, 81, 54, 39, 46, -107, -65, 79, 16, -34, 69, -37, -120, -108, -75, 77, -6, 101, -33, -116, -62, -115, 44, -61, -39, 31, -33, -49, -107, -11, 115, -13, -73,};
-
- /**
- * The limit is the maximum number of directories managed by this store.
- * This number must be power of 2 and do not exceed 256. The location
- * should be an existing valid directory.
- */
- public BlobStore(URL store, int limit) {
- Assert.isNotNull(store);
- this.store = store;
- fileBased = "file".equalsIgnoreCase(store.getProtocol()); //$NON-NLS-1$
- if (fileBased)
- Assert.isTrue(!new File(store.getPath()).isFile());
- Assert.isTrue(limit == 256 || limit == 128 || limit == 64 || limit == 32 || limit == 16 || limit == 8 || limit == 4 || limit == 2 || limit == 1);
- mask = (byte) (limit - 1);
- }
-
- public OutputStream getOutputStream(byte[] uuid) throws IOException {
- if (!fileBased)
- return null;
- new File(folderFor(uuid)).mkdir();
- return new FileOutputStream(fileFor(uuid));
- }
-
- /* (non-Javadoc)
- * @see UniversalUniqueIdentifier#appendByteString(StringBuffer, byte)
- */
- private void appendByteString(StringBuffer buffer, byte value) {
- String hexString;
- if (value < 0)
- hexString = Integer.toHexString(256 + value);
- else
- hexString = Integer.toHexString(value);
- if (hexString.length() == 1)
- buffer.append("0"); //$NON-NLS-1$
- buffer.append(hexString);
- }
-
- /* (non-Javadoc)
- * Converts an array of bytes into a String.
- *
- * @see UniversalUniqueIdentifier#toString()
- */
- private String bytesToHexString(byte[] b) {
- StringBuffer buffer = new StringBuffer();
- for (int i = 0; i < b.length; i++)
- appendByteString(buffer, b[i]);
- return buffer.toString();
- }
-
- /**
- * Deletes a blobFile.
- */
- public void deleteBlob(byte[] uuid) {
- Assert.isNotNull(uuid);
- if (fileBased)
- new File(fileFor(uuid)).delete();
- }
-
- /**
- * Delete all of the blobs in the given set.
- */
- public void deleteBlobs(Set set) {
- for (Iterator i = set.iterator(); i.hasNext();)
- deleteBlob((byte[]) i.next());
- }
-
- public String fileFor(byte[] uuid) {
- return folderFor(uuid) + bytesToHexString(uuid);
- }
-
- /**
- * Find out the name of the directory that fits better to this UUID.
- */
- public String folderFor(byte[] uuid) {
- byte hash = hashUUIDbytes(uuid);
- hash &= mask; // limit the range of the directory
- return store + Integer.toHexString(hash + (128 & mask)) + "/"; // +(128 & mask) makes sure 00h is the lower value //$NON-NLS-1$
- }
-
- public InputStream getBlob(byte[] uuid) throws IOException {
- return new URL(fileFor(uuid)).openStream();
- }
-
- /**
- * Converts a byte array into a byte hash representation. It is used to
- * get a directory name.
- */
- protected byte hashUUIDbytes(byte[] uuid) {
- byte hash = 0;
- for (int i = 0; i < uuid.length; i++)
- hash ^= randomArray[uuid[i] + 128]; // +128 makes sure the index is >0
- return hash;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/DownloadJob.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/DownloadJob.java
deleted file mode 100644
index 0001a28..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/DownloadJob.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Genuitec, LLC and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: Genuitec, LLC - initial API and implementation
- * IBM Corporation - ongoing maintenance
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.repository.simple;
-
-import java.util.LinkedList;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.equinox.internal.p2.artifact.repository.ArtifactRequest;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRequest;
-
-public class DownloadJob extends Job {
- static final Object FAMILY = new Object();
-
- private LinkedList requestsPending;
- private SimpleArtifactRepository repository;
- private IProgressMonitor masterMonitor;
- private MultiStatus overallStatus;
-
- DownloadJob(String name) {
- super(name);
- setSystem(true);
- }
-
- void initialize(SimpleArtifactRepository repository, LinkedList requestsPending, IProgressMonitor masterMonitor, MultiStatus overallStatus) {
- this.repository = repository;
- this.requestsPending = requestsPending;
- this.masterMonitor = masterMonitor;
- this.overallStatus = overallStatus;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.core.runtime.jobs.Job#belongsTo(java.lang.Object)
- */
- public boolean belongsTo(Object family) {
- return family == FAMILY;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
- */
- protected IStatus run(IProgressMonitor jobMonitor) {
- jobMonitor.beginTask("Downloading software", IProgressMonitor.UNKNOWN);
- do {
- // get the request we are going to process
- IArtifactRequest request;
- synchronized (requestsPending) {
- if (requestsPending.isEmpty())
- break;
- request = (IArtifactRequest) requestsPending.removeFirst();
- }
- if (masterMonitor.isCanceled())
- return Status.CANCEL_STATUS;
- // process the actual request
- SubProgressMonitor subMonitor = new SubProgressMonitor(masterMonitor, 1);
- subMonitor.beginTask("", 1); //$NON-NLS-1$
- try {
- IStatus status = repository.getArtifact((ArtifactRequest) request, subMonitor);
- if (!status.isOK()) {
- synchronized (overallStatus) {
- overallStatus.add(status);
- }
- }
- } finally {
- subMonitor.done();
- }
- } while (true);
-
- jobMonitor.done();
- return Status.OK_STATUS;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/Mapper.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/Mapper.java
deleted file mode 100644
index b5e6908..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/Mapper.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * compeople AG (Stefan Liebig) - various ongoing maintenance
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.repository.simple;
-
-import java.util.Dictionary;
-import java.util.Hashtable;
-import org.osgi.framework.*;
-
-public class Mapper {
- private Filter[] filters;
- private String[] outputStrings;
-
- private static final String REPOURL = "repoUrl"; //$NON-NLS-1$
- private static final String CLASSIFIER = "classifier"; //$NON-NLS-1$
- private static final String FORMAT = "format"; //$NON-NLS-1$
- private static final String ID = "id"; //$NON-NLS-1$
- private static final String VERSION = "version"; //$NON-NLS-1$
-
- public Mapper() {
- filters = new Filter[0];
- outputStrings = new String[0];
- }
-
- /**
- * mapping rule: LDAP filter --> output value
- * the more specific filters should be given first.
- */
- public void initialize(BundleContext ctx, String[][] mappingRules) {
- filters = new Filter[mappingRules.length];
- outputStrings = new String[mappingRules.length];
- for (int i = 0; i < mappingRules.length; i++) {
- try {
- filters[i] = ctx.createFilter(mappingRules[i][0]);
- outputStrings[i] = mappingRules[i][1];
- } catch (InvalidSyntaxException e) {
- //TODO Neeed to process this
- e.printStackTrace();
- }
- }
- }
-
- public String map(String repoUrl, String classifier, String id, String version, String format) {
- Dictionary values = new Hashtable(5);
- if (repoUrl != null)
- values.put(REPOURL, repoUrl);
-
- if (classifier != null)
- values.put(CLASSIFIER, classifier);
-
- if (id != null)
- values.put(ID, id);
-
- if (version != null)
- values.put(VERSION, version);
-
- if (format != null)
- values.put(FORMAT, format);
-
- for (int i = 0; i < filters.length; i++) {
- if (filters[i].match(values))
- return doReplacement(outputStrings[i], repoUrl, classifier, id, version, format);
- }
- return null;
- }
-
- private String doReplacement(String pattern, String repoUrl, String classifier, String id, String version, String format) {
- // currently our mapping rules assume the repo URL is not "/" terminated.
- // This may be the case for repoURLs in the root of a URL space e.g. root of a jar file or file:/c:/
- if (repoUrl.endsWith("/")) //$NON-NLS-1$
- repoUrl = repoUrl.substring(0, repoUrl.length() - 1);
-
- StringBuffer output = new StringBuffer(pattern);
- int index = 0;
- while (index < output.length()) {
- int beginning = output.indexOf("${", index); //$NON-NLS-1$
- if (beginning == -1)
- return output.toString();
-
- int end = output.indexOf("}", beginning); //$NON-NLS-1$
- if (end == -1)
- return pattern;
-
- String varName = output.substring(beginning + 2, end);
- String varValue = null;
- if (varName.equalsIgnoreCase(CLASSIFIER)) {
- varValue = classifier;
- } else if (varName.equalsIgnoreCase(ID)) {
- varValue = id;
- } else if (varName.equalsIgnoreCase(VERSION)) {
- varValue = version;
- } else if (varName.equalsIgnoreCase(REPOURL)) {
- varValue = repoUrl;
- } else if (varName.equalsIgnoreCase(FORMAT)) {
- varValue = format;
- }
- if (varValue == null)
- varValue = ""; //$NON-NLS-1$
-
- output.replace(beginning, end + 1, varValue);
- index = beginning + varValue.length();
- }
- return output.toString();
- }
-
- public String toString() {
- StringBuffer result = new StringBuffer();
- for (int i = 0; i < filters.length; i++) {
- result.append(filters[i]).append('-').append('>').append(outputStrings[i]).append('\n');
- }
- return result.toString();
- }
-
- public String[][] serialize() {
- String[][] result = new String[filters.length][2];
- for (int i = 0; i < filters.length; i++) {
- result[i][0] = filters[i].toString();
- result[i][1] = outputStrings[i];
- }
- return result;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepository.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepository.java
deleted file mode 100644
index 1ac7241..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepository.java
+++ /dev/null
@@ -1,910 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- * Genuitec, LLC - support for multi-threaded downloads
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.repository.simple;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import java.util.jar.JarEntry;
-import java.util.jar.JarOutputStream;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.equinox.internal.p2.artifact.repository.*;
-import org.eclipse.equinox.internal.p2.artifact.repository.Messages;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.*;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository.AbstractArtifactRepository;
-import org.eclipse.osgi.util.NLS;
-
-public class SimpleArtifactRepository extends AbstractArtifactRepository implements IArtifactRepository, IFileArtifactRepository {
- /**
- * A boolean property controlling whether mirroring is enabled.
- */
- public static final boolean MIRRORS_ENABLED = !"false".equals(Activator.getContext().getProperty("eclipse.p2.mirrors")); //$NON-NLS-1$//$NON-NLS-2$
-
- /**
- * The key for a integer property controls the maximum number
- * of threads that should be used when optimizing downloads from a remote
- * artifact repository.
- */
- public static final String PROP_MAX_THREADS = "eclipse.p2.max.threads"; //$NON-NLS-1$
-
- /**
- * Allows override of whether threading should be used.
- */
- public static final String PROP_FORCE_THREADING = "eclipse.p2.force.threading"; //$NON-NLS-1$
-
- public class ArtifactOutputStream extends OutputStream implements IStateful {
- private boolean closed;
- private long count = 0;
- private IArtifactDescriptor descriptor;
- private OutputStream destination;
- private File file;
- private IStatus status = Status.OK_STATUS;
- private OutputStream firstLink;
-
- public ArtifactOutputStream(OutputStream os, IArtifactDescriptor descriptor) {
- this(os, descriptor, null);
- }
-
- public ArtifactOutputStream(OutputStream os, IArtifactDescriptor descriptor, File file) {
- this.destination = os;
- this.descriptor = descriptor;
- this.file = file;
- }
-
- public void close() throws IOException {
- if (closed)
- return;
- closed = true;
-
- try {
- destination.close();
- } catch (IOException e) {
- // cleanup if possible
- if (file != null)
- delete(file);
- if (getStatus().isOK())
- throw e;
- // if the stream has already been e.g. canceled, we can return - the status is already set correctly
- return;
- }
- // if the steps ran ok and there was actual content, write the artifact descriptor
- // TODO the count check is a bit bogus but helps in some error cases (e.g., the optimizer)
- // where errors occurred in a processing step earlier in the chain. We likely need a better
- // or more explicit way of handling this case.
- OutputStream testStream = firstLink == null ? this : firstLink;
- if (ProcessingStepHandler.checkStatus(testStream).isOK() && count > 0) {
- ((ArtifactDescriptor) descriptor).setProperty(IArtifactDescriptor.DOWNLOAD_SIZE, Long.toString(count));
- addDescriptor(descriptor);
- } else if (file != null)
- // cleanup if possible
- delete(file);
- }
-
- public IStatus getStatus() {
- return status;
- }
-
- public OutputStream getDestination() {
- return destination;
- }
-
- public void setStatus(IStatus status) {
- this.status = status == null ? Status.OK_STATUS : status;
- }
-
- public void write(byte[] b) throws IOException {
- destination.write(b);
- count += b.length;
- }
-
- public void write(byte[] b, int off, int len) throws IOException {
- destination.write(b, off, len);
- count += len;
- }
-
- public void write(int b) throws IOException {
- destination.write(b);
- count++;
- }
-
- public void setFirstLink(OutputStream value) {
- firstLink = value;
- }
- }
-
- // TODO: optimize
- // we could stream right into the folder
- public static class ZippedFolderOutputStream extends OutputStream {
-
- private final File folder;
- private final FileOutputStream fos;
- private final File zipFile;
-
- public ZippedFolderOutputStream(File folder) throws IOException {
- this.folder = folder;
- zipFile = File.createTempFile(folder.getName(), JAR_EXTENSION, null);
- fos = new FileOutputStream(zipFile);
- }
-
- public void close() throws IOException {
- fos.close();
- FileUtils.unzipFile(zipFile, folder);
- zipFile.delete();
- }
-
- public void flush() throws IOException {
- fos.flush();
- }
-
- public String toString() {
- return fos.toString();
- }
-
- public void write(byte[] b) throws IOException {
- fos.write(b);
- }
-
- public void write(byte[] b, int off, int len) throws IOException {
- fos.write(b, off, len);
- }
-
- public void write(int b) throws IOException {
- fos.write(b);
- }
- }
-
- private static final String ARTIFACT_FOLDER = "artifact.folder"; //$NON-NLS-1$
- private static final String ARTIFACT_REFERENCE = "artifact.reference"; //$NON-NLS-1$
- private static final String ARTIFACT_UUID = "artifact.uuid"; //$NON-NLS-1$
- static final private String BLOBSTORE = ".blobstore/"; //$NON-NLS-1$
- static final private String CONTENT_FILENAME = "artifacts"; //$NON-NLS-1$
- static final private String[][] PACKED_MAPPING_RULES = { {"(& (classifier=osgi.bundle) (format=packed))", "${repoUrl}/plugins/${id}_${version}.jar.pack.gz"}, //$NON-NLS-1$//$NON-NLS-2$
- {"(& (classifier=osgi.bundle))", "${repoUrl}/plugins/${id}_${version}.jar"}, //$NON-NLS-1$//$NON-NLS-2$
- {"(& (classifier=binary))", "${repoUrl}/binary/${id}_${version}"}, //$NON-NLS-1$ //$NON-NLS-2$
- {"(& (classifier=org.eclipse.update.feature))", "${repoUrl}/features/${id}_${version}.jar"}}; //$NON-NLS-1$//$NON-NLS-2$
-
- static final private String[][] DEFAULT_MAPPING_RULES = { {"(& (classifier=osgi.bundle))", "${repoUrl}/plugins/${id}_${version}.jar"}, //$NON-NLS-1$//$NON-NLS-2$
- {"(& (classifier=binary))", "${repoUrl}/binary/${id}_${version}"}, //$NON-NLS-1$ //$NON-NLS-2$
- {"(& (classifier=org.eclipse.update.feature))", "${repoUrl}/features/${id}_${version}.jar"}}; //$NON-NLS-1$//$NON-NLS-2$
- private static final String JAR_EXTENSION = ".jar"; //$NON-NLS-1$
- static final private String REPOSITORY_TYPE = IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY;
-
- static final private Integer REPOSITORY_VERSION = new Integer(1);
- private static final String XML_EXTENSION = ".xml"; //$NON-NLS-1$
- protected Set artifactDescriptors = new HashSet();
- protected Map artifactMap = new HashMap();
- private transient BlobStore blobStore;
- transient private Mapper mapper = new Mapper();
-
- static final private String PACKED_FORMAT = "packed"; //$NON-NLS-1$
- static final private String PUBLISH_PACK_FILES_AS_SIBLINGS = "publishPackFilesAsSiblings"; //$NON-NLS-1$
-
- private static final int DEFAULT_MAX_THREADS = 4;
-
- protected String[][] mappingRules = DEFAULT_MAPPING_RULES;
-
- private MirrorSelector mirrors;
-
- static void delete(File toDelete) {
- if (toDelete.isFile()) {
- toDelete.delete();
- return;
- }
- if (toDelete.isDirectory()) {
- File[] children = toDelete.listFiles();
- if (children != null) {
- for (int i = 0; i < children.length; i++) {
- delete(children[i]);
- }
- }
- toDelete.delete();
- }
- }
-
- public static URL getActualLocation(URL base, boolean compress) {
- return getActualLocation(base, compress ? JAR_EXTENSION : XML_EXTENSION);
- }
-
- private static URL getActualLocation(URL base, String extension) {
- final String name = CONTENT_FILENAME + extension;
- String spec = base.toExternalForm();
- if (spec.endsWith(name))
- return base;
- if (spec.endsWith("/")) //$NON-NLS-1$
- spec += name;
- else
- spec += "/" + name; //$NON-NLS-1$
- try {
- return new URL(spec);
- } catch (MalformedURLException e) {
- return null;
- }
- }
-
- public static URL getBlobStoreLocation(URL base) {
- String spec = base.toExternalForm();
- if (spec.endsWith("/")) //$NON-NLS-1$
- spec += BLOBSTORE;
- else
- spec += "/" + BLOBSTORE; //$NON-NLS-1$
- try {
- return new URL(spec);
- } catch (MalformedURLException e) {
- return null;
- }
- }
-
- /*
- * This is only called by the parser when loading a repository.
- */
- SimpleArtifactRepository(String name, String type, String version, String description, String provider, Set artifacts, String[][] mappingRules, Map properties) {
- super(name, type, version, null, description, provider, properties);
- this.artifactDescriptors.addAll(artifacts);
- this.mappingRules = mappingRules;
- for (Iterator it = artifactDescriptors.iterator(); it.hasNext();)
- mapDescriptor((IArtifactDescriptor) it.next());
- }
-
- private void mapDescriptor(IArtifactDescriptor descriptor) {
- IArtifactKey key = descriptor.getArtifactKey();
- Collection descriptors = (Collection) artifactMap.get(key);
- if (descriptors == null) {
- descriptors = new ArrayList();
- artifactMap.put(key, descriptors);
- }
- descriptors.add(descriptor);
- }
-
- private void unmapDescriptor(IArtifactDescriptor descriptor) {
- IArtifactKey key = descriptor.getArtifactKey();
- Collection descriptors = (Collection) artifactMap.get(key);
- if (descriptors == null)
- return;
-
- descriptors.remove(descriptor);
- if (descriptors.isEmpty())
- artifactMap.remove(key);
- }
-
- public SimpleArtifactRepository(String repositoryName, URL location, Map properties) {
- super(repositoryName, REPOSITORY_TYPE, REPOSITORY_VERSION.toString(), location, null, null, properties);
- initializeAfterLoad(location);
- if (properties != null) {
- if (properties.containsKey(PUBLISH_PACK_FILES_AS_SIBLINGS)) {
- synchronized (this) {
- String newValue = (String) properties.get(PUBLISH_PACK_FILES_AS_SIBLINGS);
- if (Boolean.TRUE.toString().equals(newValue)) {
- mappingRules = PACKED_MAPPING_RULES;
- } else {
- mappingRules = DEFAULT_MAPPING_RULES;
- }
- initializeMapper();
- }
- }
- save();
- }
- }
-
- public synchronized void addDescriptor(IArtifactDescriptor toAdd) {
- // TODO perhaps the argument here should be ArtifactDescriptor. IArtifactDescriptors are for
- // people who are reading the repository.
- // TODO: here we may want to ensure that the artifact has not been added concurrently
- ((ArtifactDescriptor) toAdd).setRepository(this);
- artifactDescriptors.add(toAdd);
- mapDescriptor(toAdd);
- save();
- }
-
- public synchronized void addDescriptors(IArtifactDescriptor[] descriptors) {
-
- for (int i = 0; i < descriptors.length; i++) {
- ((ArtifactDescriptor) descriptors[i]).setRepository(this);
- artifactDescriptors.add(descriptors[i]);
- mapDescriptor(descriptors[i]);
- }
- save();
- }
-
- private synchronized OutputStream addPostSteps(ProcessingStepHandler handler, IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) {
- ArrayList steps = new ArrayList();
- steps.add(new SignatureVerifier());
- // if (md5Verification)
- // steps.add(new MD5Verifier(descriptor.getProperty(IArtifactDescriptor.ARTIFACT_MD5)));
- if (steps.isEmpty())
- return destination;
- ProcessingStep[] stepArray = (ProcessingStep[]) steps.toArray(new ProcessingStep[steps.size()]);
- // TODO should probably be using createAndLink here
- return handler.link(stepArray, destination, monitor);
- }
-
- private OutputStream addPreSteps(ProcessingStepHandler handler, IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) {
- ArrayList steps = new ArrayList();
- if (IArtifactDescriptor.TYPE_ZIP.equals(descriptor.getProperty(IArtifactDescriptor.DOWNLOAD_CONTENTTYPE)))
- steps.add(new ZipVerifierStep());
- // Add steps here if needed
- if (steps.isEmpty())
- return destination;
- ProcessingStep[] stepArray = (ProcessingStep[]) steps.toArray(new ProcessingStep[steps.size()]);
- // TODO should probably be using createAndLink here
- return handler.link(stepArray, destination, monitor);
- }
-
- private byte[] bytesFromHexString(String string) {
- byte[] bytes = new byte[UniversalUniqueIdentifier.BYTES_SIZE];
- for (int i = 0; i < string.length(); i += 2) {
- String byteString = string.substring(i, i + 2);
- bytes[i / 2] = (byte) Integer.parseInt(byteString, 16);
- }
- return bytes;
- }
-
- private String bytesToHexString(byte[] bytes) {
- StringBuffer buffer = new StringBuffer();
- for (int i = 0; i < bytes.length; i++) {
- String hexString;
- if (bytes[i] < 0)
- hexString = Integer.toHexString(256 + bytes[i]);
- else
- hexString = Integer.toHexString(bytes[i]);
- if (hexString.length() == 1)
- buffer.append("0"); //$NON-NLS-1$
- buffer.append(hexString);
- }
- return buffer.toString();
- }
-
- public synchronized boolean contains(IArtifactDescriptor descriptor) {
- return artifactDescriptors.contains(descriptor);
- }
-
- public synchronized boolean contains(IArtifactKey key) {
- return artifactMap.containsKey(key);
- }
-
- public synchronized String createLocation(ArtifactDescriptor descriptor) {
- if (flatButPackedEnabled(descriptor)) {
- return getLocationForPackedButFlatArtifacts(descriptor);
- }
- // if the descriptor is canonical, clear out any UUID that might be set and use the Mapper
- if (descriptor.getProcessingSteps().length == 0) {
- descriptor.setProperty(ARTIFACT_UUID, null);
- IArtifactKey key = descriptor.getArtifactKey();
- String result = mapper.map(location.toExternalForm(), key.getClassifier(), key.getId(), key.getVersion().toString(), descriptor.getProperty(IArtifactDescriptor.FORMAT));
- if (result != null) {
- if (isFolderBased(descriptor) && result.endsWith(JAR_EXTENSION))
- return result.substring(0, result.lastIndexOf(JAR_EXTENSION));
-
- return result;
- }
- }
-
- // Otherwise generate a location by creating a UUID, remembering it in the properties
- // and computing the location
- byte[] bytes = new UniversalUniqueIdentifier().toBytes();
- descriptor.setProperty(ARTIFACT_UUID, bytesToHexString(bytes));
- return blobStore.fileFor(bytes);
- }
-
- /**
- * Removes the given descriptor, and the physical artifact corresponding
- * to that descriptor. Returns <code>true</code> if and only if the
- * descriptor existed in the repository, and was successfully removed.
- */
- private boolean doRemoveArtifact(IArtifactDescriptor descriptor) {
- if (((ArtifactDescriptor) descriptor).getRepositoryProperty(ARTIFACT_REFERENCE) == null) {
- File file = getArtifactFile(descriptor);
- if (file == null)
- return false;
- delete(file);
- if (file.exists())
- return false;
- }
- boolean result = artifactDescriptors.remove(descriptor);
- if (result)
- unmapDescriptor(descriptor);
-
- return result;
- }
-
- protected IStatus downloadArtifact(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) {
- if (isFolderBased(descriptor)) {
- File artifactFolder = getArtifactFile(descriptor);
- if (artifactFolder == null)
- return reportStatus(descriptor, destination, new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.artifact_not_found, descriptor.getArtifactKey())));
- // TODO: optimize and ensure manifest is written first
- File zipFile = null;
- try {
- zipFile = File.createTempFile(artifactFolder.getName(), JAR_EXTENSION, null);
- FileUtils.zip(artifactFolder.listFiles(), zipFile);
- FileInputStream fis = new FileInputStream(zipFile);
- FileUtils.copyStream(fis, true, destination, false);
- } catch (IOException e) {
- return reportStatus(descriptor, destination, new Status(IStatus.ERROR, Activator.ID, e.getMessage()));
- } finally {
- if (zipFile != null)
- zipFile.delete();
- }
- return reportStatus(descriptor, destination, Status.OK_STATUS);
- }
-
- //download from the best available mirror
- String baseLocation = getLocation(descriptor);
- String mirrorLocation = getMirror(baseLocation);
- IStatus status = downloadArtifact(descriptor, mirrorLocation, destination, monitor);
- IStatus result = reportStatus(descriptor, destination, status);
- // if the original download went reasonably but the reportStatus found some issues
- // (e..g, in the processing steps/validators) then mark the mirror as bad and return
- // a retry code (assuming we have more mirrors)
- if ((status.isOK() || status.matches(IStatus.INFO | IStatus.WARNING)) && result.getSeverity() == IStatus.ERROR) {
- if (mirrors != null) {
- mirrors.reportResult(mirrorLocation, result);
- if (mirrors.hasValidMirror())
- return new MultiStatus(Activator.ID, CODE_RETRY, new IStatus[] {result}, "Retry another mirror", null); //$NON-NLS-1$
- }
- }
- // if the original status was a retry, don't lose that.
- return status.getCode() == CODE_RETRY ? status : result;
- }
-
- private IStatus downloadArtifact(IArtifactDescriptor descriptor, String mirrorLocation, OutputStream destination, IProgressMonitor monitor) {
- IStatus result = getTransport().download(mirrorLocation, destination, monitor);
- if (mirrors != null)
- mirrors.reportResult(mirrorLocation, result);
- if (result.isOK() || result.getSeverity() == IStatus.CANCEL)
- return result;
- if (monitor.isCanceled())
- return Status.CANCEL_STATUS;
- // If there are more valid mirrors then return an error with a special code that tells the caller
- // to keep trying. Note that the message in the status is largely irrelevant but the child
- // status tells the story of why we failed on this try.
- // TODO find a better way of doing this.
- if (mirrors != null && mirrors.hasValidMirror())
- return new MultiStatus(Activator.ID, CODE_RETRY, new IStatus[] {result}, "Retry another mirror", null); //$NON-NLS-1$
- return result;
- }
-
- /**
- * Returns an equivalent mirror location for the given artifact location.
- * @param baseLocation The location of the artifact in this repository
- * @return the Location of the artifact in this repository, or an equivalent mirror
- */
- private synchronized String getMirror(String baseLocation) {
- if (!MIRRORS_ENABLED || (!isForceThreading() && isLocal()))
- return baseLocation;
- if (mirrors == null)
- mirrors = new MirrorSelector(this);
- return mirrors.getMirrorLocation(baseLocation);
- }
-
- public Object getAdapter(Class adapter) {
- // if we are adapting to file or writable repositories then make sure we have a file location
- if (adapter == IFileArtifactRepository.class)
- if (!isLocal())
- return null;
- return super.getAdapter(adapter);
- }
-
- IStatus getArtifact(ArtifactRequest request, IProgressMonitor monitor) {
- request.setSourceRepository(this);
- request.perform(monitor);
- return request.getResult();
- }
-
- public IStatus getArtifact(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) {
- ProcessingStepHandler handler = new ProcessingStepHandler();
- destination = processDestination(handler, descriptor, destination, monitor);
- IStatus status = ProcessingStepHandler.checkStatus(destination);
- if (!status.isOK() && status.getSeverity() != IStatus.INFO)
- return status;
-
- return downloadArtifact(descriptor, destination, monitor);
- }
-
- public synchronized IArtifactDescriptor[] getArtifactDescriptors(IArtifactKey key) {
- Collection result = (Collection) artifactMap.get(key);
- if (result == null)
- return new IArtifactDescriptor[0];
-
- return (IArtifactDescriptor[]) result.toArray(new IArtifactDescriptor[result.size()]);
- }
-
- public File getArtifactFile(IArtifactDescriptor descriptor) {
- String result = getLocation(descriptor);
- if (result == null || !result.startsWith("file:")) //$NON-NLS-1$
- return null;
- return new File(result.substring(5));
- }
-
- public File getArtifactFile(IArtifactKey key) {
- IArtifactDescriptor descriptor = getCompleteArtifactDescriptor(key);
- if (descriptor == null)
- return null;
- return getArtifactFile(descriptor);
- }
-
- public synchronized IArtifactKey[] getArtifactKeys() {
- // there may be more descriptors than keys to collect up the unique keys
- return (IArtifactKey[]) artifactMap.keySet().toArray(new IArtifactKey[artifactMap.keySet().size()]);
- }
-
- public IStatus getArtifacts(IArtifactRequest[] requests, IProgressMonitor monitor) {
- final MultiStatus overallStatus = new MultiStatus(Activator.ID, IStatus.OK, null, null);
- LinkedList requestsPending = new LinkedList(Arrays.asList(requests));
-
- int numberOfJobs = Math.min(requests.length, getMaximumThreads());
- if (numberOfJobs <= 1 || (!isForceThreading() && isLocal())) {
- SubMonitor subMonitor = SubMonitor.convert(monitor, requests.length);
- try {
- for (int i = 0; i < requests.length; i++) {
- if (monitor.isCanceled())
- return Status.CANCEL_STATUS;
- IStatus result = getArtifact((ArtifactRequest) requests[i], subMonitor.newChild(1));
- if (!result.isOK())
- overallStatus.add(result);
- }
- } finally {
- subMonitor.done();
- }
- } else {
- // initialize the various jobs needed to process the get artifact requests
- monitor.beginTask(NLS.bind(Messages.sar_downloading, Integer.toString(requests.length)), requests.length);
- try {
- DownloadJob jobs[] = new DownloadJob[numberOfJobs];
- for (int i = 0; i < numberOfJobs; i++) {
- jobs[i] = new DownloadJob(Messages.sar_downloadJobName + i);
- jobs[i].initialize(this, requestsPending, monitor, overallStatus);
- jobs[i].schedule();
- }
- // wait for all the jobs to complete
- try {
- Job.getJobManager().join(DownloadJob.FAMILY, null);
- } catch (InterruptedException e) {
- //ignore
- }
- } finally {
- monitor.done();
- }
- }
- return (monitor.isCanceled() ? Status.CANCEL_STATUS : overallStatus);
- }
-
- public synchronized IArtifactDescriptor getCompleteArtifactDescriptor(IArtifactKey key) {
- Collection descriptors = (Collection) artifactMap.get(key);
- if (descriptors == null)
- return null;
-
- for (Iterator iterator = descriptors.iterator(); iterator.hasNext();) {
- IArtifactDescriptor desc = (IArtifactDescriptor) iterator.next();
- // look for a descriptor that matches the key and is "complete"
- if (desc.getArtifactKey().equals(key) && desc.getProcessingSteps().length == 0)
- return desc;
- }
- return null;
- }
-
- public synchronized Set getDescriptors() {
- return artifactDescriptors;
- }
-
- /**
- * Typically non-canonical forms of the artifact are stored in the blob store.
- * However, we support having the pack200 files alongside the canonical artifact
- * for compatibility with the format used in optimized update sites. We call
- * this arrangement "flat but packed".
- */
- private boolean flatButPackedEnabled(IArtifactDescriptor descriptor) {
- return Boolean.TRUE.toString().equals(getProperties().get(PUBLISH_PACK_FILES_AS_SIBLINGS)) && PACKED_FORMAT.equals(descriptor.getProperty(IArtifactDescriptor.FORMAT));
- }
-
- /**
- * @see #flatButPackedEnabled(IArtifactDescriptor)
- */
- private String getLocationForPackedButFlatArtifacts(IArtifactDescriptor descriptor) {
- IArtifactKey key = descriptor.getArtifactKey();
- return mapper.map(location.toExternalForm(), key.getClassifier(), key.getId(), key.getVersion().toString(), descriptor.getProperty(IArtifactDescriptor.FORMAT));
- }
-
- public synchronized String getLocation(IArtifactDescriptor descriptor) {
- // if the artifact has a uuid then use it
- String uuid = descriptor.getProperty(ARTIFACT_UUID);
- if (uuid != null)
- return blobStore.fileFor(bytesFromHexString(uuid));
-
- if (flatButPackedEnabled(descriptor)) {
- return getLocationForPackedButFlatArtifacts(descriptor);
- }
-
- // if the artifact is just a reference then return the reference location
- if (descriptor instanceof ArtifactDescriptor) {
- String artifactReference = ((ArtifactDescriptor) descriptor).getRepositoryProperty(ARTIFACT_REFERENCE);
- if (artifactReference != null)
- return artifactReference;
- }
-
- // if the descriptor is complete then use the mapping rules...
- if (descriptor.getProcessingSteps().length == 0) {
- IArtifactKey key = descriptor.getArtifactKey();
- String result = mapper.map(location.toExternalForm(), key.getClassifier(), key.getId(), key.getVersion().toString(), descriptor.getProperty(IArtifactDescriptor.FORMAT));
- if (result != null) {
- if (isFolderBased(descriptor) && result.endsWith(JAR_EXTENSION))
- return result.substring(0, result.lastIndexOf(JAR_EXTENSION));
-
- return result;
- }
- }
-
- // in the end there is not enough information so return null
- return null;
- }
-
- /**
- * Returns the maximum number of concurrent download threads.
- */
- private int getMaximumThreads() {
- try {
- String maxThreadString = (String) getProperties().get(PROP_MAX_THREADS);
- if (maxThreadString != null)
- return Math.max(1, Integer.parseInt(maxThreadString));
- } catch (NumberFormatException nfe) {
- // return default number of threads
- }
- return DEFAULT_MAX_THREADS;
- }
-
- public OutputStream getOutputStream(IArtifactDescriptor descriptor) throws ProvisionException {
- assertModifiable();
- // Check if the artifact is already in this repository
- if (contains(descriptor)) {
- String msg = NLS.bind(Messages.available_already_in, getLocation().toExternalForm());
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.ARTIFACT_EXISTS, msg, null));
- }
-
- // create a copy of the original descriptor that we can manipulate
- ArtifactDescriptor newDescriptor = new ArtifactDescriptor(descriptor);
- if (isFolderBased(descriptor))
- newDescriptor.setRepositoryProperty(ARTIFACT_FOLDER, Boolean.TRUE.toString());
-
- // Determine writing location
- String newLocation = createLocation(newDescriptor);
- String file = null;
- try {
- file = new URL(newLocation).getFile();
- } catch (MalformedURLException e1) {
- // This should not happen
- Assert.isTrue(false, "Unexpected failure: " + e1); //$NON-NLS-1$
- }
-
- // TODO at this point we have to assume that the repository is file-based. Eventually
- // we should end up with writeable URLs...
- // Make sure that the file does not exist and that the parents do
- File outputFile = new File(file);
- if (outputFile.exists()) {
- System.err.println("Artifact repository out of sync. Overwriting " + outputFile.getAbsoluteFile()); //$NON-NLS-1$
- delete(outputFile);
- }
-
- OutputStream target = null;
- try {
- if (isFolderBased(newDescriptor)) {
- outputFile.mkdirs();
- if (!outputFile.isDirectory())
- throw failedWrite(new IOException(NLS.bind(Messages.sar_failedMkdir, outputFile.toString())));
- target = new ZippedFolderOutputStream(outputFile);
- } else {
- // file based
- File parent = outputFile.getParentFile();
- parent.mkdirs();
- if (!parent.isDirectory())
- throw failedWrite(new IOException(NLS.bind(Messages.sar_failedMkdir, parent.toString())));
- target = new FileOutputStream(file);
- }
-
- // finally create and return an output stream suitably wrapped so that when it is
- // closed the repository is updated with the descriptor
- return new ArtifactOutputStream(new BufferedOutputStream(target), newDescriptor, outputFile);
- } catch (IOException e) {
- throw failedWrite(e);
- }
- }
-
- private ProvisionException failedWrite(Exception e) throws ProvisionException {
- String msg = NLS.bind(Messages.repoFailedWrite, getLocation().toExternalForm());
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_WRITE, msg, e));
- }
-
- public synchronized String[][] getRules() {
- return mappingRules;
- }
-
- private Transport getTransport() {
- return ECFTransport.getInstance();
- }
-
- // use this method to setup any transient fields etc after the object has been restored from a stream
- public synchronized void initializeAfterLoad(URL location) {
- this.location = location;
- blobStore = new BlobStore(getBlobStoreLocation(location), 128);
- initializeMapper();
- for (Iterator i = artifactDescriptors.iterator(); i.hasNext();) {
- ((ArtifactDescriptor) i.next()).setRepository(this);
- }
- }
-
- private synchronized void initializeMapper() {
- mapper = new Mapper();
- mapper.initialize(Activator.getContext(), mappingRules);
- }
-
- private boolean isFolderBased(IArtifactDescriptor descriptor) {
- // if the artifact is just a reference then return the reference location
- if (descriptor instanceof ArtifactDescriptor) {
- String useArtifactFolder = ((ArtifactDescriptor) descriptor).getRepositoryProperty(ARTIFACT_FOLDER);
- if (useArtifactFolder != null)
- return Boolean.valueOf(useArtifactFolder).booleanValue();
- }
- //TODO: refactor this when the artifact folder property is consistently set in repository properties
- return Boolean.valueOf(descriptor.getProperty(ARTIFACT_FOLDER)).booleanValue();
- }
-
- private boolean isForceThreading() {
- return "true".equals(getProperties().get(PROP_FORCE_THREADING)); //$NON-NLS-1$
- }
-
- private boolean isLocal() {
- return "file".equalsIgnoreCase(location.getProtocol()); //$NON-NLS-1$
- }
-
- public boolean isModifiable() {
- return isLocal();
- }
-
- public OutputStream processDestination(ProcessingStepHandler handler, IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) {
- destination = addPostSteps(handler, descriptor, destination, monitor);
- destination = handler.createAndLink(descriptor.getProcessingSteps(), descriptor, destination, monitor);
- destination = addPreSteps(handler, descriptor, destination, monitor);
- return destination;
- }
-
- public synchronized void removeAll() {
- IArtifactDescriptor[] toRemove = (IArtifactDescriptor[]) artifactDescriptors.toArray(new IArtifactDescriptor[artifactDescriptors.size()]);
- boolean changed = false;
- for (int i = 0; i < toRemove.length; i++)
- changed |= doRemoveArtifact(toRemove[i]);
- if (changed)
- save();
- }
-
- public synchronized void removeDescriptor(IArtifactDescriptor descriptor) {
- if (doRemoveArtifact(descriptor))
- save();
- }
-
- public synchronized void removeDescriptor(IArtifactKey key) {
- IArtifactDescriptor[] toRemove = getArtifactDescriptors(key);
- boolean changed = false;
- for (int i = 0; i < toRemove.length; i++)
- changed |= doRemoveArtifact(toRemove[i]);
- if (changed)
- save();
- }
-
- public IStatus reportStatus(IArtifactDescriptor descriptor, OutputStream destination, IStatus status) {
- // If the destination is just a normal stream then the status is simple. Just return
- // it and do not close the destination
- if (!(destination instanceof ProcessingStep))
- return status;
-
- // If the destination is a processing step then close the stream to flush the data through all
- // the steps. then collect up the status from all the steps and return
- try {
- destination.close();
- } catch (IOException e) {
- return new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.sar_reportStatus, descriptor.getArtifactKey().toExternalForm()), e);
- }
-
- IStatus stepStatus = ProcessingStepHandler.getStatus(destination, true);
- // if the steps all ran ok and there is no interesting information, return the status from this method
- if (!stepStatus.isMultiStatus() && stepStatus.isOK())
- return status;
- // else gather up the status from the steps
- MultiStatus result = new MultiStatus(Activator.ID, IStatus.OK, new IStatus[0], NLS.bind(Messages.sar_reportStatus, descriptor.getArtifactKey().toExternalForm()), null);
- result.merge(status);
- result.merge(stepStatus);
- return result;
- }
-
- public void save() {
- boolean compress = "true".equalsIgnoreCase((String) properties.get(PROP_COMPRESSED)); //$NON-NLS-1$
- save(compress);
- }
-
- public void save(boolean compress) {
- assertModifiable();
- OutputStream os = null;
- try {
- try {
- URL actualLocation = getActualLocation(location, false);
- File artifactsFile = new File(actualLocation.getPath());
- File jarFile = new File(getActualLocation(location, true).getPath());
- if (!compress) {
- if (jarFile.exists()) {
- jarFile.delete();
- }
- if (!artifactsFile.exists()) {
- // create parent folders
- artifactsFile.getParentFile().mkdirs();
- }
- os = new FileOutputStream(artifactsFile);
- } else {
- if (artifactsFile.exists()) {
- artifactsFile.delete();
- }
- if (!jarFile.exists()) {
- if (!jarFile.getParentFile().exists())
- jarFile.getParentFile().mkdirs();
- jarFile.createNewFile();
- }
- JarOutputStream jOs = new JarOutputStream(new FileOutputStream(jarFile));
- jOs.putNextEntry(new JarEntry(new Path(actualLocation.getFile()).lastSegment()));
- os = jOs;
- }
- super.setProperty(IRepository.PROP_TIMESTAMP, Long.toString(System.currentTimeMillis()));
- new SimpleArtifactRepositoryIO().write(this, os);
- } catch (IOException e) {
- // TODO proper exception handling
- e.printStackTrace();
- } finally {
- if (os != null)
- os.close();
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
- public String setProperty(String key, String newValue) {
- String oldValue = super.setProperty(key, newValue);
- if (oldValue == newValue || (oldValue != null && oldValue.equals(newValue)))
- return oldValue;
- if (PUBLISH_PACK_FILES_AS_SIBLINGS.equals(key)) {
- synchronized (this) {
- if (Boolean.TRUE.toString().equals(newValue)) {
- mappingRules = PACKED_MAPPING_RULES;
- } else {
- mappingRules = DEFAULT_MAPPING_RULES;
- }
- initializeMapper();
- }
- }
- save();
- //force repository manager to reload this repository because it caches properties
- ArtifactRepositoryManager manager = (ArtifactRepositoryManager) ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.class.getName());
- if (manager.removeRepository(getLocation()))
- manager.addRepository(this);
- return oldValue;
- }
-
- public synchronized void setRules(String[][] rules) {
- mappingRules = rules;
- }
-
- public String toString() {
- return location.toExternalForm();
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepositoryIO.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepositoryIO.java
deleted file mode 100644
index 4b1776e..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepositoryIO.java
+++ /dev/null
@@ -1,517 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.repository.simple;
-
-import java.io.*;
-import java.net.URL;
-import java.util.*;
-import javax.xml.parsers.ParserConfigurationException;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.artifact.repository.Activator;
-import org.eclipse.equinox.internal.p2.artifact.repository.Messages;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.OrderedProperties;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.p2.persistence.XMLParser;
-import org.eclipse.equinox.internal.p2.persistence.XMLWriter;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.ArtifactDescriptor;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepository;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStepDescriptor;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.Version;
-import org.xml.sax.*;
-
-/**
- * This class reads and writes artifact repository metadata
- * (e.g. table of contents files);
- *
- * This class is not used for reading or writing the actual artifacts.
- */
-
-// TODO: Should a registration/factory mechanism be supported
-// for getting a repository reader/writer given a repository type
-public class SimpleArtifactRepositoryIO {
-
- /**
- * Writes the given artifact repository to the stream.
- * This method performs buffering, and closes the stream when finished.
- */
- public void write(SimpleArtifactRepository repository, OutputStream output) {
- OutputStream bufferedOutput = null;
- try {
- try {
- bufferedOutput = new BufferedOutputStream(output);
- Writer repositoryWriter = new Writer(bufferedOutput);
- repositoryWriter.write(repository);
- } finally {
- if (bufferedOutput != null) {
- bufferedOutput.close();
- }
- }
- } catch (IOException ioe) {
- // TODO shouldn't this throw a core exception?
- ioe.printStackTrace();
- }
- }
-
- /**
- * Reads the artifact repository from the given stream,
- * and returns the contained array of abstract artifact repositories.
- *
- * This method performs buffering, and closes the stream when finished.
- */
- public IArtifactRepository read(URL location, InputStream input, IProgressMonitor monitor) throws ProvisionException {
- BufferedInputStream bufferedInput = null;
- try {
- try {
- bufferedInput = new BufferedInputStream(input);
- Parser repositoryParser = new Parser(Activator.getContext(), Activator.ID);
- repositoryParser.parse(input);
- IStatus result = repositoryParser.getStatus();
- switch (result.getSeverity()) {
- case IStatus.CANCEL :
- throw new OperationCanceledException();
- case IStatus.ERROR :
- throw new ProvisionException(result);
- case IStatus.WARNING :
- case IStatus.INFO :
- LogHelper.log(result);
- }
- return repositoryParser.getRepository();
- } finally {
- if (bufferedInput != null)
- bufferedInput.close();
- }
- } catch (IOException ioe) {
- String msg = NLS.bind(Messages.io_failedRead, location);
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_READ, msg, ioe));
- }
- }
-
- private interface XMLConstants extends org.eclipse.equinox.internal.p2.persistence.XMLConstants {
-
- // Constants defining the structure of the XML for a SimpleArtifactRepository
-
- // A format version number for simple artifact repository XML.
- public static final Version CURRENT_VERSION = new Version(1, 0, 0);
- public static final VersionRange XML_TOLERANCE = new VersionRange(CURRENT_VERSION, true, new Version(2, 0, 0), false);
-
- // Constants for processing instructions
- public static final String PI_REPOSITORY_TARGET = "artifactRepository"; //$NON-NLS-1$
- public static XMLWriter.ProcessingInstruction[] PI_DEFAULTS = new XMLWriter.ProcessingInstruction[] {XMLWriter.ProcessingInstruction.makeClassVersionInstruction(PI_REPOSITORY_TARGET, SimpleArtifactRepository.class, CURRENT_VERSION)};
-
- // Constants for artifact repository elements
- public static final String REPOSITORY_ELEMENT = "repository"; //$NON-NLS-1$
- public static final String REPOSITORY_PROPERTIES_ELEMENT = "repositoryProperties"; //$NON-NLS-1$
- public static final String MAPPING_RULES_ELEMENT = "mappings"; //$NON-NLS-1$
- public static final String MAPPING_RULE_ELEMENT = "rule"; //$NON-NLS-1$
- public static final String ARTIFACTS_ELEMENT = "artifacts"; //$NON-NLS-1$
- public static final String ARTIFACT_ELEMENT = "artifact"; //$NON-NLS-1$
- public static final String PROCESSING_STEPS_ELEMENT = "processing"; //$NON-NLS-1$
- public static final String PROCESSING_STEP_ELEMENT = "step"; //$NON-NLS-1$
-
- public static final String MAPPING_RULE_FILTER_ATTRIBUTE = "filter"; //$NON-NLS-1$
- public static final String MAPPING_RULE_OUTPUT_ATTRIBUTE = "output"; //$NON-NLS-1$
-
- public static final String ARTIFACT_CLASSIFIER_ATTRIBUTE = CLASSIFIER_ATTRIBUTE;
-
- public static final String STEP_DATA_ATTRIBUTE = "data"; //$NON-NLS-1$
- public static final String STEP_REQUIRED_ATTRIBUTE = "required"; //$NON-NLS-1$
- }
-
- // XML writer for a SimpleArtifactRepository
- protected class Writer extends XMLWriter implements XMLConstants {
-
- public Writer(OutputStream output) throws IOException {
- super(output, PI_DEFAULTS);
- }
-
- /**
- * Write the given artifact repository to the output stream.
- */
- public void write(SimpleArtifactRepository repository) {
- start(REPOSITORY_ELEMENT);
- attribute(NAME_ATTRIBUTE, repository.getName());
- attribute(TYPE_ATTRIBUTE, repository.getType());
- attribute(VERSION_ATTRIBUTE, repository.getVersion());
- attributeOptional(PROVIDER_ATTRIBUTE, repository.getProvider());
- attributeOptional(DESCRIPTION_ATTRIBUTE, repository.getDescription()); // TODO: could be cdata?
-
- writeProperties(repository.getProperties());
- writeMappingRules(repository.getRules());
- writeArtifacts(repository.getDescriptors());
-
- end(REPOSITORY_ELEMENT);
- flush();
- }
-
- private void writeMappingRules(String[][] rules) {
- if (rules.length > 0) {
- start(MAPPING_RULES_ELEMENT);
- attribute(COLLECTION_SIZE_ATTRIBUTE, rules.length);
- for (int i = 0; i < rules.length; i++) {
- start(MAPPING_RULE_ELEMENT);
- attribute(MAPPING_RULE_FILTER_ATTRIBUTE, rules[i][0]);
- attribute(MAPPING_RULE_OUTPUT_ATTRIBUTE, rules[i][1]);
- end(MAPPING_RULE_ELEMENT);
- }
- end(MAPPING_RULES_ELEMENT);
- }
- }
-
- private void writeArtifacts(Set artifactDescriptors) {
- start(ARTIFACTS_ELEMENT);
- attribute(COLLECTION_SIZE_ATTRIBUTE, artifactDescriptors.size());
- for (Iterator iter = artifactDescriptors.iterator(); iter.hasNext();) {
- ArtifactDescriptor descriptor = (ArtifactDescriptor) iter.next();
- IArtifactKey key = descriptor.getArtifactKey();
- start(ARTIFACT_ELEMENT);
- attribute(ARTIFACT_CLASSIFIER_ATTRIBUTE, key.getClassifier());
- attribute(ID_ATTRIBUTE, key.getId());
- attribute(VERSION_ATTRIBUTE, key.getVersion());
- writeProcessingSteps(descriptor.getProcessingSteps());
- writeProperties(descriptor.getProperties());
- writeProperties(REPOSITORY_PROPERTIES_ELEMENT, descriptor.getRepositoryProperties());
- end(ARTIFACT_ELEMENT);
- }
- end(ARTIFACTS_ELEMENT);
- }
-
- private void writeProcessingSteps(ProcessingStepDescriptor[] processingSteps) {
- if (processingSteps.length > 0) {
- start(PROCESSING_STEPS_ELEMENT);
- attribute(COLLECTION_SIZE_ATTRIBUTE, processingSteps.length);
- for (int i = 0; i < processingSteps.length; i++) {
- start(PROCESSING_STEP_ELEMENT);
- attribute(ID_ATTRIBUTE, processingSteps[i].getProcessorId());
- attribute(STEP_DATA_ATTRIBUTE, processingSteps[i].getData());
- attribute(STEP_REQUIRED_ATTRIBUTE, processingSteps[i].isRequired());
- end(PROCESSING_STEP_ELEMENT);
- }
- end(PROCESSING_STEPS_ELEMENT);
- }
- }
- }
-
- /*
- * Parser for the contents of a SimpleArtifactRepository,
- * as written by the Writer class.
- */
- private class Parser extends XMLParser implements XMLConstants {
-
- private SimpleArtifactRepository theRepository = null;
-
- public Parser(BundleContext context, String bundleId) {
- super(context, bundleId);
- }
-
- public void parse(File file) throws IOException {
- parse(new FileInputStream(file));
- }
-
- public synchronized void parse(InputStream stream) throws IOException {
- this.status = null;
- try {
- // TODO: currently not caching the parser since we make no assumptions
- // or restrictions on concurrent parsing
- getParser();
- RepositoryHandler repositoryHandler = new RepositoryHandler();
- xmlReader.setContentHandler(new RepositoryDocHandler(REPOSITORY_ELEMENT, repositoryHandler));
- xmlReader.parse(new InputSource(stream));
- if (isValidXML()) {
- theRepository = repositoryHandler.getRepository();
- }
- } catch (SAXException e) {
- throw new IOException(e.getMessage());
- } catch (ParserConfigurationException e) {
- throw new IOException(e.getMessage());
- } finally {
- stream.close();
- }
- }
-
- public SimpleArtifactRepository getRepository() {
- return theRepository;
- }
-
- protected Object getRootObject() {
- return theRepository;
- }
-
- private final class RepositoryDocHandler extends DocHandler {
-
- public RepositoryDocHandler(String rootName, RootHandler rootHandler) {
- super(rootName, rootHandler);
- }
-
- public void processingInstruction(String target, String data) throws SAXException {
- if (PI_REPOSITORY_TARGET.equals(target)) {
- // TODO: should the root handler be constructed based on class
- // via an extension registry mechanism?
- // String clazz = extractPIClass(data);
- // TODO: version tolerance by extension
- Version repositoryVersion = extractPIVersion(target, data);
- if (!XML_TOLERANCE.isIncluded(repositoryVersion)) {
- throw new SAXException(NLS.bind(Messages.io_incompatibleVersion, repositoryVersion, XML_TOLERANCE));
- }
- }
- }
-
- }
-
- private final class RepositoryHandler extends RootHandler {
-
- private final String[] required = new String[] {NAME_ATTRIBUTE, TYPE_ATTRIBUTE, VERSION_ATTRIBUTE};
- private final String[] optional = new String[] {DESCRIPTION_ATTRIBUTE, PROVIDER_ATTRIBUTE};
-
- private String[] attrValues = new String[required.length + optional.length];
-
- private MappingRulesHandler mappingRulesHandler = null;
- private PropertiesHandler propertiesHandler = null;
- private ArtifactsHandler artifactsHandler = null;
-
- private SimpleArtifactRepository repository = null;
-
- public RepositoryHandler() {
- super();
- }
-
- public SimpleArtifactRepository getRepository() {
- return repository;
- }
-
- protected void handleRootAttributes(Attributes attributes) {
- attrValues = parseAttributes(attributes, required, optional);
- attrValues[2] = checkVersion(REPOSITORY_ELEMENT, VERSION_ATTRIBUTE, attrValues[2]).toString();
- }
-
- public void startElement(String name, Attributes attributes) {
- if (MAPPING_RULES_ELEMENT.equals(name)) {
- if (mappingRulesHandler == null) {
- mappingRulesHandler = new MappingRulesHandler(this, attributes);
- } else {
- duplicateElement(this, name, attributes);
- }
- } else if (ARTIFACTS_ELEMENT.equals(name)) {
- if (artifactsHandler == null) {
- artifactsHandler = new ArtifactsHandler(this, attributes);
- } else {
- duplicateElement(this, name, attributes);
- }
- } else if (PROPERTIES_ELEMENT.equals(name)) {
- if (propertiesHandler == null) {
- propertiesHandler = new PropertiesHandler(this, attributes);
- } else {
- duplicateElement(this, name, attributes);
- }
- } else {
- invalidElement(name, attributes);
- }
- }
-
- protected void finished() {
- if (isValidXML()) {
- String[][] mappingRules = (mappingRulesHandler == null ? new String[0][0] //
- : mappingRulesHandler.getMappingRules());
- Map properties = (propertiesHandler == null ? new OrderedProperties(0) //
- : propertiesHandler.getProperties());
- Set artifacts = (artifactsHandler == null ? new HashSet(0) //
- : artifactsHandler.getArtifacts());
- repository = new SimpleArtifactRepository(attrValues[0], attrValues[1], attrValues[2], attrValues[3], //
- attrValues[4], artifacts, mappingRules, properties);
- }
- }
- }
-
- protected class MappingRulesHandler extends AbstractHandler {
-
- private List mappingRules;
-
- public MappingRulesHandler(AbstractHandler parentHandler, Attributes attributes) {
- super(parentHandler, MAPPING_RULES_ELEMENT);
- String size = parseOptionalAttribute(attributes, COLLECTION_SIZE_ATTRIBUTE);
- mappingRules = (size != null ? new ArrayList(new Integer(size).intValue()) : new ArrayList(4));
- }
-
- public String[][] getMappingRules() {
- String[][] rules = new String[mappingRules.size()][2];
- for (int index = 0; index < mappingRules.size(); index++) {
- String[] ruleAttributes = (String[]) mappingRules.get(index);
- rules[index] = ruleAttributes;
- }
- return rules;
- }
-
- public void startElement(String name, Attributes attributes) {
- if (name.equals(MAPPING_RULE_ELEMENT)) {
- new MappingRuleHandler(this, attributes, mappingRules);
- } else {
- invalidElement(name, attributes);
- }
- }
- }
-
- protected class MappingRuleHandler extends AbstractHandler {
-
- private final String[] required = new String[] {MAPPING_RULE_FILTER_ATTRIBUTE, MAPPING_RULE_OUTPUT_ATTRIBUTE};
-
- public MappingRuleHandler(AbstractHandler parentHandler, Attributes attributes, List mappingRules) {
- super(parentHandler, MAPPING_RULE_ELEMENT);
- mappingRules.add(parseRequiredAttributes(attributes, required));
- }
-
- public void startElement(String name, Attributes attributes) {
- invalidElement(name, attributes);
- }
- }
-
- protected class ArtifactsHandler extends AbstractHandler {
-
- private Set artifacts;
-
- public ArtifactsHandler(AbstractHandler parentHandler, Attributes attributes) {
- super(parentHandler, ARTIFACTS_ELEMENT);
- String size = parseOptionalAttribute(attributes, COLLECTION_SIZE_ATTRIBUTE);
- artifacts = (size != null ? new LinkedHashSet(new Integer(size).intValue()) : new LinkedHashSet(4));
- }
-
- public Set getArtifacts() {
- return artifacts;
- }
-
- public void startElement(String name, Attributes attributes) {
- if (name.equals(ARTIFACT_ELEMENT)) {
- new ArtifactHandler(this, attributes, artifacts);
- } else {
- invalidElement(name, attributes);
- }
- }
- }
-
- protected class ArtifactHandler extends AbstractHandler {
-
- private final String[] required = new String[] {ARTIFACT_CLASSIFIER_ATTRIBUTE, ID_ATTRIBUTE, VERSION_ATTRIBUTE};
-
- private Set artifacts;
- ArtifactDescriptor currentArtifact = null;
-
- private PropertiesHandler propertiesHandler = null;
- private PropertiesHandler repositoryPropertiesHandler = null;
- private ProcessingStepsHandler processingStepsHandler = null;
-
- public ArtifactHandler(AbstractHandler parentHandler, Attributes attributes, Set artifacts) {
- super(parentHandler, ARTIFACT_ELEMENT);
- this.artifacts = artifacts;
- String[] values = parseRequiredAttributes(attributes, required);
- Version version = checkVersion(ARTIFACT_ELEMENT, VERSION_ATTRIBUTE, values[2]);
- // TODO: resolve access restriction on ArtifactKey construction
- currentArtifact = new ArtifactDescriptor(new ArtifactKey(values[0], values[1], version));
- }
-
- public ArtifactDescriptor getArtifact() {
- return currentArtifact;
- }
-
- public void startElement(String name, Attributes attributes) {
- if (PROCESSING_STEPS_ELEMENT.equals(name)) {
- if (processingStepsHandler == null) {
- processingStepsHandler = new ProcessingStepsHandler(this, attributes);
- } else {
- duplicateElement(this, name, attributes);
- }
- } else if (PROPERTIES_ELEMENT.equals(name)) {
- if (propertiesHandler == null) {
- propertiesHandler = new PropertiesHandler(this, attributes);
- } else {
- duplicateElement(this, name, attributes);
- }
- } else if (REPOSITORY_PROPERTIES_ELEMENT.equals(name)) {
- if (repositoryPropertiesHandler == null) {
- repositoryPropertiesHandler = new PropertiesHandler(this, attributes);
- } else {
- duplicateElement(this, name, attributes);
- }
- } else {
- invalidElement(name, attributes);
- }
- }
-
- protected void finished() {
- if (isValidXML() && currentArtifact != null) {
- Map properties = (propertiesHandler == null ? new OrderedProperties(0) : propertiesHandler.getProperties());
- currentArtifact.addProperties(properties);
-
- properties = (repositoryPropertiesHandler == null ? new OrderedProperties(0) : repositoryPropertiesHandler.getProperties());
- currentArtifact.addRepositoryProperties(properties);
-
- ProcessingStepDescriptor[] processingSteps = (processingStepsHandler == null ? new ProcessingStepDescriptor[0] //
- : processingStepsHandler.getProcessingSteps());
- currentArtifact.setProcessingSteps(processingSteps);
- artifacts.add(currentArtifact);
- }
- }
- }
-
- protected class ProcessingStepsHandler extends AbstractHandler {
-
- private List processingSteps;
-
- public ProcessingStepsHandler(AbstractHandler parentHandler, Attributes attributes) {
- super(parentHandler, PROCESSING_STEPS_ELEMENT);
- String size = parseOptionalAttribute(attributes, COLLECTION_SIZE_ATTRIBUTE);
- processingSteps = (size != null ? new ArrayList(new Integer(size).intValue()) : new ArrayList(4));
- }
-
- public ProcessingStepDescriptor[] getProcessingSteps() {
- return (ProcessingStepDescriptor[]) processingSteps.toArray(new ProcessingStepDescriptor[processingSteps.size()]);
- }
-
- public void startElement(String name, Attributes attributes) {
- if (name.equals(PROCESSING_STEP_ELEMENT)) {
- new ProcessingStepHandler(this, attributes, processingSteps);
- } else {
- invalidElement(name, attributes);
- }
- }
- }
-
- protected class ProcessingStepHandler extends AbstractHandler {
-
- private final String[] required = new String[] {ID_ATTRIBUTE, STEP_REQUIRED_ATTRIBUTE};
- private final String[] optional = new String[] {STEP_DATA_ATTRIBUTE};
-
- public ProcessingStepHandler(AbstractHandler parentHandler, Attributes attributes, List processingSteps) {
- super(parentHandler, PROCESSING_STEP_ELEMENT);
- String[] attributeValues = parseAttributes(attributes, required, optional);
- processingSteps.add(new ProcessingStepDescriptor(attributeValues[0], attributeValues[1], checkBoolean(PROCESSING_STEP_ELEMENT, STEP_REQUIRED_ATTRIBUTE, attributeValues[2]).booleanValue()));
- }
-
- public void startElement(String name, Attributes attributes) {
- invalidElement(name, attributes);
- }
- }
-
- protected String getErrorMessage() {
- return Messages.io_parseError;
- }
-
- public String toString() {
- // TODO:
- return null;
- }
-
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/UniversalUniqueIdentifier.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/UniversalUniqueIdentifier.java
deleted file mode 100644
index 636893a..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/UniversalUniqueIdentifier.java
+++ /dev/null
@@ -1,349 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.repository.simple;
-
-import java.io.*;
-import java.math.BigInteger;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.security.SecureRandom;
-import java.util.GregorianCalendar;
-import java.util.Random;
-import org.eclipse.core.runtime.Assert;
-
-public class UniversalUniqueIdentifier implements java.io.Serializable {
-
- /**
- * All serializable objects should have a stable serialVersionUID
- */
- private static final long serialVersionUID = 1L;
-
- /* INSTANCE FIELDS =============================================== */
-
- private byte[] fBits = new byte[BYTES_SIZE];
-
- /* NON-FINAL PRIVATE STATIC FIELDS =============================== */
-
- private static BigInteger fgPreviousClockValue;
- private static int fgClockAdjustment = 0;
- private static int fgClockSequence = -1;
- private static byte[] nodeAddress;
-
- static {
- nodeAddress = computeNodeAddress();
- }
-
- /* PRIVATE STATIC FINAL FIELDS =================================== */
-
- private static Random fgRandomNumberGenerator = new Random();
-
- /* PUBLIC STATIC FINAL FIELDS ==================================== */
-
- public static final int BYTES_SIZE = 16;
- public static final byte[] UNDEFINED_UUID_BYTES = new byte[16];
- public static final int MAX_CLOCK_SEQUENCE = 0x4000;
- public static final int MAX_CLOCK_ADJUSTMENT = 0x7FFF;
- public static final int TIME_FIELD_START = 0;
- public static final int TIME_FIELD_STOP = 6;
- public static final int TIME_HIGH_AND_VERSION = 7;
- public static final int CLOCK_SEQUENCE_HIGH_AND_RESERVED = 8;
- public static final int CLOCK_SEQUENCE_LOW = 9;
- public static final int NODE_ADDRESS_START = 10;
- public static final int NODE_ADDRESS_BYTE_SIZE = 6;
-
- public static final int BYTE_MASK = 0xFF;
-
- public static final int HIGH_NIBBLE_MASK = 0xF0;
-
- public static final int LOW_NIBBLE_MASK = 0x0F;
-
- public static final int SHIFT_NIBBLE = 4;
-
- public static final int ShiftByte = 8;
-
- /**
- UniversalUniqueIdentifier default constructor returns a
- new instance that has been initialized to a unique value.
- */
- public UniversalUniqueIdentifier() {
- this.setVersion(1);
- this.setVariant(1);
- this.setTimeValues();
- this.setNode(getNodeAddress());
- }
-
- /**
- Constructor that accepts the bytes to use for the instance. The format
- of the byte array is compatible with the <code>toBytes()</code> method.
-
- <p>The constructor returns the undefined uuid if the byte array is invalid.
-
- @see #toBytes()
- @see #BYTES_SIZE
- */
- public UniversalUniqueIdentifier(byte[] byteValue) {
- fBits = new byte[BYTES_SIZE];
- if (byteValue.length >= BYTES_SIZE)
- System.arraycopy(byteValue, 0, fBits, 0, BYTES_SIZE);
- }
-
- private void appendByteString(StringBuffer buffer, byte value) {
- String hexString;
-
- if (value < 0)
- hexString = Integer.toHexString(256 + value);
- else
- hexString = Integer.toHexString(value);
- if (hexString.length() == 1)
- buffer.append("0"); //$NON-NLS-1$
- buffer.append(hexString);
- }
-
- private static BigInteger clockValueNow() {
- GregorianCalendar now = new GregorianCalendar();
- BigInteger nowMillis = BigInteger.valueOf(now.getTime().getTime());
- BigInteger baseMillis = BigInteger.valueOf(now.getGregorianChange().getTime());
-
- return (nowMillis.subtract(baseMillis).multiply(BigInteger.valueOf(10000L)));
- }
-
- /**
- Simply increases the visibility of <code>Object</code>'s clone.
- Otherwise, no new behaviour.
- */
- public Object clone() {
- try {
- return super.clone();
- } catch (CloneNotSupportedException e) {
- Assert.isTrue(false, "Clone not supported");
- return null;
- }
- }
-
- public static int compareTime(byte[] fBits1, byte[] fBits2) {
- for (int i = TIME_FIELD_STOP; i >= 0; i--)
- if (fBits1[i] != fBits2[i])
- return (0xFF & fBits1[i]) - (0xFF & fBits2[i]);
- return 0;
- }
-
- /**
- * Answers the node address attempting to mask the IP
- * address of this machine.
- *
- * @return byte[] the node address
- */
- private static byte[] computeNodeAddress() {
-
- byte[] address = new byte[NODE_ADDRESS_BYTE_SIZE];
-
- // Seed the secure randomizer with some oft-varying inputs
- int thread = Thread.currentThread().hashCode();
- long time = System.currentTimeMillis();
- int objectId = System.identityHashCode(new String());
- ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
- DataOutputStream out = new DataOutputStream(byteOut);
- byte[] ipAddress = getIPAddress();
-
- try {
- if (ipAddress != null)
- out.write(ipAddress);
- out.write(thread);
- out.writeLong(time);
- out.write(objectId);
- out.close();
- } catch (IOException exc) {
- //ignore the failure, we're just trying to come up with a random seed
- }
- byte[] rand = byteOut.toByteArray();
-
- SecureRandom randomizer = new SecureRandom(rand);
- randomizer.nextBytes(address);
-
- // set the MSB of the first octet to 1 to distinguish from IEEE node addresses
- address[0] = (byte) (address[0] | (byte) 0x80);
-
- return address;
- }
-
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (!(obj instanceof UniversalUniqueIdentifier))
- return false;
-
- byte[] other = ((UniversalUniqueIdentifier) obj).fBits;
- if (fBits == other)
- return true;
- if (fBits.length != other.length)
- return false;
- for (int i = 0; i < fBits.length; i++) {
- if (fBits[i] != other[i])
- return false;
- }
- return true;
- }
-
- /**
- Answers the IP address of the local machine using the
- Java API class <code>InetAddress</code>.
-
- @return byte[] the network address in network order
- @see java.net.InetAddress#getLocalHost()
- @see java.net.InetAddress#getAddress()
- */
- protected static byte[] getIPAddress() {
- try {
- return InetAddress.getLocalHost().getAddress();
- } catch (UnknownHostException e) {
- //valid for this to be thrown be a machine with no IP connection
- //It is VERY important NOT to throw this exception
- return null;
- }
- }
-
- private static byte[] getNodeAddress() {
- return nodeAddress;
- }
-
- public int hashCode() {
- return fBits[0] + fBits[3] + fBits[7] + fBits[11] + fBits[15];
- }
-
- private static int nextClockSequence() {
-
- if (fgClockSequence == -1)
- fgClockSequence = (int) (fgRandomNumberGenerator.nextDouble() * MAX_CLOCK_SEQUENCE);
-
- fgClockSequence = (fgClockSequence + 1) % MAX_CLOCK_SEQUENCE;
-
- return fgClockSequence;
- }
-
- private static BigInteger nextTimestamp() {
-
- BigInteger timestamp = clockValueNow();
- int timestampComparison;
-
- timestampComparison = timestamp.compareTo(fgPreviousClockValue);
-
- if (timestampComparison == 0) {
- if (fgClockAdjustment == MAX_CLOCK_ADJUSTMENT) {
- while (timestamp.compareTo(fgPreviousClockValue) == 0)
- timestamp = clockValueNow();
- timestamp = nextTimestamp();
- } else
- fgClockAdjustment++;
- } else {
- fgClockAdjustment = 0;
-
- if (timestampComparison < 0)
- nextClockSequence();
- }
-
- return timestamp;
- }
-
- private void setClockSequence(int clockSeq) {
- int clockSeqHigh = (clockSeq >>> ShiftByte) & LOW_NIBBLE_MASK;
- int reserved = fBits[CLOCK_SEQUENCE_HIGH_AND_RESERVED] & HIGH_NIBBLE_MASK;
-
- fBits[CLOCK_SEQUENCE_HIGH_AND_RESERVED] = (byte) (reserved | clockSeqHigh);
- fBits[CLOCK_SEQUENCE_LOW] = (byte) (clockSeq & BYTE_MASK);
- }
-
- protected void setNode(byte[] bytes) {
-
- for (int index = 0; index < NODE_ADDRESS_BYTE_SIZE; index++)
- fBits[index + NODE_ADDRESS_START] = bytes[index];
- }
-
- private void setTimestamp(BigInteger timestamp) {
- BigInteger value = timestamp;
- BigInteger bigByte = BigInteger.valueOf(256L);
- BigInteger[] results;
- int version;
- int timeHigh;
-
- for (int index = TIME_FIELD_START; index < TIME_FIELD_STOP; index++) {
- results = value.divideAndRemainder(bigByte);
- value = results[0];
- fBits[index] = (byte) results[1].intValue();
- }
- version = fBits[TIME_HIGH_AND_VERSION] & HIGH_NIBBLE_MASK;
- timeHigh = value.intValue() & LOW_NIBBLE_MASK;
- fBits[TIME_HIGH_AND_VERSION] = (byte) (timeHigh | version);
- }
-
- protected synchronized void setTimeValues() {
- this.setTimestamp(timestamp());
- this.setClockSequence(fgClockSequence);
- }
-
- protected int setVariant(int variantIdentifier) {
- int clockSeqHigh = fBits[CLOCK_SEQUENCE_HIGH_AND_RESERVED] & LOW_NIBBLE_MASK;
- int variant = variantIdentifier & LOW_NIBBLE_MASK;
-
- fBits[CLOCK_SEQUENCE_HIGH_AND_RESERVED] = (byte) ((variant << SHIFT_NIBBLE) | clockSeqHigh);
- return (variant);
- }
-
- protected void setVersion(int versionIdentifier) {
- int timeHigh = fBits[TIME_HIGH_AND_VERSION] & LOW_NIBBLE_MASK;
- int version = versionIdentifier & LOW_NIBBLE_MASK;
-
- fBits[TIME_HIGH_AND_VERSION] = (byte) (timeHigh | (version << SHIFT_NIBBLE));
- }
-
- private static BigInteger timestamp() {
- BigInteger timestamp;
-
- if (fgPreviousClockValue == null) {
- fgClockAdjustment = 0;
- nextClockSequence();
- timestamp = clockValueNow();
- } else
- timestamp = nextTimestamp();
-
- fgPreviousClockValue = timestamp;
- return fgClockAdjustment == 0 ? timestamp : timestamp.add(BigInteger.valueOf(fgClockAdjustment));
- }
-
- /**
- This representation is compatible with the (byte[]) constructor.
-
- @see #UniversalUniqueIdentifier(byte[])
- */
- public byte[] toBytes() {
- byte[] result = new byte[fBits.length];
-
- System.arraycopy(fBits, 0, result, 0, fBits.length);
- return result;
- }
-
- public String toString() {
- StringBuffer buffer = new StringBuffer();
- for (int i = 0; i < fBits.length; i++)
- appendByteString(buffer, fBits[i]);
- return buffer.toString();
- }
-
- public String toStringAsBytes() {
- String result = "{"; //$NON-NLS-1$
-
- for (int i = 0; i < fBits.length; i++) {
- result += fBits[i];
- if (i < fBits.length + 1)
- result += ","; //$NON-NLS-1$
- }
- return result + "}"; //$NON-NLS-1$
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/ArtifactDescriptor.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/ArtifactDescriptor.java
deleted file mode 100644
index aec77fe..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/ArtifactDescriptor.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.artifact.repository;
-
-import java.util.Arrays;
-import java.util.Map;
-import org.eclipse.equinox.internal.p2.core.helpers.OrderedProperties;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStepDescriptor;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-
-/**
- * This represents information about a given artifact stored on a particular byte server.
- */
-public class ArtifactDescriptor implements IArtifactDescriptor {
-
- private static final ProcessingStepDescriptor[] EMPTY_STEPS = new ProcessingStepDescriptor[0];
-
- protected IArtifactKey key; // The key associated with this artifact
-
- // The list of post processing steps that must be applied one the artifact once it
- // has been downloaded (e.g, unpack, then md5 checksum, then...)
- protected ProcessingStepDescriptor[] processingSteps = EMPTY_STEPS;
-
- protected Map properties = new OrderedProperties();
- protected Map repositoryProperties = new OrderedProperties();
-
- protected transient IArtifactRepository repository;
-
- // QUESTION: Do we need any description or user readable name
-
- public ArtifactDescriptor(IArtifactDescriptor base) {
- super();
- key = base.getArtifactKey();
- processingSteps = base.getProcessingSteps();
- properties.putAll(base.getProperties());
- repository = base.getRepository();
- // TODO this property is hardcoded for the blob store.
- // setProperty("artifact.uuid", base.getProperty("artifact.uuid"));
- }
-
- public ArtifactDescriptor(ArtifactDescriptor base) {
- super();
- key = base.key;
- processingSteps = base.processingSteps;
- properties = base.properties;
- repository = base.repository;
- }
-
- public ArtifactDescriptor(IArtifactKey key) {
- super();
- this.key = key;
- }
-
- public IArtifactKey getArtifactKey() {
- return key;
- }
-
- public String getProperty(String propertyKey) {
- return (String) properties.get(propertyKey);
- }
-
- public void setProperty(String key, String value) {
- if (value == null)
- properties.remove(key);
- else
- properties.put(key, value);
- }
-
- public void addProperties(Map additionalProperties) {
- properties.putAll(additionalProperties);
- }
-
- /**
- * Returns a read-only collection of the properties of the artifact descriptor.
- * @return the properties of this artifact descriptor.
- */
- public Map getProperties() {
- return OrderedProperties.unmodifiableProperties(properties);
- }
-
- public String getRepositoryProperty(String propertyKey) {
- return (String) repositoryProperties.get(propertyKey);
- }
-
- public void setRepositoryProperty(String key, String value) {
- if (value == null)
- repositoryProperties.remove(key);
- else
- repositoryProperties.put(key, value);
- }
-
- public void addRepositoryProperties(Map additionalProperties) {
- repositoryProperties.putAll(additionalProperties);
- }
-
- /**
- * Returns a read-only collection of the repository properties of the artifact descriptor.
- * @return the repository properties of this artifact descriptor.
- */
- public Map getRepositoryProperties() {
- return OrderedProperties.unmodifiableProperties(repositoryProperties);
- }
-
- public ProcessingStepDescriptor[] getProcessingSteps() {
- return processingSteps;
- }
-
- public void setProcessingSteps(ProcessingStepDescriptor[] value) {
- processingSteps = value == null ? EMPTY_STEPS : value;
- }
-
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- ArtifactDescriptor other = (ArtifactDescriptor) obj;
- if (key == null) {
- if (other.key != null)
- return false;
- } else if (!key.equals(other.key))
- return false;
- if (!Arrays.equals(processingSteps, other.processingSteps))
- return false;
- if (properties == null) {
- if (other.properties != null)
- return false;
- } else if (!properties.equals(other.properties))
- return false;
- return true;
- }
-
- private int hashCode(Object[] array) {
- int prime = 31;
- if (array == null)
- return 0;
- int result = 1;
- for (int index = 0; index < array.length; index++) {
- result = prime * result + (array[index] == null ? 0 : array[index].hashCode());
- }
- return result;
- }
-
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((key == null) ? 0 : key.hashCode());
- result = prime * result + hashCode(processingSteps);
- result = prime * result + ((properties == null) ? 0 : properties.hashCode());
- return result;
- }
-
- public IArtifactRepository getRepository() {
- return repository;
- }
-
- public void setRepository(IArtifactRepository value) {
- repository = value;
- }
-
- public String toString() {
- String format = getProperty(IArtifactDescriptor.FORMAT);
- if (format == null)
- return "canonical: " + key.toString(); //$NON-NLS-1$
- return format + ": " + key.toString(); //$NON-NLS-1$
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/IArtifactDescriptor.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/IArtifactDescriptor.java
deleted file mode 100644
index 8359506..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/IArtifactDescriptor.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.artifact.repository;
-
-import java.util.Map;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStepDescriptor;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-
-public interface IArtifactDescriptor {
-
- public static final String DOWNLOAD_SIZE = "download.size"; //$NON-NLS-1$
- public static final String ARTIFACT_SIZE = "artifact.size"; //$NON-NLS-1$
- public static final String DOWNLOAD_MD5 = "download.md5"; //$NON-NLS-1$
- public static final String DOWNLOAD_CONTENTTYPE = "download.contentType"; //$NON-NLS-1$
- public static final String TYPE_ZIP = "application/zip"; //$NON-NLS-1$
- public static final String ARTIFACT_MD5 = "artifact.md5"; //$NON-NLS-1$
- public static final String FORMAT = "format"; //$NON-NLS-1$
-
- /**
- * Return the key for the artifact described by this descriptor.
- * @return the key associated with this descriptor
- */
- public abstract IArtifactKey getArtifactKey();
-
- /**
- * Return the value of the given property in this descriptor <code>null</code>
- * is returned if no such property exists
- * @param key the property key to look for
- * @return the value of the given property or <code>null</code>
- */
- public abstract String getProperty(String key);
-
- /**
- * Returns a read-only collection of the properties of the artifact descriptor.
- * @return the properties of this artifact descriptor.
- */
- public Map getProperties();
-
- /**
- * Return the list of processing steps associated with this descriptor.
- * An empty set of steps implies that this descriptor describes a complete
- * copy of the artifact in its native form.
- * @return the list of processing steps for this descriptor
- */
- public abstract ProcessingStepDescriptor[] getProcessingSteps();
-
- /**
- * Return the artifact repository that holds the artifact described by this descriptor.
- * <code>null</code> is returned if this descriptor is not held in a repository.
- *
- * @return the repository holding this artifact or <code>null</code> if none.
- */
- public abstract IArtifactRepository getRepository();
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/IArtifactRepository.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/IArtifactRepository.java
deleted file mode 100644
index 2da166e..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/IArtifactRepository.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.artifact.repository;
-
-import java.io.OutputStream;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository.AbstractArtifactRepository;
-
-/**
- * A repository containing artifacts.
- * <p>
- * This interface is not intended to be implemented by clients. Artifact repository
- * implementations must subclass {@link AbstractArtifactRepository} rather than
- * implementing this interface directly.
- * </p>
- */
-public interface IArtifactRepository extends IRepository {
-
- /**
- * The return code to use when a client could/should retry a failed getArtifact() operation.
- * For example, the repository may have additional mirrors that could be consulted.
- */
- public static int CODE_RETRY = 13;
-
- /**
- * Add the given descriptor to the set of descriptors in this repository. This is
- * a relatively low-level operation that should be used only when the actual related
- * content is in this repository and the given descriptor accurately describes
- * that content.
- * @param descriptor the descriptor to add.
- */
- public void addDescriptor(IArtifactDescriptor descriptor);
-
- /**
- * Add the given artifact descriptors to this repository
- * @param descriptors the artifact descriptors to add
- */
- public void addDescriptors(IArtifactDescriptor[] descriptors);
-
- /**
- * Returns true if this repository contains the given descriptor.
- * @param descriptor the descriptor to query
- * @return true if the given descriptor is already in this repository
- */
- public boolean contains(IArtifactDescriptor descriptor);
-
- /**
- * Returns true if this repository contains the given artifact key.
- * @param key the key to query
- * @return true if the given key is already in this repository
- */
- public boolean contains(IArtifactKey key);
-
- /**
- * Fill the given stream with the described artifact. Sets status accordingly.
- */
- public IStatus getArtifact(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor);
-
- /**
- * Return the set of artifact descriptors describing the ways that this repository
- * can supply the artifact associated with the given artifact key
- * @param key the artifact key to lookup
- * @return the descriptors associated with the given key
- */
- public IArtifactDescriptor[] getArtifactDescriptors(IArtifactKey key);
-
- /**
- * Returns the list of artifact keys managed by this repository
- * @return list of artifact keys
- */
- public IArtifactKey[] getArtifactKeys();
-
- /**
- * Executes the given artifact requests on this byte server.
- * @param requests The artifact requests
- * @param monitor
- * @return a status object that is <code>OK</code> if requests were
- * processed successfully. Otherwise, a status indicating information,
- * warnings, or errors that occurred while executing the artifact requests
- */
- public IStatus getArtifacts(IArtifactRequest[] requests, IProgressMonitor monitor);
-
- /**
- * Open an output stream to which a client can write the data for the given
- * artifact descriptor.
- * @param descriptor the descriptor describing the artifact data to be written to the
- * resultant stream
- * @return the stream to which the artifact content can be written. The returned output
- * stream may implement <code>IStateful</code>.
- * @throws ProvisionException if the output stream could not be created. Reasons include:
- * <ul>
- * <li>An I/O exception occurred (@link {@link ProvisionException#REPOSITORY_FAILED_WRITE}) .</li>
- * <li>An artifact already exists at that location ({@link ProvisionException#ARTIFACT_EXISTS}).</li>
- * </ul>
- */
- public OutputStream getOutputStream(IArtifactDescriptor descriptor) throws ProvisionException;
-
- /**
- * Remove the all keys, descriptors, and contents from this repository.
- */
- public void removeAll();
-
- /**
- * Remove the given descriptor and its corresponding content in this repository.
- * @param descriptor the descriptor to remove.
- */
- public void removeDescriptor(IArtifactDescriptor descriptor);
-
- /**
- * Remove the given key and all related content and descriptors from this repository.
- * @param key the key to remove.
- */
- public void removeDescriptor(IArtifactKey key);
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/IArtifactRepositoryManager.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/IArtifactRepositoryManager.java
deleted file mode 100644
index a0c9c57..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/IArtifactRepositoryManager.java
+++ /dev/null
@@ -1,269 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.artifact.repository;
-
-import java.net.URL;
-import java.util.Map;
-import java.util.Properties;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.RepositoryEvent;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-
-/**
- * The metadata repository manager is used to create, access, and manipulate
- * {@link IArtifactRepository} instances. The manager keeps track of a
- * set of known repositories, and provides caching of these known repositories
- * to avoid unnecessary loading of repositories from the disk or network. The
- * manager fires {@link RepositoryEvent}s when the set of known repositories
- * changes.
- *
- * @noimplement This interface is not intended to be implemented by clients.
- */
-public interface IArtifactRepositoryManager {
- public static final IArtifactRequest[] NO_ARTIFACT_REQUEST = new IArtifactRequest[0];
-
- /**
- * Constant used to indicate that all repositories are of interest.
- * @see #getKnownRepositories(int)
- */
- public static final int REPOSITORIES_ALL = 0;
-
- /**
- * Constant used to indicate that system repositories are of interest.
- * @see IRepository#PROP_SYSTEM
- * @see #getKnownRepositories(int)
- */
- public static final int REPOSITORIES_SYSTEM = 1 << 0;
-
- /**
- * Constant used to indicate that non-system repositories are of interest
- * @see IRepository#PROP_SYSTEM
- * @see #getKnownRepositories(int)
- */
- public static final int REPOSITORIES_NON_SYSTEM = 1 << 1;
-
- /**
- * Constant used to indicate that local repositories are of interest.
- * @see #getKnownRepositories(int)
- */
- public static final int REPOSITORIES_LOCAL = 1 << 2;
-
- /**
- * Constant used to indicate that disabled repositories are of interest.
- * @see #getKnownRepositories(int)
- */
- public static final int REPOSITORIES_DISABLED = 1 << 3;
-
- /**
- * Repository type for a simple repository based on a URL or local file system location.
- */
- public static final String TYPE_SIMPLE_REPOSITORY = "org.eclipse.equinox.p2.artifact.repository.simpleRepository"; //$NON-NLS-1$
-
- /**
- * Adds a repository to the list of artifact repositories tracked by the repository
- * manager.
- *
- * @param location The location of the artifact repository to add
- */
- public void addRepository(URL location);
-
- /**
- * Return a new request to download the given artifact and store it at the given destination.
- * @param key the artifact to download
- * @param destination the destination where the artifact will be stored
- * @return the newly created request object
- */
- public IArtifactRequest createDownloadRequest(IArtifactKey key, IPath destination);
-
- /**
- * Return a new request to mirror the given artifact into the destination repository.
- * @param key the artifact to mirror
- * @param destination the destination where the artifact will be mirrored
- * @return the newly created request object
- */
- public IArtifactRequest createMirrorRequest(IArtifactKey key, IArtifactRepository destination);
-
- /**
- * Return a new request to mirror the given artifact into the destination repository.
- * @param key the artifact to mirror
- * @param destination the destination where the artifact will be mirrored
- * @param destinationDescriptorProperties additional properties for use in creating the repositor's ArtifactDescriptor
- * @param destinationRepositoryProperties additional repository specific properties for use in creating the repositor's ArtifactDescriptor
- * @return the newly created request object
- */
- public IArtifactRequest createMirrorRequest(IArtifactKey key, IArtifactRepository destination, Properties destinationDescriptorProperties, Properties destinationRepositoryProperties);
-
- /**
- * Creates and returns a new empty artifact repository of the given type at
- * the given location.
- * <p>
- * The resulting repository is added to the list of repositories tracked by
- * the repository manager. Clients must make a subsequent call to {@link #removeRepository(URL)}
- * if they do not want the repository manager to remember the repository for subsequent
- * load attempts.
- * </p>
- *
- * @param location the location for the new repository
- * @param name the name of the new repository
- * @param type the kind of repository to create
- * @param properties the properties to set on the repository
- * @return the newly created repository
- * @throws ProvisionException if the repository could not be created. Reasons include:
- * <ul>
- * <li>The repository type is unknown.</li>
- * <li>There was an error writing to the given repository location.</li>
- * <li>A repository already exists at that location.</li>
- * </ul>
- */
- public IArtifactRepository createRepository(URL location, String name, String type, Map properties) throws ProvisionException;
-
- /**
- * Returns the artifact repository locations known to the repository manager.
- * <p>
- * Note that the repository manager does not guarantee that a valid repository
- * exists at any of the returned locations at any particular moment in time.
- * A subsequent attempt to load a repository at any of the given locations may
- * or may not succeed.
- *
- * @param flags an integer bit-mask indicating which repositories should be
- * returned. <code>REPOSITORIES_ALL</code> can be used as the mask when
- * all enabled repositories should be returned.
- *
- * @return the locations of the repositories managed by this repository manager.
- *
- * @see #REPOSITORIES_ALL
- * @see #REPOSITORIES_SYSTEM
- * @see #REPOSITORIES_NON_SYSTEM
- * @see #REPOSITORIES_LOCAL
- * @see #REPOSITORIES_DISABLED
- */
- public URL[] getKnownRepositories(int flags);
-
- /**
- * Returns the property associated with the repository at the given URL,
- * without loading the repository.
- * <p>
- * Note that some properties for a repository can only be
- * determined when that repository is loaded. This method will return <code>null</code>
- * for such properties. Only values for the properties that are already
- * known by a repository manager will be returned.
- * <p>
- * If a client wishes to retrieve a property value from a repository
- * regardless of the cost of retrieving it, the client should load the
- * repository and then retrieve the property from the repository itself.
- *
- * @param location the URL of the repository in question
- * @param key the String key of the property desired
- * @return the value of the property, or <code>null</code> if the repository
- * does not exist, the value does not exist, or the property value
- * could not be determined without loading the repository.
- *
- * @see #loadRepository(URL, IProgressMonitor)
- * @see IRepository#getProperties()
- *
- */
- public String getRepositoryProperty(URL location, String key);
-
- /**
- * Returns the enablement value of a repository. Disabled repositories are known
- * to the repository manager, but are never used in the context of provisioning
- * operation. Disabled repositories are useful as a form of bookmark to indicate that a
- * repository location is of interest, but not currently used.
- * <p>
- * Note that enablement is a property of the repository manager and not a property
- * of the affected repository. The enablement of the repository is discarded when
- * a repository is removed from the repository manager.
- *
- * @param location The location of the repository whose enablement is requested
- * @return <code>true</code> if the repository is enabled, and
- * <code>false</code> if it is not enabled, or if the repository location
- * is not known to the repository manager.
- * @see #REPOSITORIES_DISABLED
- * @see #setEnabled(URL, boolean)
- */
- public boolean isEnabled(URL location);
-
- /**
- * Loads the repository at the given location. The location is expected to contain
- * data that describes a valid artifact repository of a known type. If this manager
- * already knows a repository at the given location then that repository is returned.
- * <p>
- * The resulting repository is added to the list of repositories tracked by
- * the repository manager. Clients must make a subsequent call to {@link #removeRepository(URL)}
- * if they do not want the repository manager to remember the repository for subsequent
- * load attempts.
- * </p>
- *
- * @param location the location in which to look for a repository description
- * @param monitor a progress monitor, or <code>null</code> if progress
- * reporting is not desired
- * @return a repository object for the given location
- * @throws ProvisionException if the repository could not be created. Reasons include:
- * <ul>
- * <li>There is no existing repository at that location.</li>
- * <li>The repository at that location could not be read.</li>
- * </ul>
- */
- public IArtifactRepository loadRepository(URL location, IProgressMonitor monitor) throws ProvisionException;
-
- /**
- * Refreshes the repository corresponding to the given URL. This method discards
- * any cached state held by the repository manager and reloads the repository
- * contents. The provided repository location must already be known to the repository
- * manager.
- *
- * @param location The location of the repository to refresh
- * @param monitor a progress monitor, or <code>null</code> if progress
- * reporting is not desired
- * @return The refreshed metadata repository
- * @throws ProvisionException if the repository could not be created. Reasons include:
- * <ul>
- * <li>The location is not known to the repository manager.</li>
- * <li>There is no existing repository at that location.</li>
- * <li>The repository at that location could not be read.</li>
- * </ul>
- */
- public IArtifactRepository refreshRepository(URL location, IProgressMonitor monitor) throws ProvisionException;
-
- /**
- * Remove the given repository from this manager. Do nothing if the repository
- * is not currently managed.
- *
- * @param location the location of the repository to remove
- * @return <code>true</code> if a repository was removed, and
- * <code>false</code> otherwise.
- */
- public boolean removeRepository(URL location);
-
- /**
- * Sets the enablement of a repository. Disabled repositories are known
- * to the repository manager, but are never used in the context of provisioning
- * operation. Disabled repositories are useful as a form of bookmark to indicate that a
- * repository location is of interest, but not currently used.
- * <p>
- * Note that enablement is a property of the repository manager and not a property
- * of the affected repository. The enablement of the repository is discarded when
- * a repository is removed from the repository manager.
- * <p>
- * This method has no effect if the given repository location is not known to the
- * repository manager.
- *
- * @param location The location of the repository to enable or disable
- * @param enablement <code>true</code>to enable the repository, and
- * <code>false</code> to disable the repository
- * @see #REPOSITORIES_DISABLED
- * @see #isEnabled(URL)
- */
- public void setEnabled(URL location, boolean enablement);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/IArtifactRequest.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/IArtifactRequest.java
deleted file mode 100644
index 6ed1272..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/IArtifactRequest.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.artifact.repository;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.artifact.repository.ArtifactRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-
-/**
- * This interface is not intended to be implemented by clients
- */
-public interface IArtifactRequest {
-
- public IArtifactKey getArtifactKey();
-
- /**
- * Returns the result of the previous call to {@link ArtifactRequest#perform(IProgressMonitor)},
- * or <code>null</code> if perform has never been called.
- *
- * @return The result of the previous perform call.
- */
- public IStatus getResult();
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/IFileArtifactRepository.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/IFileArtifactRepository.java
deleted file mode 100644
index 6e6e07b..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/IFileArtifactRepository.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.artifact.repository;
-
-import java.io.File;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-
-public interface IFileArtifactRepository extends IArtifactRepository {
- /**
- * Return the location of the full local file corresponding to the given
- * artifact key to the given key, or <code>null</code> if not available.
- *
- * @return the location of the requested artifact or<code>null</code> if not available
- */
- public File getArtifactFile(IArtifactKey key);
-
- /**
- * Return the location of the local file corresponding to the given
- * artifact descriptor, or <code>null</code> if not available.
- *
- * @return the location of the requested descriptor or<code>null</code> if not available
- */
- public File getArtifactFile(IArtifactDescriptor descriptor);
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/IStateful.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/IStateful.java
deleted file mode 100644
index 1e2d7f1..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/IStateful.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 compeople AG and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * compeople AG (Stefan Liebig) - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.artifact.repository;
-
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * Implementing <code>IStateful</code> adds the ability to store status information.
- */
-public interface IStateful {
-
- /**
- * Set the status.
- *
- * @param status if status equals null => getStatus().isOK
- */
- void setStatus(IStatus status);
-
- /**
- * Get status.
- * @return status
- */
- public IStatus getStatus();
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/Messages.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/Messages.java
deleted file mode 100644
index e81dc26..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/Messages.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.messages"; //$NON-NLS-1$
- public static String ZipVerifierStep_invalid_archive;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/ProcessingStep.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/ProcessingStep.java
deleted file mode 100644
index d1eab65..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/ProcessingStep.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2007 compeople AG and others.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-*
-* Contributors:
-* compeople AG (Stefan Liebig) - initial API and implementation
-* IBM Corporation - continuing development
-*******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactDescriptor;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IStateful;
-
-/**
- * ProcessingSteps process the data written to them and pass the resultant data on
- * to a configured destination stream. Steps may monitor (e.g., count) the data, compute information
- * about the data (e.g., checksum or hash) or transform the data (e.g., unpack200).
- */
-public abstract class ProcessingStep extends OutputStream implements IStateful {
-
- private OutputStream destination;
- private IProgressMonitor monitor;
- private IStatus status = Status.OK_STATUS;
-
- protected ProcessingStep() {
- super();
- }
-
- /**
- * Initialize this processing step according to the information in the given
- * descriptor and context. After initialization, this step is ready for linking
- * with other steps or output streams
- * @param descriptor description of the step
- * @param context the context in which the step is being used
- */
- public void initialize(ProcessingStepDescriptor descriptor, IArtifactDescriptor context) {
- // nothing to do here!
- }
-
- /**
- * Link this step with the given output stream and configure the step to use the given
- * progress monitor. After linking the step is ready to have data written to it.
- * @param destination the stream into which to write the processed data
- * @param monitor the progress monitor to use for reporting activity
- */
- public void link(OutputStream destination, IProgressMonitor monitor) {
- this.destination = destination;
- this.monitor = monitor;
- }
-
- /**
- * Process the given byte and pass the result on to the configured destination stream
- * @param b the byte being written
- */
- public void write(int b) throws IOException {
- // nothing to do here!
- }
-
- /**
- * Flush any unwritten data from this stream.
- */
- public void flush() throws IOException {
- super.flush();
- if (destination != null)
- destination.flush();
- }
-
- /**
- * Close this stream and, if the configured destination is a ProcessingStep,
- * close it as well. Typically a chain of steps terminates in a conventional
- * output stream. Implementors of this method should ensure they set the
- * status of the step.
- */
- public void close() throws IOException {
- super.close();
- if (destination instanceof ProcessingStep)
- destination.close();
- monitor = null;
- }
-
- public IStatus getStatus() {
- return status;
- }
-
- public void setStatus(IStatus value) {
- if (value == null)
- value = Status.OK_STATUS;
- if (status != null && status.getSeverity() >= value.getSeverity())
- return;
- status = value;
- }
-
- /**
- * Get the progress monitor.
- * @return the progress monitor; may be null
- */
- protected IProgressMonitor getProgressMonitor() {
- return monitor;
- }
-
- /**
- * Get the stream to write the processed data into.
- *
- * @return output stream for processed data
- */
- protected OutputStream getDestination() {
- return destination;
- }
-
- /**
- * Return the status of this step. The status will be <code>null</code> if the
- * step has not yet executed. If the step has executed the returned status
- * indicates the success or failure of the step.
- * @param deep whether or not to aggregate the status of any linked steps
- * @return the requested status
- */
- public IStatus getStatus(boolean deep) {
- return ProcessingStepHandler.getStatus(this, deep);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/ProcessingStepDescriptor.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/ProcessingStepDescriptor.java
deleted file mode 100644
index 4320fb0..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/ProcessingStepDescriptor.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2007 compeople AG and others.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-*
-* Contributors:
-* compeople AG (Stefan Liebig) - initial API and implementation
-*******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing;
-
-/**
- * The description of a processor step.
- */
-public class ProcessingStepDescriptor {
-
- private final String processorId; //the operation to be applied (e.g: unpack, md5, signature verification, etc.)
- private final String data; //data requested for the processing (eg. expected checksum)
- private final boolean required; //whether the step is optional or not
-
- /**
- * Create a processing step description.
- *
- * @param processorId
- * @param data
- * @param required
- */
- public ProcessingStepDescriptor(String processorId, String data, boolean required) {
- super();
- this.processorId = processorId;
- this.data = data;
- this.required = required;
- }
-
- public String getProcessorId() {
- return processorId;
- }
-
- public String getData() {
- return data;
- }
-
- public boolean isRequired() {
- return required;
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#hashCode()
- */
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((data == null) ? 0 : data.hashCode());
- result = prime * result + ((processorId == null) ? 0 : processorId.hashCode());
- result = prime * result + (required ? 1231 : 1237);
- return result;
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#equals(java.lang.Object)
- */
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (!(obj instanceof ProcessingStepDescriptor))
- return false;
- final ProcessingStepDescriptor other = (ProcessingStepDescriptor) obj;
- if (data == null) {
- if (other.data != null)
- return false;
- } else if (!data.equals(other.data))
- return false;
- if (processorId == null) {
- if (other.processorId != null)
- return false;
- } else if (!processorId.equals(other.processorId))
- return false;
- if (required != other.required)
- return false;
- return true;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/ProcessingStepHandler.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/ProcessingStepHandler.java
deleted file mode 100644
index 3b29aff..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/ProcessingStepHandler.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2007, 2008 compeople AG and others.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-*
-* Contributors:
-* compeople AG (Stefan Liebig) - initial API and implementation
-* IBM - continuing development
-*******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing;
-
-import java.io.OutputStream;
-import java.util.ArrayList;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.artifact.repository.Activator;
-import org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.ArtifactOutputStream;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactDescriptor;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IStateful;
-
-/**
- * Creates processing step instances from extensions and executes them.
- */
-public class ProcessingStepHandler {
-
- private static final String PROCESSING_STEPS_EXTENSION_ID = "org.eclipse.equinox.p2.artifact.repository.processingSteps"; //$NON-NLS-1$
- //TODO This method can go
- public static IStatus checkStatus(OutputStream output) {
- return getStatus(output, true);
- }
-
- /**
- * Check to see that we have processors for all the steps in the given descriptor
- * @param descriptor the descriptor to check
- * @return whether or not processors for all the descriptor's steps are installed
- */
- public static boolean canProcess(IArtifactDescriptor descriptor) {
- IExtensionRegistry registry = RegistryFactory.getRegistry();
- IExtensionPoint point = registry.getExtensionPoint(PROCESSING_STEPS_EXTENSION_ID);
- if (point == null)
- return false;
- ProcessingStepDescriptor[] steps = descriptor.getProcessingSteps();
- for (int i = 0; i < steps.length; i++) {
- if (point.getExtension(steps[i].getProcessorId()) == null)
- return false;
- }
- return true;
- }
-
- /**
- * Return the status of this step. The status will be <code>null</code> if the
- * step has not yet executed. If the step has executed the returned status
- * indicates the success or failure of the step.
- * @param deep whether or not to aggregate the status of any linked steps
- * @return the requested status
- */
- public static IStatus getStatus(OutputStream stream, boolean deep) {
- if (!deep)
- return getStatus(stream);
- ArrayList list = new ArrayList();
- int severity = collectStatus(stream, list);
- if (severity == IStatus.OK)
- return Status.OK_STATUS;
- IStatus[] result = (IStatus[]) list.toArray(new IStatus[list.size()]);
- return new MultiStatus(Activator.ID, severity, result, "Result of processing steps", null);
- }
-
- public static IStatus getStatus(OutputStream stream) {
- if (stream instanceof IStateful)
- return ((IStateful) stream).getStatus();
- return Status.OK_STATUS;
- }
-
- private static int collectStatus(OutputStream stream, ArrayList list) {
- IStatus status = getStatus(stream);
- list.add(status);
- OutputStream destination = getDestination(stream);
- if (destination == null || !(destination instanceof IStateful))
- return status.getSeverity();
- int result = collectStatus(destination, list);
- // TODO greater than test here is a little brittle but it is very unlikely that we will add
- // a new status severity.
- return status.getSeverity() > result ? status.getSeverity() : result;
- }
-
- private static OutputStream getDestination(OutputStream stream) {
- if (stream instanceof ProcessingStep)
- return ((ProcessingStep) stream).getDestination();
- if (stream instanceof ArtifactOutputStream)
- return ((ArtifactOutputStream) stream).getDestination();
- return null;
- }
-
- public ProcessingStep[] create(ProcessingStepDescriptor[] descriptors, IArtifactDescriptor context) {
- ProcessingStep[] result = new ProcessingStep[descriptors.length];
- for (int i = 0; i < descriptors.length; i++)
- result[i] = create(descriptors[i], context);
- return result;
- }
-
- public ProcessingStep create(ProcessingStepDescriptor descriptor, IArtifactDescriptor context) {
- IExtensionRegistry registry = RegistryFactory.getRegistry();
- IExtension extension = registry.getExtension(PROCESSING_STEPS_EXTENSION_ID, descriptor.getProcessorId());
- Exception error;
- if (extension != null) {
- IConfigurationElement[] config = extension.getConfigurationElements();
- try {
- Object object = config[0].createExecutableExtension("class"); //$NON-NLS-1$
- ProcessingStep step = (ProcessingStep) object;
- step.initialize(descriptor, context);
- return step;
- } catch (Exception e) {
- error = e;
- }
- } else
- error = new ProcessingStepHandlerException("Could not get extension " + PROCESSING_STEPS_EXTENSION_ID + " for desriptor id " + descriptor.getProcessorId());
-
- int severity = descriptor.isRequired() ? IStatus.ERROR : IStatus.INFO;
- ProcessingStep result = new EmptyProcessingStep();
- result.setStatus(new Status(severity, Activator.ID, "Could not instantiate step:" + descriptor.getProcessorId(), error));
- return result;
- }
-
- public OutputStream createAndLink(ProcessingStepDescriptor[] descriptors, IArtifactDescriptor context, OutputStream output, IProgressMonitor monitor) {
- if (descriptors == null)
- return output;
- ProcessingStep[] steps = create(descriptors, context);
- return link(steps, output, monitor);
- }
-
- public OutputStream link(ProcessingStep[] steps, OutputStream output, IProgressMonitor monitor) {
- OutputStream previous = output;
- for (int i = steps.length - 1; i >= 0; i--) {
- ProcessingStep step = steps[i];
- step.link(previous, monitor);
- previous = step;
- }
- if (steps.length == 0)
- return previous;
- // now link the artifact stream to the first stream in the new chain
- ArtifactOutputStream lastLink = getArtifactStream(previous);
- if (lastLink != null)
- lastLink.setFirstLink(previous);
- return previous;
- }
-
- // Traverse the chain of processing steps and return the stream served up by
- // the artifact repository or null if one cannot be found.
- private ArtifactOutputStream getArtifactStream(OutputStream stream) {
- OutputStream current = stream;
- while (current instanceof ProcessingStep)
- current = ((ProcessingStep) current).getDestination();
- if (current instanceof ArtifactOutputStream)
- return (ArtifactOutputStream) current;
- return null;
- }
-
- protected static final class EmptyProcessingStep extends ProcessingStep {
- // Just to hold the status
- }
-
- protected static final class ProcessingStepHandlerException extends Exception {
- private static final long serialVersionUID = 1L;
-
- public ProcessingStepHandlerException(String message) {
- super(message);
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/ZipVerifierStep.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/ZipVerifierStep.java
deleted file mode 100644
index a649b0c..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/ZipVerifierStep.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing;
-
-import java.io.IOException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.artifact.repository.Activator;
-
-public class ZipVerifierStep extends ProcessingStep {
- static final int[] ZIP_HEADER = new int[] {0x50, 0x4b, 0x03, 0x04};
-
- private int valid = 0; //-1 indicates that it is not a zip, >3 indicates that we are done the verification
-
- public void write(int b) throws IOException {
- getDestination().write(b);
- if (valid > 3)
- return;
- if (valid == -1) {
- return;
- }
- if (b != ZIP_HEADER[valid++]) {
- valid = -1;
- setStatus(new Status(IStatus.ERROR, Activator.ID, Messages.ZipVerifierStep_invalid_archive));
- return;
- }
- }
-
- public void close() throws IOException {
- if (valid > 3) {
- setStatus(Status.OK_STATUS);
- } else {
- setStatus(new Status(IStatus.ERROR, Activator.ID, Messages.ZipVerifierStep_invalid_archive));
- }
- super.close();
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/messages.properties b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/messages.properties
deleted file mode 100644
index 5027daf..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/messages.properties
+++ /dev/null
@@ -1 +0,0 @@
-ZipVerifierStep_invalid_archive=Downloaded stream not a valid archive. Check the server.
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/artifact/repository/AbstractArtifactRepository.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/artifact/repository/AbstractArtifactRepository.java
deleted file mode 100644
index a84c85a..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/artifact/repository/AbstractArtifactRepository.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository;
-
-import java.io.OutputStream;
-import java.net.URL;
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.artifact.repository.Activator;
-import org.eclipse.equinox.internal.p2.artifact.repository.Messages;
-import org.eclipse.equinox.internal.p2.core.helpers.URLUtil;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.internal.provisional.spi.p2.core.repository.AbstractRepository;
-import org.eclipse.osgi.util.NLS;
-
-public abstract class AbstractArtifactRepository extends AbstractRepository implements IArtifactRepository {
-
- protected AbstractArtifactRepository(String name, String type, String version, URL location, String description, String provider, Map properties) {
- super(name, type, version, location, description, provider, properties);
- }
-
- public abstract boolean contains(IArtifactDescriptor descriptor);
-
- public abstract boolean contains(IArtifactKey key);
-
- public abstract IStatus getArtifact(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor);
-
- public abstract IArtifactDescriptor[] getArtifactDescriptors(IArtifactKey key);
-
- public abstract IArtifactKey[] getArtifactKeys();
-
- public abstract IStatus getArtifacts(IArtifactRequest[] requests, IProgressMonitor monitor);
-
- public OutputStream getOutputStream(IArtifactDescriptor descriptor) throws ProvisionException {
- if (!isModifiable())
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.repoReadOnly, getLocation().toExternalForm())));
- return null;
- }
-
- public void addDescriptor(IArtifactDescriptor descriptor) {
- assertModifiable();
- }
-
- public void addDescriptors(IArtifactDescriptor[] descriptors) {
- assertModifiable();
- }
-
- public void removeDescriptor(IArtifactDescriptor descriptor) {
- assertModifiable();
- }
-
- public void removeDescriptor(IArtifactKey key) {
- assertModifiable();
- }
-
- public void removeAll() {
- assertModifiable();
- }
-
- public boolean equals(Object o) {
- if (this == o) {
- return true;
- }
- if (!(o instanceof AbstractArtifactRepository)) {
- return false;
- }
- if (URLUtil.sameURL(getLocation(), ((AbstractArtifactRepository) o).getLocation()))
- return true;
- return false;
- }
-
- public int hashCode() {
- return (this.getLocation().toString().hashCode()) * 87;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/artifact/repository/IArtifactRepositoryFactory.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/artifact/repository/IArtifactRepositoryFactory.java
deleted file mode 100644
index 0e7f50b..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/artifact/repository/IArtifactRepositoryFactory.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository;
-
-import java.net.URL;
-import java.util.Map;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepository;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-
-public interface IArtifactRepositoryFactory {
-
- /**
- * Creates and returns a new empty artifact repository of the given type at
- * the given location.
- *
- * @param location the location for the new repository
- * @param name the name of the new repository
- * @param type the kind of repository to create
- * @param properties the properties to set on the repository
- * @return the newly created repository
- * @throws ProvisionException if the repository could not be created. Reasons include:
- * <ul>
- * <li>The repository type is unknown.</li>
- * <li>There was an error writing to the given repository location.</li>
- * <li>A repository already exists at that location.</li>
- * </ul>
- */
- public IArtifactRepository create(URL location, String name, String type, Map properties) throws ProvisionException;
-
- /**
- * Loads the repository at the given location. The location is expected to contain
- * data that describes a valid artifact repository of a known type. If this manager
- * already knows a repository at the given location then that repository is returned.
- *
- * @param location the location in which to look for a repository description
- * @param monitor a progress monitor, or <code>null</code> if progress
- * reporting is not desired
- * @return a repository object for the given location
- * @throws ProvisionException if the repository could not be created. Reasons include:
- * <ul>
- * <li>There is no existing repository at that location.</li>
- * <li>The repository at that location could not be read.</li>
- * </ul>
- */
- public IArtifactRepository load(URL location, IProgressMonitor monitor) throws ProvisionException;
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/artifact/repository/SimpleArtifactRepositoryFactory.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/artifact/repository/SimpleArtifactRepositoryFactory.java
deleted file mode 100644
index 639386d..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/artifact/repository/SimpleArtifactRepositoryFactory.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository;
-
-import java.io.*;
-import java.net.URL;
-import java.util.Map;
-import java.util.jar.JarEntry;
-import java.util.jar.JarInputStream;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.artifact.repository.*;
-import org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository;
-import org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepositoryIO;
-import org.eclipse.equinox.internal.p2.core.helpers.Tracing;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepository;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.osgi.util.NLS;
-
-public class SimpleArtifactRepositoryFactory implements IArtifactRepositoryFactory {
-
- public IArtifactRepository load(URL location, IProgressMonitor monitor) throws ProvisionException {
- final String PROTOCOL_FILE = "file"; //$NON-NLS-1$
- long time = 0;
- final String debugMsg = "Restoring artifact repository "; //$NON-NLS-1$
- if (Tracing.DEBUG_METADATA_PARSING) {
- Tracing.debug(debugMsg + location);
- time = -System.currentTimeMillis();
- }
- File localFile = null;
- boolean local = false;
- try {
- SubMonitor sub = SubMonitor.convert(monitor, 300);
- OutputStream artifacts = null;
- // try with compressed
- boolean compress = true;
- if (PROTOCOL_FILE.equals(location.getProtocol())) {
- local = true;
- localFile = new File(SimpleArtifactRepository.getActualLocation(location, true).getPath());
- if (!localFile.exists()) {
- localFile = new File(SimpleArtifactRepository.getActualLocation(location, false).getPath());
- compress = false;
- }
- } else {
- //download to local temp file
- localFile = File.createTempFile("artifacts", ".xml"); //$NON-NLS-1$ //$NON-NLS-2$
- try {
- artifacts = new BufferedOutputStream(new FileOutputStream(localFile));
- IStatus status = getTransport().download(SimpleArtifactRepository.getActualLocation(location, compress).toExternalForm(), artifacts, sub.newChild(100));
- if (!status.isOK()) {
- // retry uncompressed
- compress = false;
- status = getTransport().download(SimpleArtifactRepository.getActualLocation(location, compress).toExternalForm(), artifacts, sub.newChild(100));
- if (!status.isOK())
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, status.getMessage(), null));
- }
- } finally {
- if (artifacts != null)
- artifacts.close();
- }
- }
- InputStream descriptorStream = null;
- try {
- descriptorStream = new BufferedInputStream(new FileInputStream(localFile));
- if (compress) {
- URL actualFile = SimpleArtifactRepository.getActualLocation(location, false);
- JarInputStream jInStream = new JarInputStream(descriptorStream);
- JarEntry jarEntry = jInStream.getNextJarEntry();
- String filename = new Path(actualFile.getFile()).lastSegment();
- while (jarEntry != null && !(filename.equals(jarEntry.getName()))) {
- jarEntry = jInStream.getNextJarEntry();
- }
- if (jarEntry == null) {
- throw new FileNotFoundException("Repository not found in " + actualFile.getPath()); //$NON-NLS-1$
- }
- descriptorStream = jInStream;
- }
- SimpleArtifactRepositoryIO io = new SimpleArtifactRepositoryIO();
- SimpleArtifactRepository result = (SimpleArtifactRepository) io.read(localFile.toURL(), descriptorStream, sub.newChild(100));
- result.initializeAfterLoad(location);
- if (Tracing.DEBUG_METADATA_PARSING) {
- time += System.currentTimeMillis();
- Tracing.debug(debugMsg + "time (ms): " + time); //$NON-NLS-1$
- }
- return result;
- } finally {
- if (descriptorStream != null)
- descriptorStream.close();
- }
- } catch (FileNotFoundException e) {
- String msg = NLS.bind(Messages.io_failedRead, location);
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, msg, e));
- } catch (IOException e) {
- String msg = NLS.bind(Messages.io_failedRead, location);
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_READ, msg, e));
- } finally {
- if (!local && localFile != null && !localFile.delete())
- localFile.deleteOnExit();
- }
- }
-
- public IArtifactRepository create(URL location, String name, String type, Map properties) {
- return new SimpleArtifactRepository(name, location, properties);
- }
-
- private Transport getTransport() {
- return ECFTransport.getInstance();
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.console/.classpath b/bundles/org.eclipse.equinox.p2.console/.classpath
deleted file mode 100644
index 7cdeb73..0000000
--- a/bundles/org.eclipse.equinox.p2.console/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.1%Foundation-1.1"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.console/.project b/bundles/org.eclipse.equinox.p2.console/.project
deleted file mode 100644
index 55fbe7f..0000000
--- a/bundles/org.eclipse.equinox.p2.console/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.equinox.p2.console</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.console/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.console/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index a455b62..0000000
--- a/bundles/org.eclipse.equinox.p2.console/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,340 +0,0 @@
-#Thu Sep 13 22:02:41 EDT 2007
-eclipse.preferences.version=1
-instance/org.eclipse.core.net/org.eclipse.core.net.hasMigrated=true
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.console/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.console/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index b61b6ad..0000000
--- a/bundles/org.eclipse.equinox.p2.console/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:57:44 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.console/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.console/META-INF/MANIFEST.MF
deleted file mode 100644
index 1eac3ab..0000000
--- a/bundles/org.eclipse.equinox.p2.console/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,29 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.console;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.equinox.internal.p2.console.Activator
-Eclipse-LazyStart: true
-Export-Package: org.eclipse.equinox.internal.p2.console;x-friends:="org.eclipse.equinox.p2.director.app,org.eclipse.equinox.p2.tools"
-Import-Package: org.eclipse.core.runtime;common=split,
- org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.provisional.configurator,
- org.eclipse.equinox.internal.provisional.p2.artifact.repository,
- org.eclipse.equinox.internal.provisional.p2.core,
- org.eclipse.equinox.internal.provisional.p2.core.repository,
- org.eclipse.equinox.internal.provisional.p2.director,
- org.eclipse.equinox.internal.provisional.p2.engine,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.internal.provisional.p2.metadata.query,
- org.eclipse.equinox.internal.provisional.p2.metadata.repository,
- org.eclipse.equinox.internal.provisional.p2.query,
- org.eclipse.osgi.framework.console;version="1.0.0";resolution:=optional,
- org.eclipse.osgi.service.environment;version="1.0.0",
- org.eclipse.osgi.service.resolver;version="1.1.0",
- org.osgi.framework;version="1.4.0",
- org.osgi.util.tracker;version="1.3.3"
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
- J2SE-1.4
diff --git a/bundles/org.eclipse.equinox.p2.console/Provisioning console.launch b/bundles/org.eclipse.equinox.p2.console/Provisioning console.launch
deleted file mode 100644
index c4d8769..0000000
--- a/bundles/org.eclipse.equinox.p2.console/Provisioning console.launch
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
-<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="false"/>
-<stringAttribute key="configLocation" value="d:\tmp\selfhosting"/>
-<booleanAttribute key="default_auto_start" value="false"/>
-<intAttribute key="default_start_level" value="4"/>
-<booleanAttribute key="includeOptional" value="true"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-console -consolelog"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="target_bundles" value="org.eclipse.equinox.app*1.0.100.v20080303@default:default,org.eclipse.equinox.preferences*3.2.200.v20080201@default:default,javax.servlet*2.4.0.v200711021030@default:default,org.eclipse.core.runtime.compatibility.registry*3.2.200.v20070717@default:false,org.eclipse.core.runtime*3.4.0.v20080303@default:default,org.eclipse.core.jobs*3.3.100.v20080224@default:default,org.eclipse.core.net*1.0.100.I20080226@default:default,org.eclipse.equinox.common*3.4.0.v20080201@default:default,org.eclipse.osgi.services*3.1.200.v20071203@default:default,org.eclipse.osgi*3.4.0.v20080304@:,org.eclipse.core.runtime.compatibility.auth*3.2.100.v20070502@default:default,org.eclipse.equinox.registry*3.4.0.v20080201@default:default,org.eclipse.core.contenttype*3.3.0.v20080201@default:default"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfigArea" value="false"/>
-<stringAttribute key="workspace_bundles" value="org.eclipse.equinox.p2.metadata.generator*0.1.0.qualifier@default:default,org.eclipse.equinox.frameworkadmin*0.1.0.qualifier@default:default,org.sat4j.pb*2.0.0.v20080307@default:default,org.eclipse.equinox.p2.garbagecollector*0.1.0.qualifier@default:default,org.eclipse.equinox.p2.core*0.1.0.qualifier@default:default,org.eclipse.ecf.provider.filetransfer*1.6.0.qualifier@default:default,org.eclipse.equinox.p2.metadata*0.1.0.qualifier@default:default,org.eclipse.equinox.p2.exemplarysetup*0.1.0.qualifier@default:true,org.eclipse.equinox.p2.console*0.1.0.qualifier@default:true,org.eclipse.equinox.p2.touchpoint.eclipse*0.1.0.qualifier@default:default,org.eclipse.ecf*1.4.0.qualifier@default:default,org.eclipse.equinox.p2.artifact.repository*0.1.0.qualifier@default:default,org.eclipse.equinox.frameworkadmin.equinox*0.1.0.qualifier@default:true,org.eclipse.equinox.p2.metadata.repository*0.1.0.qualifier@default:default,org.sat4j.core*2.0.0.v20080307@default:default,org.eclipse.equinox.simpleconfigurator.manipulator*0.1.0.qualifier@default:default,org.eclipse.equinox.p2.director*0.1.0.qualifier@default:default,org.eclipse.equinox.p2.engine*0.1.0.qualifier@default:default,org.eclipse.ecf.filetransfer*2.0.0.qualifier@default:default,org.eclipse.equinox.p2.touchpoint.natives*0.1.0.qualifier@default:default,org.eclipse.equinox.simpleconfigurator*0.1.0.qualifier@1:true,org.eclipse.equinox.p2.jarprocessor*0.1.0.qualifier@default:default,org.eclipse.ecf.identity*1.3.0.qualifier@default:default"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.console/about.html b/bundles/org.eclipse.equinox.p2.console/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.console/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 2, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.console/build.properties b/bundles/org.eclipse.equinox.p2.console/build.properties
deleted file mode 100644
index a6b8330..0000000
--- a/bundles/org.eclipse.equinox.p2.console/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- about.html,\
- plugin.properties
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.p2.console/plugin.properties b/bundles/org.eclipse.equinox.p2.console/plugin.properties
deleted file mode 100644
index aebc3df..0000000
--- a/bundles/org.eclipse.equinox.p2.console/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Equinox Provisioning Console
-providerName = Eclipse.org
diff --git a/bundles/org.eclipse.equinox.p2.console/src/org/eclipse/equinox/internal/p2/console/Activator.java b/bundles/org.eclipse.equinox.p2.console/src/org/eclipse/equinox/internal/p2/console/Activator.java
deleted file mode 100644
index 78398a0..0000000
--- a/bundles/org.eclipse.equinox.p2.console/src/org/eclipse/equinox/internal/p2/console/Activator.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.console;
-
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfileRegistry;
-import org.osgi.framework.*;
-import org.osgi.util.tracker.ServiceTracker;
-import org.osgi.util.tracker.ServiceTrackerCustomizer;
-
-public class Activator implements BundleActivator, ServiceTrackerCustomizer {
- // The plug-in ID
- public static final String PLUGIN_ID = "org.eclipse.equinox.p2.console"; //$NON-NLS-1$
- private static final String PROVIDER_NAME = "org.eclipse.osgi.framework.console.CommandProvider"; //$NON-NLS-1$
- private static BundleContext context;
-
- private ServiceTracker profileTracker;
- private ProvCommandProvider provider;
- private ServiceRegistration providerRegistration = null;
-
- public static BundleContext getContext() {
- return context;
- }
-
- public Activator() {
- super();
- }
-
- public void start(BundleContext context) throws Exception {
- Activator.context = context;
- boolean registerCommands = true;
- try {
- Class.forName(PROVIDER_NAME);
- } catch (ClassNotFoundException e) {
- registerCommands = false;
- }
-
- if (registerCommands) {
- profileTracker = new ServiceTracker(context, IProfileRegistry.class.getName(), this);
- profileTracker.open();
- }
- }
-
- public void stop(BundleContext context) throws Exception {
- profileTracker.close();
- if (providerRegistration != null)
- providerRegistration.unregister();
- providerRegistration = null;
- Activator.context = null;
- }
-
- public Object addingService(ServiceReference reference) {
- BundleContext context = Activator.getContext();
- IProfileRegistry registry = (IProfileRegistry) context.getService(reference);
- provider = new ProvCommandProvider(context.getProperty("eclipse.p2.profile"), registry);
- providerRegistration = context.registerService(PROVIDER_NAME, provider, null);
- return registry;
- }
-
- public void modifiedService(ServiceReference reference, Object service) {
- // TODO Auto-generated method stub
- }
-
- public void removedService(ServiceReference reference, Object service) {
- if (providerRegistration != null)
- providerRegistration.unregister();
- providerRegistration = null;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.console/src/org/eclipse/equinox/internal/p2/console/ProvCommandProvider.java b/bundles/org.eclipse.equinox.p2.console/src/org/eclipse/equinox/internal/p2/console/ProvCommandProvider.java
deleted file mode 100644
index 7826ee3..0000000
--- a/bundles/org.eclipse.equinox.p2.console/src/org/eclipse/equinox/internal/p2/console/ProvCommandProvider.java
+++ /dev/null
@@ -1,401 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- * Band XI - add more commands
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.console;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfileRegistry;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.IUPropertyQuery;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.query.*;
-import org.eclipse.osgi.framework.console.CommandInterpreter;
-import org.eclipse.osgi.framework.console.CommandProvider;
-import org.eclipse.osgi.service.resolver.VersionRange;
-
-/**
- * An OSGi console command provider that adds various commands for interacting
- * with the provisioning system.
- */
-public class ProvCommandProvider implements CommandProvider {
- private static final String WILDCARD_ANY = "*"; //$NON-NLS-1$
- public static final String NEW_LINE = System.getProperty("line.separator", "\n"); //$NON-NLS-1$ //$NON-NLS-2$
-
- // private Profile profile;
-
- public ProvCommandProvider(String profileId, IProfileRegistry registry) {
- // look up the profile we are currently running and use it as the
- // default.
- // TODO define a way to spec the default profile to manage
- // if (profileId != null) {
- // profile = registry.getProfile(profileId);
- // if (profile != null)
- // return;
- // }
- // // A default was not defined so manage the first profile we can find
- // Profile[] profiles = registry.getProfiles();
- // if (profiles.length > 0)
- // profile = profiles[0];
- }
-
- /**
- * Adds a metadata repository.
- */
- public void _provaddrepo(CommandInterpreter interpreter) {
- String urlString = interpreter.nextArgument();
- if (urlString == null) {
- interpreter.print("Repository location must be provided");
- interpreter.println();
- return;
- }
- URL repoURL = toURL(interpreter, urlString);
- if (repoURL == null)
- return;
- if (ProvisioningHelper.addMetadataRepository(repoURL) == null)
- interpreter.println("Unable to add repository: " + repoURL);
- }
-
- public void _provdelrepo(CommandInterpreter interpreter) {
- String urlString = interpreter.nextArgument();
- if (urlString == null) {
- interpreter.print("Repository location must be provided");
- interpreter.println();
- return;
- }
- URL repoURL = toURL(interpreter, urlString);
- if (repoURL == null)
- return;
- ProvisioningHelper.removeMetadataRepository(repoURL);
- }
-
- public void _provaddartifactrepo(CommandInterpreter interpreter) {
- String urlString = interpreter.nextArgument();
- if (urlString == null) {
- interpreter.print("Repository location must be provided");
- interpreter.println();
- return;
- }
- URL repoURL = toURL(interpreter, urlString);
- if (repoURL == null)
- return;
- if (ProvisioningHelper.addArtifactRepository(repoURL) == null)
- interpreter.println("Unable to add repository: " + repoURL);
- }
-
- public void _provdelartifactrepo(CommandInterpreter interpreter) {
- String urlString = interpreter.nextArgument();
- if (urlString == null) {
- interpreter.print("Repository location must be provided");
- interpreter.println();
- return;
- }
- URL repoURL = toURL(interpreter, urlString);
- if (repoURL == null)
- return;
- ProvisioningHelper.removeArtifactRepository(repoURL);
- }
-
- /**
- * Install a given IU to a given profile location.
- */
- public void _provinstall(CommandInterpreter interpreter) {
- String iu = interpreter.nextArgument();
- String version = interpreter.nextArgument();
- String profileId = interpreter.nextArgument();
- if (profileId == null || profileId.equals("this"))
- profileId = IProfileRegistry.SELF;
- if (iu == null || version == null || profileId == null) {
- interpreter.println("Installable unit id, version, and profile Id must be provided");
- return;
- }
- IStatus s = null;
- try {
- s = ProvisioningHelper.install(iu, version, ProvisioningHelper.getProfile(profileId), new NullProgressMonitor());
- } catch (ProvisionException e) {
- interpreter.println("installation failed ");
- e.printStackTrace();
- return;
- }
- if (s.isOK())
- interpreter.println("installation complete");
- else
- interpreter.println("installation failed " + s.getMessage());
- }
-
- /**
- * Creates a profile given an id, location, and flavor
- */
- public void _provaddprofile(CommandInterpreter interpreter) {
- String profileId = interpreter.nextArgument();
- String location = interpreter.nextArgument();
- String flavor = interpreter.nextArgument();
- if (profileId == null || location == null || flavor == null) {
- interpreter.println("Id, location, and flavor must be provided");
- return;
- }
- String environments = interpreter.nextArgument();
- Properties props = new Properties();
- props.setProperty(IProfile.PROP_INSTALL_FOLDER, location);
- props.setProperty(IProfile.PROP_FLAVOR, flavor);
- if (environments != null)
- props.setProperty(IProfile.PROP_ENVIRONMENTS, environments);
-
- try {
- ProvisioningHelper.addProfile(profileId, props);
- } catch (ProvisionException e) {
- interpreter.println("add profile failed " + e.getMessage());
- }
- }
-
- /**
- * Deletes a profile given an id, location, and flavor
- */
- public void _provdelprofile(CommandInterpreter interpreter) {
- String profileId = interpreter.nextArgument();
- if (profileId == null) {
- interpreter.println("Id must be provided");
- return;
- }
- ProvisioningHelper.removeProfile(profileId);
- }
-
- /**
- * Lists the installable units that match the given URL, id, and/or version.
- *
- * @param interpreter
- */
- public void _provliu(CommandInterpreter interpreter) {
- String urlString = processArgument(interpreter.nextArgument());
- String id = processArgument(interpreter.nextArgument());
- String version = processArgument(interpreter.nextArgument());
- URL repoURL = null;
- if (urlString != null && !urlString.equals(WILDCARD_ANY))
- repoURL = toURL(interpreter, urlString);
- IInstallableUnit[] units = sort(ProvisioningHelper.getInstallableUnits(repoURL, new InstallableUnitQuery(id, new VersionRange(version)), null));
- for (int i = 0; i < units.length; i++)
- println(interpreter, units[i]);
- }
-
- /**
- * Lists the known metadata repositories, or the contents of a given
- * metadata repository.
- *
- * @param interpreter
- */
- public void _provlr(CommandInterpreter interpreter) {
- String urlString = processArgument(interpreter.nextArgument());
- String id = processArgument(interpreter.nextArgument());
- String version = processArgument(interpreter.nextArgument());
- if (urlString == null) {
- URL[] repositories = ProvisioningHelper.getMetadataRepositories();
- if (repositories != null)
- for (int i = 0; i < repositories.length; i++)
- interpreter.println(repositories[i]);
- return;
- }
- URL repoURL = toURL(interpreter, urlString);
- if (repoURL == null)
- return;
- IInstallableUnit[] units = sort(ProvisioningHelper.getInstallableUnits(repoURL, new InstallableUnitQuery(id, new VersionRange(version)), null));
- for (int i = 0; i < units.length; i++)
- println(interpreter, units[i]);
- }
-
- /**
- * Lists the group IUs in all known metadata repositories, or in the given
- * metadata repository.
- *
- * @param interpreter
- */
- public void _provlg(CommandInterpreter interpreter) {
- String urlString = processArgument(interpreter.nextArgument());
- IQueryable queryable = null;
- if (urlString == null) {
- queryable = (IQueryable) ServiceHelper.getService(Activator.getContext(), IMetadataRepositoryManager.class.getName());
- if (queryable == null)
- return;
- } else {
- URL repoURL = toURL(interpreter, urlString);
- if (repoURL == null)
- return;
- queryable = ProvisioningHelper.getMetadataRepository(repoURL);
- if (queryable == null)
- return;
- }
- Query query = new IUPropertyQuery(IInstallableUnit.PROP_TYPE_GROUP, Boolean.TRUE.toString());
- IInstallableUnit[] units = sort(queryable.query(query, new Collector(), null));
- for (int i = 0; i < units.length; i++)
- println(interpreter, units[i]);
- }
-
- /**
- * Lists the known artifact repositories, or the contents of a given
- * artifact repository.
- *
- * @param interpreter
- */
- public void _provlar(CommandInterpreter interpreter) {
- String urlString = processArgument(interpreter.nextArgument());
- if (urlString == null) {
- URL[] repositories = ProvisioningHelper.getArtifactRepositories();
- if (repositories == null)
- return;
- for (int i = 0; i < repositories.length; i++)
- interpreter.println(repositories[i]);
- return;
- }
- URL repoURL = toURL(interpreter, urlString);
- if (repoURL == null)
- return;
- IArtifactRepository repo = ProvisioningHelper.getArtifactRepository(repoURL);
- IArtifactKey[] keys = null;
- try {
- keys = (repo != null) ? repo.getArtifactKeys() : null;
- } catch (UnsupportedOperationException e) {
- interpreter.println("Repository does not support list commands.");
- return;
- }
- if (keys == null || keys.length == 0) {
- interpreter.println("Repository has no artifacts");
- return;
- }
- IFileArtifactRepository fileRepo = (IFileArtifactRepository) repo.getAdapter(IFileArtifactRepository.class);
- for (int i = 0; i < keys.length; i++) {
- IArtifactDescriptor[] descriptors = repo.getArtifactDescriptors(keys[i]);
- for (int j = 0; j < descriptors.length; j++) {
- IArtifactDescriptor descriptor = descriptors[j];
- File location = null;
- if (fileRepo != null)
- location = fileRepo.getArtifactFile(descriptor);
- println(interpreter, keys[i], location);
- }
-
- }
- }
-
- /**
- * Returns the given string as an URL, or <code>null</code> if the string
- * could not be interpreted as an URL.
- */
- private URL toURL(CommandInterpreter interpreter, String urlString) {
- try {
- return new URL(urlString);
- } catch (MalformedURLException e) {
- interpreter.print(e.getMessage());
- interpreter.println();
- return null;
- }
- }
-
- private String processArgument(String arg) {
- if (arg == null || arg.equals(WILDCARD_ANY))
- return null;
- return arg;
- }
-
- /**
- * Lists the known profiles, or the contents of a given profile.
- *
- * @param interpreter
- */
- public void _provlp(CommandInterpreter interpreter) {
- String profileId = processArgument(interpreter.nextArgument());
- String id = processArgument(interpreter.nextArgument());
- String range = processArgument(interpreter.nextArgument());
- if (profileId == null) {
- IProfile[] profiles = ProvisioningHelper.getProfiles();
- for (int i = 0; i < profiles.length; i++)
- interpreter.println(profiles[i].getProfileId());
- return;
- }
- // determine which profile is to be listed
- IProfile target = null;
- if (profileId.equals("this"))
- profileId = IProfileRegistry.SELF;
- target = ProvisioningHelper.getProfile(profileId);
- if (target == null)
- return;
-
- // list the profile contents
- IInstallableUnit[] result = sort(target.query(new InstallableUnitQuery(id, new VersionRange(range)), new Collector(), null));
- for (int i = 0; i < result.length; i++)
- interpreter.println(result[i]);
- }
-
- private IInstallableUnit[] sort(Collector collector) {
- IInstallableUnit[] units = (IInstallableUnit[]) collector.toArray(IInstallableUnit.class);
- Arrays.sort(units, new Comparator() {
- public int compare(Object arg0, Object arg1) {
- return arg0.toString().compareTo(arg1.toString());
- }
- });
- return units;
- }
-
- public String getHelp() {
- StringBuffer help = new StringBuffer();
- help.append(NEW_LINE);
- help.append("---"); //$NON-NLS-1$
- help.append("Provisioning Commands");
- help.append("---"); //$NON-NLS-1$
- help.append(NEW_LINE);
- help.append("\tprovlr [<repository URL> <iu id | *> <version range | *>] - Lists all metadata repositories, or the contents of a given metadata repository");
- help.append(NEW_LINE);
- help.append("\tprovlar [<repository URL>] - Lists all artifact repositories, or the contents of a given artifact repository");
- help.append(NEW_LINE);
- help.append("\tprovliu [<repository URL | *> <iu id | *> <version range | *>] - Lists the IUs that match the pattern in the given repo. * matches all");
- help.append(NEW_LINE);
- help.append("\tprovlp [<profile id | *> - Lists all profiles, or the contents of the profile at the given profile");
- help.append(NEW_LINE);
- help.append("\tprovlg [<repository URL> <iu id | *> <version range | *>] - Lists all IUs with group capabilities in the given repo or in all repos if the URL is omitted");
- help.append(NEW_LINE);
- help.append("\tprovinstall <InstallableUnit> <version> <profileId> - Provisions an IU to the profile with the give id");
- help.append(NEW_LINE);
- help.append("\tprovaddrepo <repository URL> - Adds a metadata repository");
- help.append(NEW_LINE);
- help.append("\tprovaddartifactrepo <repository URL> - Adds an artifact repository");
- help.append(NEW_LINE);
- help.append("\tprovaddprofile <profileId> <location> <flavor> - Adds a profile with the given id, location and flavor");
- help.append(NEW_LINE);
- return help.toString();
- }
-
- /**
- * Prints a string representation of an {@link IInstallableUnit} to the
- * iterpreter's output stream.
- */
- public void print(CommandInterpreter interpreter, IInstallableUnit unit) {
- interpreter.print(unit.getId() + ' ' + unit.getVersion());
- }
-
- /**
- * Prints a string representation of an {@link IInstallableUnit} to the
- * iterpreter's output stream, following by a line terminator
- */
- public void println(CommandInterpreter interpreter, IInstallableUnit unit) {
- print(interpreter, unit);
- interpreter.println();
- }
-
- private void println(CommandInterpreter interpreter, IArtifactKey artifactKey, File location) {
- interpreter.print(artifactKey.toString() + ' ' + location);
- interpreter.println();
- }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.console/src/org/eclipse/equinox/internal/p2/console/ProvisioningHelper.java b/bundles/org.eclipse.equinox.p2.console/src/org/eclipse/equinox/internal/p2/console/ProvisioningHelper.java
deleted file mode 100644
index 8d673ae..0000000
--- a/bundles/org.eclipse.equinox.p2.console/src/org/eclipse/equinox/internal/p2/console/ProvisioningHelper.java
+++ /dev/null
@@ -1,269 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.console;
-
-import java.io.IOException;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.configurator.Configurator;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepository;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.query.*;
-import org.eclipse.osgi.service.environment.EnvironmentInfo;
-import org.osgi.framework.Version;
-
-public class ProvisioningHelper {
-
- public static IMetadataRepository addMetadataRepository(URL location) {
- IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(Activator.getContext(), IMetadataRepositoryManager.class.getName());
- if (manager == null)
- throw new IllegalStateException("No metadata repository manager found"); //$NON-NLS-1$
- try {
- return manager.loadRepository(location, null);
- } catch (ProvisionException e) {
- //fall through and create a new repository
- }
-
- // for convenience create and add a repository here
- String repositoryName = location + " - metadata"; //$NON-NLS-1$
- try {
- return manager.createRepository(location, repositoryName, IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
- } catch (ProvisionException e) {
- return null;
- }
- }
-
- public static IMetadataRepository getMetadataRepository(URL location) {
- IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(Activator.getContext(), IMetadataRepositoryManager.class.getName());
- if (manager == null)
- throw new IllegalStateException("No metadata repository manager found");
- try {
- return manager.loadRepository(location, null);
- } catch (ProvisionException e) {
- return null;
- }
- }
-
- public static void removeMetadataRepository(URL location) {
- IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(Activator.getContext(), IMetadataRepositoryManager.class.getName());
- if (manager == null)
- throw new IllegalStateException("No metadata repository manager found");
- manager.removeRepository(location);
- }
-
- public static IArtifactRepository addArtifactRepository(URL location) {
- IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.class.getName());
- if (manager == null)
- // TODO log here
- return null;
- try {
- return manager.loadRepository(location, null);
- } catch (ProvisionException e) {
- //fall through and create a new repository
- }
- // could not load a repo at that location so create one as a convenience
- String repositoryName = location + " - artifacts"; //$NON-NLS-1$
- try {
- return manager.createRepository(location, repositoryName, IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
- } catch (ProvisionException e) {
- return null;
- }
- }
-
- public static void removeArtifactRepository(URL location) {
- IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.class.getName());
- if (manager == null)
- // TODO log here
- return;
- manager.removeRepository(location);
- }
-
- public static IProfile addProfile(String profileId, Properties properties) throws ProvisionException {
- IProfileRegistry profileRegistry = (IProfileRegistry) ServiceHelper.getService(Activator.getContext(), IProfileRegistry.class.getName());
- if (profileRegistry == null)
- return null;
- IProfile profile = profileRegistry.getProfile(profileId);
- if (profile != null)
- return profile;
-
- Map profileProperties = new HashMap();
-
- for (Iterator it = properties.keySet().iterator(); it.hasNext();) {
- String key = (String) it.next();
- profileProperties.put(key, properties.getProperty(key));
- }
-
- if (profileProperties.get(IProfile.PROP_ENVIRONMENTS) == null) {
- EnvironmentInfo info = (EnvironmentInfo) ServiceHelper.getService(Activator.getContext(), EnvironmentInfo.class.getName());
- if (info != null)
- profileProperties.put(IProfile.PROP_ENVIRONMENTS, "osgi.os=" + info.getOS() + ",osgi.ws=" + info.getWS() + ",osgi.arch=" + info.getOSArch());
- else
- profileProperties.put(IProfile.PROP_ENVIRONMENTS, "");
- }
-
- return profileRegistry.addProfile(profileId, profileProperties);
- }
-
- public static void removeProfile(String profileId) {
- IProfileRegistry profileRegistry = (IProfileRegistry) ServiceHelper.getService(Activator.getContext(), IProfileRegistry.class.getName());
- if (profileRegistry == null)
- return;
- profileRegistry.removeProfile(profileId);
- }
-
- public static IProfile[] getProfiles() {
- IProfileRegistry profileRegistry = (IProfileRegistry) ServiceHelper.getService(Activator.getContext(), IProfileRegistry.class.getName());
- if (profileRegistry == null)
- return new IProfile[0];
- return profileRegistry.getProfiles();
- }
-
- public static IProfile getProfile(String id) {
- IProfileRegistry profileRegistry = (IProfileRegistry) ServiceHelper.getService(Activator.getContext(), IProfileRegistry.class.getName());
- if (profileRegistry == null)
- return null;
- return profileRegistry.getProfile(id);
- }
-
- /**
- * Returns the installable units that match the given query
- * in the given metadata repository.
- *
- * @param location The location of the metadata repo to search. <code>null</code> indicates
- * search all known repos.
- * @param query The query to perform
- * @param monitor A progress monitor, or <code>null</code>
- * @return The IUs that match the query
- */
- public static Collector getInstallableUnits(URL location, Query query, IProgressMonitor monitor) {
- return getInstallableUnits(location, query, new Collector(), monitor);
- }
-
- public static Collector getInstallableUnits(URL location, Query query, Collector collector, IProgressMonitor monitor) {
- IQueryable queryable = null;
- if (location == null) {
- queryable = (IQueryable) ServiceHelper.getService(Activator.getContext(), IMetadataRepositoryManager.class.getName());
- } else {
- queryable = getMetadataRepository(location);
- }
- return queryable.query(query, collector, null);
- }
-
- public static URL[] getMetadataRepositories() {
- IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(Activator.getContext(), IMetadataRepositoryManager.class.getName());
- if (manager == null)
- // TODO log here
- return null;
- URL[] repos = manager.getKnownRepositories(IMetadataRepositoryManager.REPOSITORIES_ALL);
- if (repos.length > 0)
- return repos;
- return null;
- }
-
- /**
- * Install the described IU
- */
- public static IStatus install(String unitId, String version, IProfile profile, IProgressMonitor progress) throws ProvisionException {
- if (profile == null)
- return null;
- Collector units = getInstallableUnits(null, new InstallableUnitQuery(unitId, new Version(version)), progress);
- if (units.isEmpty()) {
- StringBuffer error = new StringBuffer();
- error.append("Installable unit not found: " + unitId + ' ' + version + '\n');
- error.append("Repositories searched:\n");
- URL[] repos = getMetadataRepositories();
- if (repos != null) {
- for (int i = 0; i < repos.length; i++)
- error.append(repos[i] + "\n");
- }
- throw new ProvisionException(error.toString());
- }
-
- IPlanner planner = (IPlanner) ServiceHelper.getService(Activator.getContext(), IPlanner.class.getName());
- if (planner == null)
- throw new ProvisionException("No planner service found.");
-
- IEngine engine = (IEngine) ServiceHelper.getService(Activator.getContext(), IEngine.SERVICE_NAME);
- if (engine == null)
- throw new ProvisionException("No director service found.");
- IInstallableUnit[] toInstall = (IInstallableUnit[]) units.toArray(IInstallableUnit.class);
- ProvisioningContext context = new ProvisioningContext();
- ProfileChangeRequest request = new ProfileChangeRequest(profile);
- request.addInstallableUnits(toInstall);
- ProvisioningPlan result = planner.getProvisioningPlan(request, context, progress);
- if (!result.getStatus().isOK())
- return result.getStatus();
-
- return engine.perform(profile, new DefaultPhaseSet(), result.getOperands(), context, progress);
- }
-
- /**
- * Uninstall the described IU
- */
- public static IStatus uninstall(String unitId, String version, IProfile profile, IProgressMonitor progress) throws ProvisionException {
- IDirector director = (IDirector) ServiceHelper.getService(Activator.getContext(), IDirector.class.getName());
- if (director == null)
- throw new ProvisionException("No director service found.");
-
- // return director.uninstall(new InstallableUnit[] {toInstall}, profile,
- // null);
- return null;
- }
-
- public static void kick(String profileId) {
- Configurator configurator = (Configurator) ServiceHelper.getService(Activator.getContext(), Configurator.class.getName());
- if (configurator == null)
- return;
- if (profileId == null)
- try {
- configurator.applyConfiguration();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- else {
- // TODO do some work here to figure out how to kick some random profile
- // configurator.applyConfiguration(configURL);
- }
- }
-
- public static URL[] getArtifactRepositories() {
- IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.class.getName());
- if (manager == null)
- // TODO log here
- return null;
- URL[] repos = manager.getKnownRepositories(IArtifactRepositoryManager.REPOSITORIES_ALL);
- if (repos.length > 0)
- return repos;
- return null;
- }
-
- public static IArtifactRepository getArtifactRepository(URL repoURL) {
- IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.class.getName());
- try {
- if (manager != null)
- return manager.loadRepository(repoURL, null);
- } catch (ProvisionException e) {
- //for console, just ignore repositories that can't be read
- }
- return null;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/.classpath b/bundles/org.eclipse.equinox.p2.core/.classpath
deleted file mode 100644
index ce73933..0000000
--- a/bundles/org.eclipse.equinox.p2.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.core/.options b/bundles/org.eclipse.equinox.p2.core/.options
deleted file mode 100644
index 6af42a3..0000000
--- a/bundles/org.eclipse.equinox.p2.core/.options
+++ /dev/null
@@ -1,17 +0,0 @@
-#Turn on debugging for p2
-org.eclipse.equinox.p2.core/debug=false
-
-#Detailed debugging information while parsing p2 data files
-org.eclipse.equinox.p2.core/core/parseproblems=false
-
-#Detailed debugging information while parsing site.xml and feature.xml files in the generator
-org.eclipse.equinox.p2.core/generator/parsing=false
-
-#Detailed debugging information while saving/restoring the engine's install registry
-org.eclipse.equinox.p2.core/engine/installregistry=false
-
-#Detailed debugging information while saving/restoring metadata repositories
-org.eclipse.equinox.p2.core/metadata/parsing=false
-
-#Detailed debugging information about mirror selection
-org.eclipse.equinox.p2.core/artifacts/mirrors=false
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.core/.project b/bundles/org.eclipse.equinox.p2.core/.project
deleted file mode 100644
index b7cc168..0000000
--- a/bundles/org.eclipse.equinox.p2.core/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.equinox.p2.core</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.core/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 744f8b4..0000000
--- a/bundles/org.eclipse.equinox.p2.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,331 +0,0 @@
-#Thu Sep 13 16:23:45 EDT 2007
-eclipse.preferences.version=1
-instance/org.eclipse.core.net/org.eclipse.core.net.hasMigrated=true
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.core/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.core/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index c454095..0000000
--- a/bundles/org.eclipse.equinox.p2.core/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:57:48 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.core/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.core/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 7913d20..0000000
--- a/bundles/org.eclipse.equinox.p2.core/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.core/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.core/META-INF/MANIFEST.MF
deleted file mode 100644
index c4fd1fa..0000000
--- a/bundles/org.eclipse.equinox.p2.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,151 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.core;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 1.0.0.qualifier
-Import-Package: org.eclipse.core.runtime.adaptor,
- org.eclipse.osgi.framework.eventmgr;version="1.0.0",
- org.eclipse.osgi.framework.log;version="1.0.0",
- org.eclipse.osgi.internal.resolver,
- org.eclipse.osgi.service.datalocation;version="1.0.0",
- org.eclipse.osgi.service.debug;version="1.0.0",
- org.eclipse.osgi.service.resolver;version="1.1.0",
- org.eclipse.osgi.util;version="1.0.0",
- org.osgi.framework;version="1.3.0",
- org.osgi.util.tracker;version="1.3.3",
- org.xml.sax
-Export-Package: org.eclipse.equinox.internal.p2.core;x-friends:="org.eclipse.equinox.p2.metadata.generator",
- org.eclipse.equinox.internal.p2.core.helpers;
- x-friends:="org.eclipse.equinox.p2.director,
- org.eclipse.equinox.p2.artifact.processors,
- org.eclipse.equinox.p2.artifact.optimizers,
- org.eclipse.equinox.p2.artifact.repository,
- org.eclipse.equinox.p2.director.app,
- org.eclipse.equinox.p2.directorywatcher,
- org.eclipse.equinox.p2.download,
- org.eclipse.equinox.p2.engine,
- org.eclipse.equinox.p2.installer,
- org.eclipse.equinox.p2.metadata,
- org.eclipse.equinox.p2.metadata.generator,
- org.eclipse.equinox.frameworkadmin.test,
- org.eclipse.equinox.p2.metadata.repository,
- org.eclipse.equinox.p2.repositoryoptimizer,
- org.eclipse.equinox.p2.touchpoint.eclipse,
- org.eclipse.equinox.p2.touchpoint.natives,
- org.eclipse.equinox.p2.ui,
- org.eclipse.equinox.p2.ui.sdk,
- org.eclipse.equinox.p2.updatechecker,
- org.eclipse.equinox.p2.updatechecker.app,
- org.eclipse.equinox.p2.garbagecollector,
- org.eclipse.equinox.p2.console,
- org.eclipse.equinox.p2.updatesite,
- org.eclipse.equinox.p2.reconciler.dropins,
- org.eclipse.equinox.p2.extensionlocation",
- org.eclipse.equinox.internal.p2.persistence;x-friends:="org.eclipse.equinox.p2.artifact.repository,org.eclipse.equinox.p2.engine,org.eclipse.equinox.p2.metadata.repository",
- org.eclipse.equinox.internal.provisional.p2.core;
- x-friends:="org.eclipse.equinox.p2.artifact.repository,
- org.eclipse.equinox.p2.extensionlocation,
- org.eclipse.equinox.p2.metadata.repository,
- org.eclipse.equinox.p2.ui,
- org.eclipse.equinox.p2.updatesite,
- org.eclipse.equinox.p2.console,
- org.eclipse.equinox.p2.director,
- org.eclipse.equinox.p2.touchpoint.eclipse,
- org.eclipse.equinox.p2.touchpoint.natives,
- org.eclipse.equinox.p2.ui.admin,
- org.eclipse.equinox.p2.ui.sdk,
- org.eclipse.equinox.p2.artifact.optimizers,
- org.eclipse.equinox.p2.artifact.processors,
- org.eclipse.equinox.p2.reconciler.dropins,
- org.eclipse.equinox.p2.engine,
- org.eclipse.equinox.p2.metadata.generator,
- org.eclipse.equinox.p2.installer,
- org.eclipse.equinox.p2.directorywatcher,
- org.eclipse.equinox.p2.updatechecker,
- org.eclipse.pde.p2.ui",
- org.eclipse.equinox.internal.provisional.p2.core.eventbus;
- x-friends:="org.eclipse.equinox.p2.metadata,
- org.eclipse.equinox.p2.metadata.generator,
- org.eclipse.equinox.p2.metadata.repository,
- org.eclipse.equinox.p2.engine,
- org.eclipse.equinox.p2.director,
- org.eclipse.equinox.p2.garbagecollector,
- org.eclipse.equinox.p2.ui.sdk,
- org.eclipse.equinox.p2.ui,
- org.eclipse.equinox.p2.directorywatcher,
- org.eclipse.equinox.p2.updatesite,
- org.eclipse.equinox.p2.artifact.repository,
- org.eclipse.equinox.p2.touchpoint.eclipse,
- org.eclipse.equinox.p2.touchpoint.natives",
- org.eclipse.equinox.internal.provisional.p2.core.location;
- x-friends:="org.eclipse.equinox.p2.artifact.repository,
- org.eclipse.equinox.p2.touchpoint.natives,
- org.eclipse.equinox.p2.metadata.repository,
- org.eclipse.equinox.p2.director,
- org.eclipse.equinox.p2.engine,
- org.eclipse.equinox.p2.touchpoint.eclipse",
- org.eclipse.equinox.internal.provisional.p2.core.repository;
- x-friends:="org.eclipse.equinox.p2.artifact.optimizers,
- org.eclipse.equinox.p2.artifact.processors,
- org.eclipse.equinox.p2.artifact.repository,
- org.eclipse.equinox.p2.core,
- org.eclipse.equinox.p2.director,
- org.eclipse.equinox.p2.engine,
- org.eclipse.equinox.p2.exemplarysetup,
- org.eclipse.equinox.p2.extensionlocation,
- org.eclipse.equinox.p2.garbagecollector,
- org.eclipse.equinox.p2.installer,
- org.eclipse.equinox.p2.jarprocessor,
- org.eclipse.equinox.p2.metadata,
- org.eclipse.equinox.p2.metadata.generator,
- org.eclipse.equinox.p2.metadata.repository,
- org.eclipse.equinox.p2.reconciler.dropins,
- org.eclipse.equinox.p2.touchpoint.eclipse,
- org.eclipse.equinox.p2.touchpoint.natives,
- org.eclipse.equinox.p2.ui,
- org.eclipse.equinox.p2.ui.admin,
- org.eclipse.equinox.p2.ui.admin.rcp,
- org.eclipse.equinox.p2.ui.sdk,
- org.eclipse.equinox.p2.updatechecker,
- org.eclipse.equinox.p2.updatesite,
- org.eclipse.equinox.p2.console,
- org.eclipse.equinox.p2.directorywatcher",
- org.eclipse.equinox.internal.provisional.p2.query;
- x-friends:="org.eclipse.equinox.p2.artifact.optimizers,
- org.eclipse.equinox.p2.artifact.processors,
- org.eclipse.equinox.p2.artifact.repository,
- org.eclipse.equinox.p2.director,
- org.eclipse.equinox.p2.director.app,
- org.eclipse.equinox.p2.directorywatcher,
- org.eclipse.equinox.p2.engine,
- org.eclipse.equinox.p2.exemplarysetup,
- org.eclipse.equinox.p2.extensionlocation,
- org.eclipse.equinox.p2.garbagecollector,
- org.eclipse.equinox.p2.installer,
- org.eclipse.equinox.p2.jarprocessor,
- org.eclipse.equinox.p2.metadata,
- org.eclipse.equinox.p2.metadata.generator,
- org.eclipse.equinox.p2.metadata.repository,
- org.eclipse.equinox.p2.reconciler.dropins,
- org.eclipse.equinox.p2.touchpoint.eclipse,
- org.eclipse.equinox.p2.touchpoint.natives,
- org.eclipse.equinox.p2.ui,
- org.eclipse.equinox.p2.ui.admin,
- org.eclipse.equinox.p2.ui.admin.rcp,
- org.eclipse.equinox.p2.ui.sdk,
- org.eclipse.equinox.p2.updatechecker,
- org.eclipse.equinox.p2.updatesite,
- org.eclipse.equinox.p2.console",
- org.eclipse.equinox.internal.provisional.spi.p2.core.repository;
- x-friends:="org.eclipse.equinox.p2.artifact.repository,
- org.eclipse.equinox.p2.metadata.repository,
- org.eclipse.equinox.p2.extensionlocation,
- org.eclipse.equinox.p2.updatesite"
-Eclipse-LazyStart: true
-Bundle-ClassPath: .
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,
- CDC-1.1/Foundation-1.1
-Bundle-Activator: org.eclipse.equinox.internal.p2.core.Activator
-Require-Bundle: org.eclipse.equinox.common
diff --git a/bundles/org.eclipse.equinox.p2.core/about.html b/bundles/org.eclipse.equinox.p2.core/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.core/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 2, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.core/build.properties b/bundles/org.eclipse.equinox.p2.core/build.properties
deleted file mode 100644
index a6b8330..0000000
--- a/bundles/org.eclipse.equinox.p2.core/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- about.html,\
- plugin.properties
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.p2.core/plugin.properties b/bundles/org.eclipse.equinox.p2.core/plugin.properties
deleted file mode 100644
index 2728372..0000000
--- a/bundles/org.eclipse.equinox.p2.core/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Equinox Provisioning Core
-providerName = Eclipse.org
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/Activator.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/Activator.java
deleted file mode 100644
index a2e903d..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/Activator.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.core;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Dictionary;
-import java.util.Hashtable;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.equinox.internal.provisional.p2.core.location.AgentLocation;
-import org.eclipse.osgi.framework.log.FrameworkLog;
-import org.eclipse.osgi.service.datalocation.Location;
-import org.osgi.framework.*;
-import org.osgi.util.tracker.ServiceTracker;
-
-public class Activator implements BundleActivator {
- public static final String ID = "org.eclipse.equinox.p2.core"; //$NON-NLS-1$
-
- public static AgentLocation agentDataLocation = null;
- public static BundleContext context;
- private static final String DEFAULT_AGENT_LOCATION = "../p2"; //$NON-NLS-1$
-
- public static Location downloadLocation = null;
- private static Activator instance;
- // Data mode constants for user, configuration and data locations.
- private static final String NO_DEFAULT = "@noDefault"; //$NON-NLS-1$
- private static final String NONE = "@none"; //$NON-NLS-1$
-
- private static final String PROP_AGENT_DATA_AREA = "eclipse.p2.data.area"; //$NON-NLS-1$
- private static final String PROP_CONFIG_DIR = "osgi.configuration.area"; //$NON-NLS-1$
- private static final String PROP_USER_DIR = "user.dir"; //$NON-NLS-1$
- private static final String PROP_USER_HOME = "user.home"; //$NON-NLS-1$
-
- public static final String READ_ONLY_AREA_SUFFIX = ".readOnly"; //$NON-NLS-1$
-
- private static final String VAR_CONFIG_DIR = "@config.dir"; //$NON-NLS-1$
- private static final String VAR_USER_DIR = "@user.dir"; //$NON-NLS-1$
- private static final String VAR_USER_HOME = "@user.home"; //$NON-NLS-1$
-
- private ServiceRegistration agentLocationRegistration = null;
- ServiceTracker logTracker;
-
- /**
- * NOTE: This method is copied from LocationHelper in org.eclipse.osgi
- * due to access restrictions.
- */
- private static URL adjustTrailingSlash(URL url, boolean trailingSlash) throws MalformedURLException {
- String file = url.getFile();
- if (trailingSlash == (file.endsWith("/"))) //$NON-NLS-1$
- return url;
- file = trailingSlash ? file + "/" : file.substring(0, file.length() - 1); //$NON-NLS-1$
- return new URL(url.getProtocol(), url.getHost(), file);
- }
-
- /**
- * Builds a URL with the given specification
- * NOTE: This method is copied from LocationHelper in org.eclipse.osgi
- * due to access restrictions.
- *
- * @param spec the URL specification
- * @param trailingSlash flag to indicate a trailing slash on the spec
- * @return a URL
- */
- private static URL buildURL(String spec, boolean trailingSlash) {
- if (spec == null)
- return null;
- boolean isFile = spec.startsWith("file:"); //$NON-NLS-1$
- try {
- if (isFile)
- return adjustTrailingSlash(new File(spec.substring(5)).toURL(), trailingSlash);
- return new URL(spec);
- } catch (MalformedURLException e) {
- // if we failed and it is a file spec, there is nothing more we can do
- // otherwise, try to make the spec into a file URL.
- if (isFile)
- return null;
- try {
- return adjustTrailingSlash(new File(spec).toURL(), trailingSlash);
- } catch (MalformedURLException e1) {
- return null;
- }
- }
- }
-
- /**
- * Returns the framework log, or null if not available
- */
- public static FrameworkLog getFrameworkLog() {
- //protect against concurrent shutdown
- Activator a = instance;
- if (a == null)
- return null;
- ServiceTracker tracker = a.getLogTracker();
- if (tracker == null)
- return null;
- return (FrameworkLog) tracker.getService();
- }
-
- private static String substituteVar(String source, String var, String prop) {
- String value = Activator.context.getProperty(prop);
- if (value == null)
- value = ""; //$NON-NLS-1$
- return value + source.substring(var.length());
- }
-
- private AgentLocation buildLocation(String property, URL defaultLocation, boolean readOnlyDefault, boolean addTrailingSlash) {
- String location = Activator.context.getProperty(property);
- // the user/product may specify a non-default readOnly setting
- String userReadOnlySetting = Activator.context.getProperty(property + READ_ONLY_AREA_SUFFIX);
- boolean readOnly = (userReadOnlySetting == null ? readOnlyDefault : Boolean.valueOf(userReadOnlySetting).booleanValue());
- // if the instance location is not set, predict where the workspace will be and
- // put the instance area inside the workspace meta area.
- if (location == null)
- return new BasicLocation(property, defaultLocation, readOnly);
- if (location.equalsIgnoreCase(NONE))
- return null;
- if (location.equalsIgnoreCase(NO_DEFAULT))
- return new BasicLocation(property, null, readOnly);
- if (location.startsWith(VAR_USER_HOME)) {
- String base = substituteVar(location, VAR_USER_HOME, PROP_USER_HOME);
- location = new Path(base).toFile().getAbsolutePath();
- } else if (location.startsWith(VAR_USER_DIR)) {
- String base = substituteVar(location, VAR_USER_DIR, PROP_USER_DIR);
- location = new Path(base).toFile().getAbsolutePath();
- } else if (location.startsWith(VAR_CONFIG_DIR)) {
- //note the config dir system property is already a URL
- location = substituteVar(location, VAR_CONFIG_DIR, PROP_CONFIG_DIR);
- }
- URL url = buildURL(location, addTrailingSlash);
- BasicLocation result = null;
- if (url != null) {
- result = new BasicLocation(property, null, readOnly);
- result.set(url, false);
- }
- return result;
- }
-
- private ServiceTracker getLogTracker() {
- if (logTracker != null)
- return logTracker;
- //lazy init if the bundle has been started
- if (context == null)
- return null;
- logTracker = new ServiceTracker(context, FrameworkLog.class.getName(), null);
- logTracker.open();
- return logTracker;
- }
-
- public void start(BundleContext aContext) throws Exception {
- instance = this;
- Activator.context = aContext;
- URL defaultLocation = new URL(aContext.getProperty(PROP_CONFIG_DIR) + DEFAULT_AGENT_LOCATION + '/');
- agentDataLocation = buildLocation(PROP_AGENT_DATA_AREA, defaultLocation, false, true);
- Dictionary locationProperties = new Hashtable();
- if (defaultLocation != null) {
- locationProperties.put("type", PROP_AGENT_DATA_AREA); //$NON-NLS-1$
- agentLocationRegistration = aContext.registerService(AgentLocation.SERVICE_NAME, agentDataLocation, locationProperties);
- }
- }
-
- public void stop(BundleContext aContext) throws Exception {
- instance = null;
- if (agentLocationRegistration != null)
- agentLocationRegistration.unregister();
- if (logTracker != null) {
- logTracker.close();
- logTracker = null;
- }
- Activator.context = null;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/BasicLocation.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/BasicLocation.java
deleted file mode 100644
index f95a338..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/BasicLocation.java
+++ /dev/null
@@ -1,216 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.core;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import org.eclipse.equinox.internal.provisional.p2.core.location.AgentLocation;
-import org.eclipse.osgi.service.datalocation.Location;
-
-/**
- * Internal class.
- */
-public class BasicLocation implements AgentLocation {
- private static class MockLocker implements Locker {
- public boolean lock() {
- // locking always successful
- return true;
- }
-
- public void release() {
- // nothing to release
- }
- }
-
- private boolean isReadOnly;
- private URL location = null;
- private Location parent;
- private URL defaultValue;
-
- // locking related fields
- private File lockFile;
- private Locker locker;
- public static final String PROP_OSGI_LOCKING = "osgi.locking"; //$NON-NLS-1$
- public static boolean DEBUG;
-
- private static boolean isRunningWithNio() {
- try {
- Class.forName("java.nio.channels.FileLock"); //$NON-NLS-1$
- } catch (ClassNotFoundException e) {
- return false;
- }
- return true;
- }
-
- public static Locker createLocker(File lock, String lockMode) {
- if (lockMode == null)
- lockMode = Activator.context.getProperty(PROP_OSGI_LOCKING);
-
- if ("none".equals(lockMode)) //$NON-NLS-1$
- return new MockLocker();
-
- if ("java.io".equals(lockMode)) //$NON-NLS-1$
- return new Locker_JavaIo(lock);
-
- if ("java.nio".equals(lockMode)) { //$NON-NLS-1$
- if (isRunningWithNio())
- return new Locker_JavaNio(lock);
- else
- // TODO should we return null here. NIO was requested but we could not do it...
- return new Locker_JavaIo(lock);
- }
-
- // Backup case if an invalid value has been specified
- if (isRunningWithNio())
- return new Locker_JavaNio(lock);
- else
- return new Locker_JavaIo(lock);
- }
-
- public BasicLocation(String property, URL defaultValue, boolean isReadOnly) {
- super();
- this.defaultValue = defaultValue;
- this.isReadOnly = isReadOnly;
- }
-
- public boolean allowsDefault() {
- return defaultValue != null;
- }
-
- public URL getDefault() {
- return defaultValue;
- }
-
- public synchronized Location getParentLocation() {
- return parent;
- }
-
- public synchronized URL getURL() {
- if (location == null && defaultValue != null)
- setURL(defaultValue, false);
- return location;
- }
-
- public synchronized boolean isSet() {
- return location != null;
- }
-
- public boolean isReadOnly() {
- return isReadOnly;
- }
-
- /**
- * @deprecated
- */
- public synchronized boolean setURL(URL value, boolean lock) {
- // if (location != null)
- // throw new IllegalStateException(Messages.ECLIPSE_CANNOT_CHANGE_LOCATION);
- //// File file = null;
- //// if (value.getProtocol().equalsIgnoreCase("file")) { //$NON-NLS-1$
- //// try {
- //// String basePath = new File(value.getFile()).getCanonicalPath();
- //// value = new URL("file:" + basePath); //$NON-NLS-1$
- //// } catch (IOException e) {
- //// // do nothing just use the original value
- //// }
- //// file = new File(value.getFile(), LOCK_FILENAME);
- //// }
- // lock = lock && !isReadOnly;
- // if (lock) {
- // try {
- // if (!lock(file))
- // return false;
- // } catch (IOException e) {
- // return false;
- // }
- // }
- // lockFile = file;
- location = value;
- // LocationManager.buildURL(value.toExternalForm(), true);
- // if (property != null)
- // System.setProperty(property, location.toExternalForm());
- return lock;
- }
-
- public boolean set(URL value, boolean lock) {
- location = value;
- return lock;
- }
-
- public synchronized void setParent(Location value) {
- parent = value;
- }
-
- public synchronized boolean lock() throws IOException {
- if (!isSet())
- return false;
- return lock(lockFile);
- }
-
- private boolean lock(File lock) throws IOException {
- if (lock == null || isReadOnly)
- return false;
-
- File parentFile = new File(lock.getParent());
- if (!parentFile.exists())
- if (!parentFile.mkdirs())
- return false;
-
- setLocker(lock);
- if (locker == null)
- return true;
- boolean locked = false;
- try {
- locked = locker.lock();
- return locked;
- } finally {
- if (!locked)
- locker = null;
- }
- }
-
- private void setLocker(File lock) {
- if (locker != null)
- return;
- String lockMode = Activator.context.getProperty(PROP_OSGI_LOCKING);
- locker = createLocker(lock, lockMode);
- }
-
- public synchronized void release() {
- if (locker != null)
- locker.release();
- }
-
- public URL getArtifactRepositoryURL() {
- //the cache is a co-located repository
- return getMetadataRepositoryURL();
- }
-
- public URL getMetadataRepositoryURL() {
- try {
- return new URL(getDataArea(Activator.ID), "cache/"); //$NON-NLS-1$
- } catch (MalformedURLException e) {
- // TODO Auto-generated catch block
- return null;
- }
- }
-
- public URL getDataArea(String touchpointId) {
- try {
- return new URL(getURL(), touchpointId + '/');
- } catch (MalformedURLException e) {
- // TODO Auto-generated catch block
- return null;
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/Locker.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/Locker.java
deleted file mode 100644
index 8976166..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/Locker.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.core;
-
-import java.io.IOException;
-
-/**
- * Internal class.
- */
-public interface Locker {
- public boolean lock() throws IOException;
-
- public void release();
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/Locker_JavaIo.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/Locker_JavaIo.java
deleted file mode 100644
index 0f32523..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/Locker_JavaIo.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.core;
-
-import java.io.*;
-
-/**
- * Internal class.
- */
-public class Locker_JavaIo implements Locker {
- private File lockFile;
- private RandomAccessFile lockRAF;
-
- public Locker_JavaIo(File lockFile) {
- this.lockFile = lockFile;
- }
-
- public synchronized boolean lock() throws IOException {
- //if the lock file already exists, try to delete,
- //assume failure means another eclipse has it open
- if (lockFile.exists())
- lockFile.delete();
- if (lockFile.exists())
- return false;
-
- //open the lock file so other instances can't co-exist
- lockRAF = new RandomAccessFile(lockFile, "rw"); //$NON-NLS-1$
- lockRAF.writeByte(0);
-
- return true;
- }
-
- public synchronized void release() {
- try {
- if (lockRAF != null) {
- lockRAF.close();
- lockRAF = null;
- }
- } catch (IOException e) {
- //don't complain, we're making a best effort to clean up
- }
- if (lockFile != null)
- lockFile.delete();
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/Locker_JavaNio.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/Locker_JavaNio.java
deleted file mode 100644
index ff4e3e8..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/Locker_JavaNio.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.core;
-
-import java.io.*;
-import java.nio.channels.FileLock;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Internal class.
- */
-public class Locker_JavaNio implements Locker {
- private File lockFile;
- private FileLock fileLock;
- private RandomAccessFile raFile;
-
- public Locker_JavaNio(File lockFile) {
- this.lockFile = lockFile;
- }
-
- public synchronized boolean lock() throws IOException {
- raFile = new RandomAccessFile(lockFile, "rw"); //$NON-NLS-1$
- try {
- // Fix for bug http://bugs.sun.com/view_bug.do?bug_id=6628575 and
- // https://bugs.eclipse.org/bugs/show_bug.cgi?id=44735
- fileLock = raFile.getChannel().tryLock(0, 1, false);
- } catch (IOException ioe) {
- // print exception if debugging
- if (BasicLocation.DEBUG)
- System.out.println(NLS.bind(Messages.location_cannotLock, lockFile));
- // produce a more specific message for clients
- String specificMessage = NLS.bind(Messages.location_cannotLockNIO, new Object[] {lockFile, ioe.getMessage(), "\"-D" + BasicLocation.PROP_OSGI_LOCKING + "=none\""}); //$NON-NLS-1$ //$NON-NLS-2$
- throw new IOException(specificMessage);
- }
- if (fileLock != null)
- return true;
- raFile.close();
- raFile = null;
- return false;
- }
-
- public synchronized void release() {
- if (fileLock != null) {
- try {
- fileLock.release();
- } catch (IOException e) {
- //don't complain, we're making a best effort to clean up
- }
- fileLock = null;
- }
- if (raFile != null) {
- try {
- raFile.close();
- } catch (IOException e) {
- //don't complain, we're making a best effort to clean up
- }
- raFile = null;
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/Messages.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/Messages.java
deleted file mode 100644
index 213ab71..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/Messages.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.core;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.core.messages"; //$NON-NLS-1$
- static {
- // initialize resource bundles
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- // Do not instantiate
- }
-
- public static String location_cannotLock;
- public static String location_cannotLockNIO;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/ProvisioningEventBus.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/ProvisioningEventBus.java
deleted file mode 100644
index 08ff80e..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/ProvisioningEventBus.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.core;
-
-import java.util.EventObject;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.*;
-import org.eclipse.osgi.framework.eventmgr.*;
-
-/**
- * Default implementation of the {@link IProvisioningEventBus} service.
- */
-public class ProvisioningEventBus implements EventDispatcher, IProvisioningEventBus {
- private EventListeners syncListeners = new EventListeners();
- private EventListeners asyncListeners = new EventListeners();
- private EventManager eventManager = new EventManager("Provisioning Event Dispatcher"); //$NON-NLS-1$
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus#addListener(org.eclipse.equinox.internal.provisional.p2.core.eventbus.ProvisioningListener)
- */
- public void addListener(ProvisioningListener toAdd) {
- if (toAdd instanceof SynchronousProvisioningListener) {
- synchronized (syncListeners) {
- syncListeners.addListener(toAdd, toAdd);
- }
- } else {
- synchronized (asyncListeners) {
- asyncListeners.addListener(toAdd, toAdd);
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus#removeListener(org.eclipse.equinox.internal.provisional.p2.core.eventbus.ProvisioningListener)
- */
- public void removeListener(ProvisioningListener toRemove) {
- if (toRemove instanceof SynchronousProvisioningListener) {
- synchronized (syncListeners) {
- if (syncListeners != null) {
- syncListeners.removeListener(toRemove);
- }
- }
- } else {
- synchronized (asyncListeners) {
- if (asyncListeners != null) {
- asyncListeners.removeListener(toRemove);
- }
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus#publishEvent(java.util.EventObject)
- */
- public void publishEvent(EventObject event) {
- /* queue to hold set of listeners */
- ListenerQueue listeners = new ListenerQueue(eventManager);
-
- /* synchronize while building the listener list */
- synchronized (syncListeners) {
- /* add set of BundleContexts w/ listeners to queue */
- listeners.queueListeners(syncListeners, this);
- /* synchronously dispatch to populate listeners queue */
- listeners.dispatchEventSynchronous(0, event);
- }
-
- listeners = new ListenerQueue(eventManager);
- synchronized (asyncListeners) {
- listeners.queueListeners(asyncListeners, this);
- listeners.dispatchEventAsynchronous(0, event);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus#dispatchEvent(java.lang.Object, java.lang.Object, int, java.lang.Object)
- */
- public void dispatchEvent(Object eventListener, Object listenerObject, int eventAction, Object eventObject) {
- try {
- ((ProvisioningListener) eventListener).notify((EventObject) eventObject);
- } catch (Exception e) {
- e.printStackTrace();
- //TODO Need to do the appropriate logging
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus#close()
- */
- public void close() {
- eventManager.close();
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/StringPool.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/StringPool.java
deleted file mode 100644
index 21e2b36..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/StringPool.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.core;
-
-import java.util.HashMap;
-
-/**
- * A string pool is used for sharing strings in a way that eliminates duplicate
- * equal strings. A string pool instance can be maintained over a long period
- * of time, or used as a temporary structure during a string sharing pass over
- * a data structure.
- * <p>
- * This class is not intended to be subclassed by clients.
- * </p>
- */
-public final class StringPool {
- private int savings;
- private final HashMap map = new HashMap();
-
- /**
- * Creates a new string pool.
- */
- public StringPool() {
- super();
- }
-
- /**
- * Adds a <code>String</code> to the pool. Returns a <code>String</code>
- * that is equal to the argument but that is unique within this pool.
- * @param string The string to add to the pool
- * @return A string that is equal to the argument.
- */
- public String add(String string) {
- if (string == null)
- return string;
- Object result = map.get(string);
- if (result != null) {
- if (result != string)
- savings += 44 + 2 * string.length();
- return (String) result;
- }
- map.put(string, string);
- return string;
- }
-
- /**
- * Returns an estimate of the size in bytes that was saved by sharing strings in
- * the pool. In particular, this returns the size of all strings that were added to the
- * pool after an equal string had already been added. This value can be used
- * to estimate the effectiveness of a string sharing operation, in order to
- * determine if or when it should be performed again.
- *
- * In some cases this does not precisely represent the number of bytes that
- * were saved. For example, say the pool already contains string S1. Now
- * string S2, which is equal to S1 but not identical, is added to the pool five
- * times. This method will return the size of string S2 multiplied by the
- * number of times it was added, even though the actual savings in this case
- * is only the size of a single copy of S2.
- */
- public int getSavedStringCount() {
- return savings;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/FileUtils.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/FileUtils.java
deleted file mode 100644
index e293037..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/FileUtils.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.core.helpers;
-
-import java.io.*;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.zip.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
-
-public class FileUtils {
-
- /**
- * Unzip from a File to an output directory.
- */
- public static File[] unzipFile(File zipFile, File outputDir) throws IOException {
- InputStream in = new FileInputStream(zipFile);
- try {
- return unzipStream(in, zipFile.length(), outputDir, null, null);
- } catch (IOException e) {
- // add the file name to the message
- throw new IOException(NLS.bind(Messages.Util_Error_Unzipping, zipFile, e.getMessage()));
- } finally {
- in.close();
- }
- }
-
- /**
- * Unzip from a File to an output directory, with progress indication.
- * monitor may be null.
- */
- public static File[] unzipFile(File zipFile, File outputDir, String taskName, IProgressMonitor monitor) throws IOException {
- InputStream in = new FileInputStream(zipFile);
- try {
- return unzipStream(in, zipFile.length(), outputDir, taskName, monitor);
- } catch (IOException e) {
- // add the file name to the message
- throw new IOException(NLS.bind(Messages.Util_Error_Unzipping, zipFile, e.getMessage()));
- } finally {
- in.close();
- }
- }
-
- /**
- * Unzip from a URL to an output directory, with progress indication.
- * monitor may be null.
- */
- public static File[] unzipURL(URL zipURL, File outputDir, String taskName, IProgressMonitor monitor) throws IOException {
- int size = zipURL.openConnection().getContentLength();
- InputStream in = zipURL.openStream();
- try {
- return unzipStream(in, size, outputDir, taskName, monitor);
- } catch (IOException e) {
- // add the URL to the message
- throw new IOException(NLS.bind(Messages.Util_Error_Unzipping, zipURL, e.getMessage()));
- } finally {
- in.close();
- }
- }
-
- /**
- * Unzip from an InputStream to an output directory.
- */
- public static File[] unzipStream(InputStream stream, long size, File outputDir, String taskName, IProgressMonitor monitor) throws IOException {
- InputStream is = monitor == null ? stream : stream; // new ProgressMonitorInputStream(stream, size, size, taskName, monitor); TODO Commented code
- ZipInputStream in = new ZipInputStream(new BufferedInputStream(is));
- ZipEntry ze = in.getNextEntry();
- if (ze == null) {
- // There must be at least one entry in a zip file.
- // When there isn't getNextEntry returns null.
- in.close();
- throw new IOException(Messages.Util_Invalid_Zip_File_Format);
- }
- ArrayList unzippedFiles = new ArrayList();
- do {
- File outFile = new File(outputDir, ze.getName());
- unzippedFiles.add(outFile);
- if (ze.isDirectory()) {
- outFile.mkdirs();
- } else {
- if (outFile.exists()) {
- outFile.delete();
- } else {
- outFile.getParentFile().mkdirs();
- }
- try {
- copyStream(in, false, new FileOutputStream(outFile), true);
- } catch (FileNotFoundException e) {
- // TEMP: ignore this for now in case we're trying to replace
- // a running eclipse.exe
- }
- outFile.setLastModified(ze.getTime());
- }
- in.closeEntry();
- } while ((ze = in.getNextEntry()) != null);
- in.close();
-
- return (File[]) unzippedFiles.toArray(new File[unzippedFiles.size()]);
- }
-
- // Delete empty directories under dir, including dir itself.
- public static void deleteEmptyDirs(File dir) throws IOException {
- File[] files = dir.listFiles();
- if (files != null) {
- for (int i = 0; i < files.length; i += 1) {
- deleteEmptyDirs(files[i]);
- }
- dir.getCanonicalFile().delete();
- }
- }
-
- // Delete the given file whether it is a file or a directory
- public static void deleteAll(File file) {
- if (!file.exists())
- return;
- if (file.isDirectory()) {
- File[] files = file.listFiles();
- if (files != null)
- for (int i = 0; i < files.length; i++)
- deleteAll(files[i]);
- }
- file.delete();
- }
-
- /**
- * Copy an input stream to an output stream.
- * Optionally close the streams when done.
- * Return the number of bytes written.
- */
- public static int copyStream(InputStream in, boolean closeIn, OutputStream out, boolean closeOut) throws IOException {
- try {
- int written = 0;
- byte[] buffer = new byte[16 * 1024];
- int len;
- while ((len = in.read(buffer)) != -1) {
- out.write(buffer, 0, len);
- written += len;
- }
- return written;
- } finally {
- try {
- if (closeIn) {
- in.close();
- }
- } finally {
- if (closeOut) {
- out.close();
- }
- }
- }
- }
-
- public static void zip(File[] sourceFiles, File destinationArchive) throws IOException {
- zip(sourceFiles, destinationArchive, true);
- }
-
- public static void zip(File[] sourceFiles, File destinationArchive, boolean includeRoot) throws IOException {
- ZipOutputStream output = new ZipOutputStream(new FileOutputStream(destinationArchive));
- try {
- for (int i = 0; i < sourceFiles.length; i++)
- if (sourceFiles[i].isDirectory())
- zipDir(output, sourceFiles[i], includeRoot ? new Path(sourceFiles[i].getName()) : new Path("")); //$NON-NLS-1$
- else
- zipFile(output, sourceFiles[i], new Path(""));//$NON-NLS-1$
- } finally {
- try {
- // Note! This call will fail miserably if no entries were added to the zip!
- // The file is left open after an exception is thrown.
- output.close();
- } catch (IOException e) {
- // ignore
- }
- }
- }
-
- /*
- * Zip the contents of the given directory into the zip file represented by
- * the given zip stream. Prepend the given prefix to the file paths.
- */
- private static void zipDir(ZipOutputStream output, File source, IPath prefix) {
- File[] files = source.listFiles();
- for (int i = 0; i < files.length; i++) {
- try {
- if (files[i].isFile())
- zipFile(output, files[i], prefix);
- else
- zipDir(output, files[i], prefix.append(files[i].getName()));
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
-
- /*
- * Add the given file to the zip file represented by the specified stream.
- * Prepend the given prefix to the path of the file.
- */
- private static void zipFile(ZipOutputStream output, File sourceFile, IPath prefix) throws IOException {
- InputStream input = new FileInputStream(sourceFile);
- try {
- ZipEntry zipEntry = new ZipEntry(prefix.append(sourceFile.getName()).toString());
- zipEntry.setTime(sourceFile.lastModified());
- output.putNextEntry(zipEntry);
- copyStream(input, true, output, false);
- } finally {
- try {
- input.close();
- } catch (IOException e) {
- // ignore
- }
- try {
- output.closeEntry();
- } catch (IOException e) {
- // ignore
- }
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/Headers.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/Headers.java
deleted file mode 100644
index a2b2fea..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/Headers.java
+++ /dev/null
@@ -1,300 +0,0 @@
-package org.eclipse.equinox.internal.p2.core.helpers;
-
-/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.*;
-import org.eclipse.osgi.util.ManifestElement;
-import org.osgi.framework.BundleException;
-
-/**
- * Headers classes. This class implements a Dictionary that has
- * the following behaviour:
- * <ul>
- * <li>put and remove clear throw UnsupportedOperationException.
- * The Dictionary is thus read-only to others.
- * <li>The String keys in the Dictionary are case-preserved,
- * but the get operation is case-insensitive.
- * </ul>
- * TODO: This class is copied from org.eclipse.osgi due to access restrictions. We
- * can't make this API so we need to find a place for it.
- * @since 3.1
- */
-public class Headers extends Dictionary implements Map {
- private boolean readOnly = false;
- private Object[] headers;
- private Object[] values;
- private int size = 0;
-
- /**
- * Create an empty Headers dictionary.
- *
- * @param initialCapacity The initial capacity of this Headers object.
- */
- public Headers(int initialCapacity) {
- super();
- headers = new Object[initialCapacity];
- values = new Object[initialCapacity];
- }
-
- /**
- * Create a Headers dictionary from a Dictionary.
- *
- * @param values The initial dictionary for this Headers object.
- * @exception IllegalArgumentException If a case-variant of the key is
- * in the dictionary parameter.
- */
- public Headers(Dictionary values) {
- this(values.size());
- /* initialize the headers and values */
- Enumeration keys = values.keys();
- while (keys.hasMoreElements()) {
- Object key = keys.nextElement();
- set(key, values.get(key));
- }
- }
-
- /**
- * Case-preserved keys.
- */
- public synchronized Enumeration keys() {
- return new ArrayEnumeration(headers, size);
- }
-
- /**
- * Values.
- */
- public synchronized Enumeration elements() {
- return new ArrayEnumeration(values, size);
- }
-
- private int getIndex(Object key) {
- boolean stringKey = key instanceof String;
- for (int i = 0; i < size; i++) {
- if (stringKey && (headers[i] instanceof String)) {
- if (((String) headers[i]).equalsIgnoreCase((String) key))
- return i;
- } else {
- if (headers[i].equals(key))
- return i;
- }
- }
- return -1;
- }
-
- private Object remove(int remove) {
- Object removed = values[remove];
- for (int i = remove; i < size; i++) {
- if (i == headers.length - 1) {
- headers[i] = null;
- values[i] = null;
- } else {
- headers[i] = headers[i + 1];
- values[i] = values[i + 1];
- }
- }
- if (remove < size)
- size--;
- return removed;
- }
-
- private void add(Object header, Object value) {
- if (size == headers.length) {
- // grow the arrays
- Object[] newHeaders = new Object[headers.length + 10];
- Object[] newValues = new Object[values.length + 10];
- System.arraycopy(headers, 0, newHeaders, 0, headers.length);
- System.arraycopy(values, 0, newValues, 0, values.length);
- headers = newHeaders;
- values = newValues;
- }
- headers[size] = header;
- values[size] = value;
- size++;
- }
-
- /**
- * Support case-insensitivity for keys.
- *
- * @param key name.
- */
- public synchronized Object get(Object key) {
- int i = -1;
- if ((i = getIndex(key)) != -1)
- return values[i];
- return null;
- }
-
- /**
- * Set a header value or optionally replace it if it already exists.
- *
- * @param key Key name.
- * @param value Value of the key or null to remove key.
- * @param replace A value of true will allow a previous
- * value of the key to be replaced. A value of false
- * will cause an IllegalArgumentException to be thrown
- * if a previous value of the key exists.
- * @return the previous value to which the key was mapped,
- * or null if the key did not have a previous mapping.
- *
- * @exception IllegalArgumentException If a case-variant of the key is
- * already present.
- * @since 3.2
- */
- public synchronized Object set(Object key, Object value, boolean replace) {
- if (readOnly)
- throw new UnsupportedOperationException();
- if (key instanceof String)
- key = ((String) key).intern();
- int i = getIndex(key);
- if (value == null) { /* remove */
- if (i != -1)
- return remove(i);
- } else { /* put */
- if (i != -1) { /* duplicate key */
- if (!replace)
- throw new IllegalArgumentException("HEADER_DUPLICATE_KEY_EXCEPTION: " + key); //$NON-NLS-1$
- Object oldVal = values[i];
- values[i] = value;
- return oldVal;
- }
- add(key, value);
- }
- return null;
- }
-
- /**
- * Set a header value.
- *
- * @param key Key name.
- * @param value Value of the key or null to remove key.
- * @return the previous value to which the key was mapped,
- * or null if the key did not have a previous mapping.
- *
- * @exception IllegalArgumentException If a case-variant of the key is
- * already present.
- */
- public synchronized Object set(Object key, Object value) {
- return set(key, value, false);
- }
-
- public synchronized void setReadOnly() {
- readOnly = true;
- }
-
- /**
- * Returns the number of entries (distinct keys) in this dictionary.
- *
- * @return the number of keys in this dictionary.
- */
- public synchronized int size() {
- return size;
- }
-
- /**
- * Tests if this dictionary maps no keys to value. The general contract
- * for the <tt>isEmpty</tt> method is that the result is true if and only
- * if this dictionary contains no entries.
- *
- * @return <code>true</code> if this dictionary maps no keys to values;
- * <code>false</code> otherwise.
- */
- public synchronized boolean isEmpty() {
- return size == 0;
- }
-
- /**
- * Always throws UnsupportedOperationException.
- *
- * @param key header name.
- * @param value header value.
- * @throws UnsupportedOperationException
- */
- public synchronized Object put(Object key, Object value) {
- if (readOnly)
- throw new UnsupportedOperationException();
- return set(key, value, true);
- }
-
- /**
- * Always throws UnsupportedOperationException.
- *
- * @param key header name.
- * @throws UnsupportedOperationException
- */
- public Object remove(Object key) {
- throw new UnsupportedOperationException();
- }
-
- public String toString() {
- return (values.toString());
- }
-
- public static Headers parseManifest(InputStream in) throws BundleException {
- Headers headers = new Headers(10);
- try {
- ManifestElement.parseBundleManifest(in, headers);
- } catch (IOException e) {
- throw new BundleException("Error reading bundle manifest", e);
- }
- headers.setReadOnly();
- return headers;
- }
-
- class ArrayEnumeration implements Enumeration {
- private Object[] array;
- int cur = 0;
-
- public ArrayEnumeration(Object[] array, int size) {
- this.array = new Object[size];
- System.arraycopy(array, 0, this.array, 0, this.array.length);
- }
-
- public boolean hasMoreElements() {
- return cur < array.length;
- }
-
- public Object nextElement() {
- return array[cur++];
- }
- }
-
- public synchronized void clear() {
- if (readOnly)
- throw new UnsupportedOperationException();
- }
-
- public synchronized boolean containsKey(Object key) {
- return getIndex(key) >= 0;
- }
-
- public boolean containsValue(Object var0) {
- throw new UnsupportedOperationException();
- }
-
- public Set entrySet() {
- throw new UnsupportedOperationException();
- }
-
- public Set keySet() {
- throw new UnsupportedOperationException();
- }
-
- public void putAll(Map var0) {
- throw new UnsupportedOperationException();
- }
-
- public Collection values() {
- throw new UnsupportedOperationException();
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/LogHelper.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/LogHelper.java
deleted file mode 100644
index cb3fd61..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/LogHelper.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.core.helpers;
-
-import java.util.ArrayList;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.Activator;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.osgi.framework.log.FrameworkLog;
-import org.eclipse.osgi.framework.log.FrameworkLogEntry;
-
-public class LogHelper {
-
- public static void log(IStatus status) {
- FrameworkLog log = Activator.getFrameworkLog();
- if (log != null) {
- log.log(getLog(status));
- } else {
- System.out.println(status.getMessage());
- if (status.getException() != null)
- status.getException().printStackTrace();
- }
- }
-
- public static void log(ProvisionException exception) {
- log(new Status(exception.getStatus().getSeverity(), Activator.ID, "Provisioning exception", exception)); //$NON-NLS-1$
- }
-
- /**
- * Copied from PlatformLogWriter in core runtime.
- */
- private static FrameworkLogEntry getLog(IStatus status) {
- Throwable t = status.getException();
- ArrayList childlist = new ArrayList();
-
- int stackCode = t instanceof CoreException ? 1 : 0;
- // ensure a substatus inside a CoreException is properly logged
- if (stackCode == 1) {
- IStatus coreStatus = ((CoreException) t).getStatus();
- if (coreStatus != null) {
- childlist.add(getLog(coreStatus));
- }
- }
-
- if (status.isMultiStatus()) {
- IStatus[] children = status.getChildren();
- for (int i = 0; i < children.length; i++) {
- childlist.add(getLog(children[i]));
- }
- }
-
- FrameworkLogEntry[] children = (FrameworkLogEntry[]) (childlist.size() == 0 ? null : childlist.toArray(new FrameworkLogEntry[childlist.size()]));
-
- return new FrameworkLogEntry(status.getPlugin(), status.getSeverity(), status.getCode(), status.getMessage(), stackCode, t, children);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/Messages.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/Messages.java
deleted file mode 100644
index 7b00a7f..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/Messages.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.core.helpers;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.core.helpers.messages"; //$NON-NLS-1$
-
- static {
- // load message values from bundle file and assign to fields below
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- public static String Util_Invalid_Zip_File_Format;
- public static String Util_Error_Unzipping;
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/OrderedProperties.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/OrderedProperties.java
deleted file mode 100644
index 3c2c852..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/OrderedProperties.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.core.helpers;
-
-import java.util.*;
-
-/**
- * A Properties collection that maintains the order of insertion.
- * <p>
- * This class is used to store properties similar to {@link java.util.Properties}.
- * In particular both keys and values are strings and must be not null.
- * However this class is somewhat simplified and does not implement Cloneable,
- * Serializable and Hashtable.
- * <p>
- * In contrast to java.util.Properties this class maintains the order by which
- * properties are added. This is implemented using a {@link LinkedHashMap}.
- * <p>
- * The class does not support default properties as they can be expressed by
- * creating java.util.Properties hierarchies.
- */
-public class OrderedProperties extends Dictionary implements Map {
-
- LinkedHashMap propertyMap = null;
-
- public static OrderedProperties unmodifiableProperties(Map properties) {
- return new UnmodifiableProperties(properties);
- }
-
- public OrderedProperties() {
- super();
- }
-
- public OrderedProperties(int size) {
- super();
- propertyMap = new LinkedHashMap(size);
- }
-
- public OrderedProperties(OrderedProperties properties) {
- super();
- propertyMap = new LinkedHashMap(properties.size());
- putAll(properties);
- }
-
- /**
- * Set the property value.
- * <p>
- * If a property with the key already exists, the previous
- * value is replaced. Otherwise a new property is added at
- * the end collection.
- *
- * @param key must not be null
- * @param value must not be null
- * @return previous value associated with specified key, or <tt>null</tt>
- * if there was no mapping for key.
- */
- public Object setProperty(String key, String value) {
- init();
- return propertyMap.put(key, value);
- }
-
- public String getProperty(String key) {
- return (String) (propertyMap == null ? null : propertyMap.get(key));
- }
-
- public void putAll(OrderedProperties properties) {
- putAll((Map) properties);
- }
-
- /**
- * Initialize the map.
- */
- private void init() {
- if (propertyMap == null) {
- propertyMap = new LinkedHashMap();
- }
- }
-
- public int size() {
- return propertyMap == null ? 0 : propertyMap.size();
- }
-
- public boolean isEmpty() {
- return propertyMap == null ? true : propertyMap.isEmpty();
- }
-
- public synchronized void clear() {
- propertyMap = null;
- }
-
- public Object put(Object arg0, Object arg1) {
- init();
- return propertyMap.put(arg0, arg1);
- }
-
- public boolean containsKey(Object key) {
- return propertyMap != null ? propertyMap.containsKey(key) : false;
- }
-
- public boolean containsValue(Object value) {
- return propertyMap != null ? propertyMap.containsValue(value) : false;
- }
-
- public Set entrySet() {
- return propertyMap != null ? propertyMap.entrySet() : Collections.EMPTY_SET;
- }
-
- public Object get(Object key) {
- return propertyMap != null ? propertyMap.get(key) : null;
- }
-
- public Set keySet() {
- return propertyMap != null ? propertyMap.keySet() : Collections.EMPTY_SET;
- }
-
- public void putAll(Map arg0) {
- init();
- propertyMap.putAll(arg0);
- }
-
- public Object remove(Object key) {
- return propertyMap != null ? propertyMap.remove(key) : null;
- }
-
- public Collection values() {
- return propertyMap != null ? propertyMap.values() : Collections.EMPTY_LIST;
- }
-
- public boolean equals(Object o) {
- if (o == this)
- return true;
- if (o instanceof OrderedProperties) {
- OrderedProperties rhs = (OrderedProperties) o;
- if (rhs.propertyMap == this.propertyMap)
- return true;
- if (rhs.propertyMap == null || this.propertyMap == null)
- return false;
- return rhs.propertyMap.equals(this.propertyMap);
- }
- return propertyMap.equals(o);
- }
-
- public int hashCode() {
- return propertyMap != null ? propertyMap.hashCode() : 0;
- }
-
- public String toString() {
- StringBuffer sb = new StringBuffer();
- sb.append(propertyMap);
- return sb.toString();
- }
-
- private class ElementsEnum implements Enumeration {
-
- Iterator iterator = null;
-
- public ElementsEnum(OrderedProperties properties) {
- iterator = properties.propertyMap.values().iterator();
- }
-
- public boolean hasMoreElements() {
- return iterator.hasNext();
- }
-
- public Object nextElement() {
- return iterator.next();
- }
- }
-
- public Enumeration elements() {
- return new ElementsEnum(this);
- }
-
- private class KeysEnum implements Enumeration {
-
- Iterator iterator = null;
-
- public KeysEnum(OrderedProperties properties) {
- iterator = properties.propertyMap.keySet().iterator();
- }
-
- public boolean hasMoreElements() {
- return iterator.hasNext();
- }
-
- public Object nextElement() {
- return iterator.next();
- }
- }
-
- public Enumeration keys() {
- return new KeysEnum(this);
- }
-
- private static class UnmodifiableProperties extends OrderedProperties {
-
- UnmodifiableProperties(Map properties) {
- super();
- for (Iterator iter = properties.entrySet().iterator(); iter.hasNext();) {
- Map.Entry entry = (Map.Entry) iter.next();
- super.put(entry.getKey(), entry.getValue());
- }
- }
-
- public synchronized Object setProperty(String key, String value) {
- throw new UnsupportedOperationException();
- }
-
- public synchronized Object put(Object key, Object value) {
- throw new UnsupportedOperationException();
- }
-
- public synchronized Object remove(Object key) {
- throw new UnsupportedOperationException();
- }
-
- public synchronized void putAll(Map t) {
- throw new UnsupportedOperationException();
- }
-
- public synchronized void clear() {
- throw new UnsupportedOperationException();
- }
-
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/ServiceHelper.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/ServiceHelper.java
deleted file mode 100644
index e09fb66..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/ServiceHelper.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.core.helpers;
-
-import org.osgi.framework.*;
-
-public class ServiceHelper {
- /**
- * Returns the service described by the given arguments. Note that this is a helper class
- * that <b>immediately</b> ungets the service reference. This results in a window where the
- * system thinks the service is not in use but indeed the caller is about to use the returned
- * service object.
- * @param context
- * @param name
- * @return The requested service
- */
- public static Object getService(BundleContext context, String name) {
- if (context == null)
- return null;
- ServiceReference reference = context.getServiceReference(name);
- if (reference == null)
- return null;
- Object result = context.getService(reference);
- context.ungetService(reference);
- return result;
- }
-
- public static Object getService(BundleContext context, String name, String filter) {
- ServiceReference[] references;
- try {
- references = context.getServiceReferences(name, filter);
- } catch (InvalidSyntaxException e) {
- // TODO Auto-generated catch block
- return null;
- }
- if (references == null || references.length == 0)
- return null;
- Object result = context.getService(references[0]);
- context.ungetService(references[0]);
- return result;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/Tracing.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/Tracing.java
deleted file mode 100644
index 6f81df5..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/Tracing.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.core.helpers;
-
-import java.util.Date;
-import org.eclipse.equinox.internal.p2.core.Activator;
-import org.eclipse.osgi.service.debug.DebugOptions;
-
-/**
- * Manages debug tracing options and provides convenience methods for printing
- * debug statements.
- */
-public class Tracing {
- //master p2 debug flag
- public static boolean DEBUG = false;
-
- //debug constants
- public static boolean DEBUG_PARSE_PROBLEMS = false;
- public static boolean DEBUG_GENERATOR_PARSING = false;
- public static boolean DEBUG_INSTALL_REGISTRY = false;
- public static boolean DEBUG_METADATA_PARSING = false;
- public static boolean DEBUG_MIRRORS = false;
-
- static {
- DebugOptions options = (DebugOptions) ServiceHelper.getService(Activator.context, DebugOptions.class.getName());
- if (options != null) {
- DEBUG = options.getBooleanOption(Activator.ID + "/debug", false); //$NON-NLS-1$
- if (DEBUG) {
- DEBUG_PARSE_PROBLEMS = options.getBooleanOption(Activator.ID + "/core/parseproblems", false); //$NON-NLS-1$
- DEBUG_GENERATOR_PARSING = options.getBooleanOption(Activator.ID + "/generator/parsing", false); //$NON-NLS-1$
- DEBUG_INSTALL_REGISTRY = options.getBooleanOption(Activator.ID + "/engine/installregistry", false); //$NON-NLS-1$
- DEBUG_METADATA_PARSING = options.getBooleanOption(Activator.ID + "/metadata/parsing", false); //$NON-NLS-1$
- DEBUG_MIRRORS = options.getBooleanOption(Activator.ID + "/artifacts/mirrors", false); //$NON-NLS-1$
- }
- }
- }
-
- /**
- * Prints a debug message on stdout. Callers should first ensure their specific
- * debug option is enabled.
- */
- public static void debug(String message) {
- StringBuffer buffer = new StringBuffer();
- buffer.append("[p2] "); //$NON-NLS-1$
- buffer.append(new Date(System.currentTimeMillis()));
- buffer.append(" - ["); //$NON-NLS-1$
- buffer.append(Thread.currentThread().getName());
- buffer.append("] "); //$NON-NLS-1$
- buffer.append(message);
- System.out.println(buffer.toString());
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/URLUtil.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/URLUtil.java
deleted file mode 100644
index 4074d9e..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/URLUtil.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.core.helpers;
-
-import java.io.File;
-import java.net.*;
-
-/**
- * A utility class for manipulating URLs. This class works around some of the
- * broken behavior of the java.net.URL class.
- */
-public class URLUtil {
- /*
- * Compares two URL for equality.
- * Return false if one of them is null
- */
- public static boolean sameURL(URL url1, URL url2) {
- if (url1 == url2)
- return true;
- if (url1 == null || url2 == null)
- return false;
- if (url1.equals(url2))
- return true;
-
- // check if we have two local file references that are case variants
- File file1 = toFile(url1);
- return file1 == null ? false : file1.equals(toFile(url2));
- }
-
- /**
- * Returns the URL as a local file, or <code>null</code> if the given
- * URL does not represent a local file.
- * @param url The url to return the file for
- * @return The local file corresponding to the given url, or <code>null</code>
- */
- public static File toFile(URL url) {
- try {
- if (!"file".equalsIgnoreCase(url.getProtocol())) //$NON-NLS-1$
- return null;
- //assume all illegal characters have been properly encoded, so use URI class to unencode
- return new File(new URI(url.toExternalForm()));
- } catch (Exception e) {
- //URL contains unencoded characters
- return new File(url.getFile());
- }
- }
-
- /**
- * Returns the URL as a URI. This method will handle broken URLs that are
- * not properly encoded (for example they contain unencoded space characters).
- */
- public static URI toURI(URL url) throws URISyntaxException {
- try {
- return new URI(url.toExternalForm());
- } catch (URISyntaxException e) {
- //try multi-argument URI constructor to perform encoding
- return new URI(url.getProtocol(), url.getUserInfo(), url.getHost(), url.getPort(), url.getPath(), url.getQuery(), url.getRef());
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/messages.properties b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/messages.properties
deleted file mode 100644
index b6485bf..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/messages.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-Util_Invalid_Zip_File_Format=Invalid zip file format
-Util_Error_Unzipping=Error unzipping {0}: {1}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/messages.properties b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/messages.properties
deleted file mode 100644
index 352e40c..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/messages.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-location_cannotLockNIO = An error occurred while locking file \"{0}\": \"{1}\". A common reason is that the file system or Runtime Environment does not support file locking for that location. Please choose a different location, or disable file locking passing {2} as a VM argument.
-location_cannotLock = An error occurred while locking file \"{0}\".
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/persistence/Messages.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/persistence/Messages.java
deleted file mode 100644
index 853e03b..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/persistence/Messages.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.persistence;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.persistence.messages"; //$NON-NLS-1$
-
- static {
- // load message values from bundle file and assign to fields below
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- public static String XMLParser_No_SAX_Parser;
- public static String XMLParser_Error_At_Line;
- public static String XMLParser_Error_At_Line_Column;
- public static String XMLParser_Error_At_Name_Line;
- public static String XMLParser_Error_At_Name_Line_Column;
- public static String XMLParser_Missing_Required_Attribute;
- public static String XMLParser_Unexpected_Attribute;
- public static String XMLParser_Illegal_Value_For_Attribute;
- public static String XMLParser_Unexpected_Element;
- public static String XMLParser_Duplicate_Element;
- public static String XMLParser_Unexpected_Character_Data;
- public static String XMLParser_Element_Not_Allowed;
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/persistence/XMLConstants.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/persistence/XMLConstants.java
deleted file mode 100644
index 607b846..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/persistence/XMLConstants.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Genuitec, LLC - added license support
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.persistence;
-
-public interface XMLConstants {
-
- // Constants used in defining a default processing instruction
- // including a class name and a version of the associated XML
- // for some category of objects.
- // e.g. <?category class='a.b.c.SomeClass' version='1.2.3'?>
- //
- public static final String PI_CLASS_ATTRIBUTE = "class"; //$NON-NLS-1$
- public static final String PI_VERSION_ATTRIBUTE = "version"; //$NON-NLS-1$
-
- // Element and attribute names for a standard property collection.
- // e.g. <properties size='1'>
- // <property name='some_name' value='some_value'/>
- // </properties>
- public static final String PROPERTIES_ELEMENT = "properties"; //$NON-NLS-1$
- public static final String PROPERTY_ELEMENT = "property"; //$NON-NLS-1$
- public static final String PROPERTY_NAME_ATTRIBUTE = "name"; //$NON-NLS-1$
- public static final String PROPERTY_VALUE_ATTRIBUTE = "value"; //$NON-NLS-1$
-
- // Constants for the names of common general attributes
- public static final String ID_ATTRIBUTE = "id"; //$NON-NLS-1$
- public static final String PARENT_ID_ATTRIBUTE = "parentId"; //$NON-NLS-1$
- public static final String TYPE_ATTRIBUTE = "type"; //$NON-NLS-1$
- public static final String NAME_ATTRIBUTE = "name"; //$NON-NLS-1$
- public static final String VERSION_ATTRIBUTE = "version"; //$NON-NLS-1$
- public static final String VERSION_RANGE_ATTRIBUTE = "range"; //$NON-NLS-1$
- public static final String NAMESPACE_ATTRIBUTE = "namespace"; //$NON-NLS-1$
- public static final String CLASSIFIER_ATTRIBUTE = "classifier"; //$NON-NLS-1$
- public static final String DESCRIPTION_ATTRIBUTE = "description"; //$NON-NLS-1$
- public static final String PROVIDER_ATTRIBUTE = "provider"; //$NON-NLS-1$
- public static final String URL_ATTRIBUTE = "url"; //$NON-NLS-1$
-
- // Constants for the license and copyright elements
- public static final String LICENSES_ELEMENT = "licenses"; //$NON-NLS-1$
- public static final String LICENSE_ELEMENT = "license"; //$NON-NLS-1$
- public static final String COPYRIGHT_ELEMENT = "copyright"; //$NON-NLS-1$
-
- // A constant for the name of an attribute of a collection or array element
- // specifying the size or length
- public static final String COLLECTION_SIZE_ATTRIBUTE = "size"; //$NON-NLS-1$
-
- // A constant for an empty array of attribute names
- public static String[] noAttributes = new String[0];
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/persistence/XMLParser.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/persistence/XMLParser.java
deleted file mode 100644
index 3be22a4..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/persistence/XMLParser.java
+++ /dev/null
@@ -1,724 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.persistence;
-
-import java.util.List;
-import java.util.StringTokenizer;
-import javax.xml.parsers.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.Activator;
-import org.eclipse.equinox.internal.p2.core.StringPool;
-import org.eclipse.equinox.internal.p2.core.helpers.OrderedProperties;
-import org.eclipse.equinox.internal.p2.core.helpers.Tracing;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.Version;
-import org.osgi.util.tracker.ServiceTracker;
-import org.xml.sax.*;
-import org.xml.sax.helpers.DefaultHandler;
-
-public abstract class XMLParser extends DefaultHandler implements XMLConstants {
-
- // Get the root object that is being parsed.
- protected abstract Object getRootObject();
-
- // Get a generic parser error message for inclusion in an error status
- protected abstract String getErrorMessage();
-
- protected BundleContext context; // parser class bundle context
- protected String bundleId; // parser class bundle id
-
- protected XMLReader xmlReader; // the XML reader for the parser
-
- protected MultiStatus status = null; // accumulation of non-fatal errors
- protected Locator locator = null; // document locator, if supported by the parser
-
- protected StringPool stringPool = new StringPool();//used to eliminate string duplication
- private IProgressMonitor monitor;
-
- private static ServiceTracker xmlTracker = null;
-
- public XMLParser(BundleContext context, String pluginId) {
- super();
- this.context = context;
- this.bundleId = pluginId;
- }
-
- /**
- * Non-fatal errors accumulated during parsing.
- */
- public IStatus getStatus() {
- return (status != null ? status : Status.OK_STATUS);
- }
-
- /**
- * Returns the canonical form of a string. Used to eliminate duplicate equal
- * strings.
- */
- protected String canonicalize(String string) {
- return stringPool == null ? string : stringPool.add(string);
- }
-
- public boolean isValidXML() {
- return (status == null || !status.matches(IStatus.ERROR | IStatus.CANCEL));
- }
-
- private static SAXParserFactory acquireXMLParsing(BundleContext context) {
- if (xmlTracker == null) {
- xmlTracker = new ServiceTracker(context, SAXParserFactory.class.getName(), null);
- xmlTracker.open();
- }
- return (SAXParserFactory) xmlTracker.getService();
- }
-
- protected static void releaseXMLParsing() {
- if (xmlTracker != null) {
- xmlTracker.close();
- }
- }
-
- protected SAXParser getParser() throws ParserConfigurationException, SAXException {
- SAXParserFactory factory = acquireXMLParsing(this.context);
- if (factory == null) {
- throw new SAXException(Messages.XMLParser_No_SAX_Parser);
- }
- factory.setNamespaceAware(true);
- factory.setValidating(false);
- try {
- factory.setFeature("http://xml.org/sax/features/string-interning", true); //$NON-NLS-1$
- } catch (SAXException se) {
- // some parsers may not support string interning
- }
- SAXParser theParser = factory.newSAXParser();
- if (theParser == null) {
- throw new SAXException(Messages.XMLParser_No_SAX_Parser);
- }
- xmlReader = theParser.getXMLReader();
- return theParser;
- }
-
- public static String makeSimpleName(String localName, String qualifiedName) {
- if (localName != null && localName.length() > 0) {
- return localName;
- }
- int nameSpaceIndex = qualifiedName.indexOf(":"); //$NON-NLS-1$
- return (nameSpaceIndex == -1 ? qualifiedName : qualifiedName.substring(nameSpaceIndex + 1));
- }
-
- /**
- * Set the document locator for the parser
- *
- * @see org.xml.sax.ContentHandler#setDocumentLocator
- */
- public void setDocumentLocator(Locator docLocator) {
- locator = docLocator;
- }
-
- /**
- * Sets the progress monitor for the parser
- */
- protected void setProgressMonitor(IProgressMonitor monitor) {
- this.monitor = monitor;
- }
-
- /**
- * Abstract base class for content handlers
- */
- protected abstract class AbstractHandler extends DefaultHandler {
-
- protected ContentHandler parentHandler = null;
- protected String elementHandled = null;
-
- protected StringBuffer characters = null; // character data inside an element
-
- public AbstractHandler() {
- // Empty constructor for a root handler
- }
-
- public AbstractHandler(ContentHandler parentHandler) {
- this.parentHandler = parentHandler;
- xmlReader.setContentHandler(this);
- }
-
- public AbstractHandler(ContentHandler parentHandler, String elementHandled) {
- this.parentHandler = parentHandler;
- xmlReader.setContentHandler(this);
- this.elementHandled = elementHandled;
- }
-
- /**
- * Set the document locator for the parser
- *
- * @see org.xml.sax.ContentHandler#setDocumentLocator
- */
- public void setDocumentLocator(Locator docLocator) {
- locator = docLocator;
- }
-
- public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
- finishCharacters();
- String name = makeSimpleName(localName, qName);
- trace(name, attributes);
- startElement(name, attributes);
- }
-
- public abstract void startElement(String name, Attributes attributes) throws SAXException;
-
- public void invalidElement(String name, Attributes attributes) {
- unexpectedElement(this, name, attributes);
- new IgnoringHandler(this);
- }
-
- public void endElement(String namespaceURI, String localName, String qName) {
- // TODO: throw a bad state error if makeSimpleName(localName, qName) != elementHandled
- finishCharacters();
- finished();
- // Restore the parent content handler
- xmlReader.setContentHandler(parentHandler);
- }
-
- /**
- * An implementation for startElement when there are no sub-elements
- */
- protected void noSubElements(String name, Attributes attributes) {
- unexpectedElement(this, name, attributes);
- // Create a new handler to ignore subsequent nested elements
- new IgnoringHandler(this);
- }
-
- /*
- * Save up character data until endElement or nested startElement
- *
- * @see org.xml.sax.ContentHandler#characters
- */
- public void characters(char[] chars, int start, int length) {
- if (this.characters == null) {
- this.characters = new StringBuffer();
- }
- this.characters.append(chars, start, length);
- }
-
- // Consume the characters accumulated in this.characters.
- // Called before startElement or endElement
- private String finishCharacters() {
- // common case -- no characters or only whitespace
- if (this.characters == null || this.characters.length() == 0) {
- return null;
- }
- if (allWhiteSpace(this.characters)) {
- this.characters.setLength(0);
- return null;
- }
-
- // process the characters
- try {
- String trimmedChars = this.characters.toString().trim();
- if (trimmedChars.length() == 0) {
- // this shouldn't happen due to the test for allWhiteSpace above
- System.err.println("Unexpected non-whitespace characters: " //$NON-NLS-1$
- + trimmedChars);
- return null;
- }
- processCharacters(trimmedChars);
- return trimmedChars;
- } finally {
- this.characters.setLength(0);
- }
- }
-
- // Method to override in the handler of an element with CDATA.
- protected void processCharacters(String data) {
- if (data.length() > 0) {
- unexpectedCharacterData(this, data);
- }
- }
-
- private boolean allWhiteSpace(StringBuffer sb) {
- int length = sb.length();
- for (int i = 0; i < length; i += 1) {
- if (!Character.isWhitespace(sb.charAt(i))) {
- return false;
- }
- }
- return true;
- }
-
- /**
- * Called when this element and all elements nested into it have been
- * handled.
- */
- protected void finished() {
- // Do nothing by default
- }
-
- /*
- * A name used to identify the handler.
- */
- public String getName() {
- return (elementHandled != null ? elementHandled : "NoName"); //$NON-NLS-1$
- }
-
- /**
- * Parse the attributes of an element with two required attributes.
- */
- protected String[] parseRequiredAttributes(Attributes attributes, String name1, String name2) {
- return parseRequiredAttributes(attributes, new String[] {name1, name2});
- }
-
- /**
- * Parse the attributes of an element with only required attributes.
- */
- protected String[] parseRequiredAttributes(Attributes attributes, String[] required) {
- return parseAttributes(attributes, required, noAttributes);
- }
-
- /**
- * Parse the attributes of an element with a single optional attribute.
- */
- protected String parseOptionalAttribute(Attributes attributes, String name) {
- return parseAttributes(attributes, noAttributes, new String[] {name})[0];
- }
-
- /**
- * Parse the attributes of an element, given the list of required and optional ones.
- * Return values in same order, null for those not present.
- * Log warnings for extra attributes or missing required attributes.
- */
- protected String[] parseAttributes(Attributes attributes, String[] required, String[] optional) {
- String[] result = new String[required.length + optional.length];
- for (int i = 0; i < attributes.getLength(); i += 1) {
- String name = attributes.getLocalName(i);
- String value = canonicalize(attributes.getValue(i).trim());
- int j;
- if ((j = indexOf(required, name)) >= 0) {
- result[j] = value;
- } else if ((j = indexOf(optional, name)) >= 0) {
- result[required.length + j] = value;
- } else {
- unexpectedAttribute(elementHandled, name, value);
- }
- }
- for (int i = 0; i < required.length; i += 1) {
- checkRequiredAttribute(elementHandled, required[i], result[i]);
- }
- return result;
- }
-
- }
-
- /**
- * Handler for an XML document.
- *
- * Using the inelegant name 'DocHandler' to clearly distinguish
- * this class from the deprecated org.xml.sax.DocumentHandler.
- */
- protected class DocHandler extends AbstractHandler {
-
- RootHandler rootHandler;
-
- public DocHandler(String rootName, RootHandler rootHandler) {
- super(null, rootName);
- this.rootHandler = rootHandler;
- }
-
- public void startElement(String name, Attributes attributes) {
- if (name.equals(elementHandled)) {
- rootHandler.initialize(this, name, attributes);
- xmlReader.setContentHandler(rootHandler);
- } else {
- this.noSubElements(name, attributes);
- }
- }
-
- }
-
- /**
- * Abstract handler for the root element.
- */
- protected abstract class RootHandler extends AbstractHandler {
-
- public RootHandler() {
- super();
- }
-
- public void initialize(DocHandler document, String rootName, Attributes attributes) {
- this.parentHandler = document;
- this.elementHandled = rootName;
- handleRootAttributes(attributes);
- }
-
- protected abstract void handleRootAttributes(Attributes attributes);
-
- }
-
- /**
- * Handler for an ordered properties collection.
- */
- protected class PropertiesHandler extends AbstractHandler {
-
- private OrderedProperties properties;
-
- public PropertiesHandler(ContentHandler parentHandler, Attributes attributes) {
- super(parentHandler, PROPERTIES_ELEMENT);
- String size = parseOptionalAttribute(attributes, COLLECTION_SIZE_ATTRIBUTE);
- properties = (size != null ? new OrderedProperties(new Integer(size).intValue()) : new OrderedProperties());
- }
-
- public OrderedProperties getProperties() {
- return properties;
- }
-
- public void startElement(String name, Attributes attributes) {
- if (name.equals(PROPERTY_ELEMENT)) {
- new PropertyHandler(this, attributes, properties);
- } else {
- invalidElement(name, attributes);
- }
- }
-
- }
-
- /**
- * Handler for a property in an ordered properties collection.
- */
- protected class PropertyHandler extends AbstractHandler {
-
- public PropertyHandler(ContentHandler parentHandler, Attributes attributes, OrderedProperties properties) {
- super(parentHandler, PROPERTY_ELEMENT);
- String[] property = parseProperty(attributes);
- if (isValidProperty(property)) {
- properties.setProperty(property[0], property[1]);
- }
- }
-
- public void startElement(String name, Attributes attributes) {
- invalidElement(name, attributes);
- }
-
- private String[] parseProperty(Attributes attributes) {
- return parseRequiredAttributes(attributes, PROPERTY_NAME_ATTRIBUTE, PROPERTY_VALUE_ATTRIBUTE);
- }
-
- private boolean isValidProperty(String[] property) {
- return (property.length == 2 && property[0] != null && property[1] != null);
- }
- }
-
- /**
- * Handler for an element with only cdata and no sub-elements.
- */
- protected class TextHandler extends AbstractHandler {
-
- private String text = null;
-
- private List texts = null;
-
- // Constructor for a subclass that processes the attributes
- public TextHandler(AbstractHandler parent, String elementName) {
- super(parent, elementName);
- }
-
- // Constructor for a subclass with no attributes
- public TextHandler(AbstractHandler parent, String elementName, Attributes attributes) {
- super(parent, elementName);
- parseAttributes(attributes, noAttributes, noAttributes);
- }
-
- public TextHandler(AbstractHandler parent, String elementName, Attributes attributes, List texts) {
- super(parent, elementName);
- parseAttributes(attributes, noAttributes, noAttributes);
- this.texts = texts;
- }
-
- public String getText() {
- return (text != null ? text : ""); //$NON-NLS-1$
- }
-
- public void startElement(String name, Attributes attributes) {
- invalidElement(name, attributes);
- }
-
- protected void processCharacters(String data) {
- this.text = data;
- if (texts != null) {
- texts.add(getText());
- }
- }
-
- }
-
- /**
- * Handler for ignoring content.
- */
- protected class IgnoringHandler extends AbstractHandler {
-
- public IgnoringHandler(AbstractHandler parent) {
- super(parent);
- this.elementHandled = "IgnoringAll"; //$NON-NLS-1$
- }
-
- public void startElement(String name, Attributes attributes) {
- noSubElements(name, attributes);
- }
-
- }
-
- // Helpers for processing instructions that include a Class and/or a Version.
-
- public String extractPIClass(String data) {
- return extractPIAttribute(data, PI_CLASS_ATTRIBUTE);
- }
-
- public Version extractPIVersion(String target, String data) {
- return checkVersion(target, PI_VERSION_ATTRIBUTE, extractPIAttribute(data, PI_VERSION_ATTRIBUTE));
- }
-
- private String extractPIAttribute(String data, String key) {
- StringTokenizer piTokenizer = new StringTokenizer(data, " \'\""); //$NON-NLS-1$
- String[] tokens = new String[piTokenizer.countTokens()];
- int index = 0;
- int valueIndex = -1;
- while (piTokenizer.hasMoreTokens() && index < tokens.length) {
- tokens[index] = piTokenizer.nextToken();
- if (tokens[index].equals(key + '=') && index < tokens.length) {
- valueIndex = index + 1;
- }
- index++;
- }
- return (valueIndex >= 0 ? tokens[valueIndex] : ""); //$NON-NLS-1$
- }
-
- public void error(SAXParseException ex) {
- addError(IStatus.WARNING, ex.getMessage(), ex);
- }
-
- public void fatalError(SAXParseException ex) {
- addError(IStatus.ERROR, ex.getMessage(), ex);
- }
-
- protected String getErrorPrefix() {
- return null;
- }
-
- protected String getErrorSuffix() {
- return null;
- }
-
- /**
- * Collects an error or warning that occurred during parsing.
- */
- public final void addError(int severity, String msg, Throwable exception) {
- int line = 0;
- int column = 0;
- String key = msg;
- Object[] args = new Object[] {};
- String root = (getRootObject() == null ? "" //$NON-NLS-1$
- : " (" + getRootObject() + ")"); //$NON-NLS-1$ //$NON-NLS-2$
- if (this.locator != null) {
- String name = this.locator.getSystemId();
- line = this.locator.getLineNumber();
- column = this.locator.getColumnNumber();
- if (line > 0) {
- args = new Object[] {msg, root, name, new Integer(line), new Integer(column)};
- if (column > 0) {
- key = (name != null ? Messages.XMLParser_Error_At_Name_Line_Column //
- : Messages.XMLParser_Error_At_Line_Column);
- } else {
- key = (name != null ? Messages.XMLParser_Error_At_Name_Line //
- : Messages.XMLParser_Error_At_Line);
- }
- }
- }
- String errMsg = NLS.bind(key, args);
- String prefix = getErrorPrefix();
- String suffix = getErrorSuffix();
- if (prefix != null) {
- errMsg = prefix + errMsg;
- }
- if (suffix != null) {
- errMsg = errMsg + suffix;
- }
- IStatus currStatus = new Status(severity, Activator.ID, errMsg, exception);
- if (this.status == null) {
- this.status = new MultiStatus(bundleId, IStatus.OK, new IStatus[] {currStatus}, getErrorMessage(), null);
- } else {
- this.status.add(currStatus);
- }
- }
-
- public void trace(String element, Attributes attributes) {
- // TODO: support logging
- // if (!getLogger().isDebugLoggable()) {
- // return;
- // }
- // int indentSize = (this.stateStack != null ? this.stateStack.size() - 1 : 1);
- // if (attributes == null) {
- // indentSize -= 1;
- // }
- // char[] indent = new char[2 * indentSize];
- // Arrays.fill(indent, ' ');
- // StringBuffer sb = new StringBuffer();
- // sb.append(indent);
- // sb.append('<');
- // if (attributes != null) {
- // sb.append(element);
- // toString(sb, attributes);
- // } else {
- // sb.append('/').append(element);
- // }
- // sb.append('>');
- // getLogger().debug(sb.toString());
- }
-
- private static String toString(Attributes attributes) {
- StringBuffer result = new StringBuffer();
- toString(result, attributes);
- return result.toString();
- }
-
- private static void toString(StringBuffer sb, Attributes attributes) {
- for (int i = 0; i < attributes.getLength(); i += 1) {
- String name = attributes.getLocalName(i);
- String value = attributes.getValue(i).trim();
- sb.append(' ').append(name);
- sb.append('=').append('"');
- sb.append(value);
- sb.append('"');
- }
- }
-
- public void checkRequiredAttribute(String element, String name, Object value) {
- if (value == null) {
- addError(IStatus.WARNING, NLS.bind(Messages.XMLParser_Missing_Required_Attribute, element, name), null);
- }
- }
-
- // Check the format of a required boolean attribute
- public Boolean checkBoolean(String element, String attribute, String value) {
- try {
- return Boolean.valueOf(value);
- } catch (IllegalArgumentException iae) {
- invalidAttributeValue(element, attribute, value);
- } catch (NullPointerException npe) {
- invalidAttributeValue(element, attribute, null);
- }
- return Boolean.FALSE;
- }
-
- // Check the format of an optional boolean attribute
- public Boolean checkBoolean(String element, String attribute, String value, boolean defaultValue) {
- Boolean result = (defaultValue ? Boolean.TRUE : Boolean.FALSE);
- if (value != null) {
- try {
- return Boolean.valueOf(value);
- } catch (IllegalArgumentException iae) {
- invalidAttributeValue(element, attribute, value);
- }
- }
- return result;
- }
-
- // Check the format of a required integer attribute
- public int checkInteger(String element, String attribute, String value) {
- try {
- return Integer.parseInt(value);
- } catch (IllegalArgumentException iae) {
- invalidAttributeValue(element, attribute, value);
- }
- return 0;
- }
-
- public void checkCancel() {
- if (monitor != null && monitor.isCanceled())
- throw new OperationCanceledException();
- }
-
- /**
- * Converts a version string to a Version object. Returns the version object,
- * or {@link Version#emptyVersion} if the value was not a valid version.
- */
- public Version checkVersion(String element, String attribute, String value) {
- try {
- if (value != null)
- return new Version(value);
- } catch (IllegalArgumentException iae) {
- invalidAttributeValue(element, attribute, value);
- } catch (NullPointerException npe) {
- invalidAttributeValue(element, attribute, null);
- }
- return Version.emptyVersion;
- }
-
- public VersionRange checkVersionRange(String element, String attribute, String value) {
- try {
- return new VersionRange(value);
- } catch (IllegalArgumentException iae) {
- invalidAttributeValue(element, attribute, value);
- } catch (NullPointerException npe) {
- invalidAttributeValue(element, attribute, null);
- }
- return VersionRange.emptyRange;
- }
-
- public void unexpectedAttribute(String element, String attribute, String value) {
- if (Tracing.DEBUG_PARSE_PROBLEMS)
- Tracing.debug("Unexpected attribute for element " + element + ": " + attribute + '=' + value); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- public void invalidAttributeValue(String element, String attribute, String value) {
- addError(IStatus.WARNING, NLS.bind(Messages.XMLParser_Illegal_Value_For_Attribute, new Object[] {attribute, element, value}), null);
- }
-
- public void unexpectedElement(AbstractHandler handler, String element, Attributes attributes) {
- if (Tracing.DEBUG_PARSE_PROBLEMS)
- Tracing.debug("Unexpected element in element " + handler.getName() + ": <" + element + toString(attributes) + '>'); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- public void duplicateElement(AbstractHandler handler, String element, Attributes attributes) {
- addError(IStatus.WARNING, NLS.bind(Messages.XMLParser_Duplicate_Element, new Object[] {handler.getName(), element, toString(attributes)}), null);
- }
-
- public void unexpectedCharacterData(AbstractHandler handler, String cdata) {
- if (Tracing.DEBUG_PARSE_PROBLEMS)
- Tracing.debug("Unexpected character data in element " + handler.getName() + ": " + cdata.trim()); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- /**
- * Find the index of the first occurrence of object in array, or -1.
- * Use Arrays.binarySearch if array is big and sorted.
- */
- protected static int indexOf(String[] array, String value) {
- for (int i = 0; i < array.length; i += 1) {
- if (value == null ? array[i] == null : value.equals(array[i])) {
- return i;
- }
- }
- return -1;
- }
-
- // public class BadStateError extends AssertionError {
- // private static final long serialVersionUID = 1L; // not serialized
- //
- // public BadStateError() {
- // super("unexpected state" + //$NON-NLS-1$
- // (XMLParser.this.stateStack != null ? ": " + XMLParser.this.stateStack //$NON-NLS-1$
- // : "")); //$NON-NLS-1$
- // }
- //
- // public BadStateError(String element) {
- // super("unexpected state for " + element + //$NON-NLS-1$
- // (XMLParser.this.stateStack != null ? ": " + XMLParser.this.stateStack //$NON-NLS-1$
- // : "")); //$NON-NLS-1$
- // }
- // }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/persistence/XMLWriter.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/persistence/XMLWriter.java
deleted file mode 100644
index 993a326..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/persistence/XMLWriter.java
+++ /dev/null
@@ -1,307 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.persistence;
-
-import java.io.*;
-import java.util.*;
-import org.osgi.framework.Version;
-
-public class XMLWriter implements XMLConstants {
-
- public static class ProcessingInstruction {
-
- private String target;
- private String[] data;
-
- // The standard UTF-8 processing instruction
- public static final String XML_UTF8 = "<?xml version='1.0' encoding='UTF-8'?>"; //$NON-NLS-1$
-
- public ProcessingInstruction(String target, String[] attrs, String[] values) {
- // Lengths of attributes and values must be the same
- this.target = target;
- this.data = new String[attrs.length];
- for (int i = 0; i < attrs.length; i++) {
- data[i] = attributeImage(attrs[i], values[i]);
- }
- }
-
- public static ProcessingInstruction makeClassVersionInstruction(String target, Class clazz, Version version) {
- return new ProcessingInstruction(target, new String[] {PI_CLASS_ATTRIBUTE, PI_VERSION_ATTRIBUTE}, new String[] {clazz.getName(), version.toString()});
- }
-
- public String toString() {
- StringBuffer sb = new StringBuffer("<?"); //$NON-NLS-1$
- sb.append(this.target).append(' ');
- for (int i = 0; i < data.length; i++) {
- sb.append(this.data[i]);
- if (i < data.length - 1) {
- sb.append(' ');
- }
- }
- sb.append("?>"); //$NON-NLS-1$
- return sb.toString();
- }
- }
-
- private Stack elements; // XML elements that have not yet been closed
- private boolean open; // Can attributes be added to the current element?
- private String indent; // used for each level of indentation
-
- private PrintWriter pw;
-
- public XMLWriter(OutputStream output, ProcessingInstruction[] piElements) throws UnsupportedEncodingException {
- this.pw = new PrintWriter(new OutputStreamWriter(output, "UTF8"), false); //$NON-NLS-1$
- println(ProcessingInstruction.XML_UTF8);
- this.elements = new Stack();
- this.open = false;
- this.indent = " "; //$NON-NLS-1$
- if (piElements != null) {
- for (int i = 0; i < piElements.length; i++) {
- println(piElements[i].toString());
- }
- }
- }
-
- // start a new element
- public void start(String name) {
- if (this.open) {
- println('>');
- }
- indent();
- print('<');
- print(name);
- this.elements.push(name);
- this.open = true;
- }
-
- // end the most recent element with this name
- public void end(String name) {
- if (this.elements.empty()) {
- throw new EndWithoutStartError();
- }
- int index = this.elements.search(name);
- if (index == -1) {
- throw new EndWithoutStartError(name);
- }
- for (int i = 0; i < index; i += 1) {
- end();
- }
- }
-
- // end the current element
- public void end() {
- if (this.elements.empty()) {
- throw new EndWithoutStartError();
- }
- String name = (String) this.elements.pop();
- if (this.open) {
- println("/>"); //$NON-NLS-1$
- } else {
- printlnIndented("</" + name + '>', false); //$NON-NLS-1$
- }
- this.open = false;
- }
-
- public static String escape(String txt) {
- StringBuffer buffer = null;
- for (int i = 0; i < txt.length(); ++i) {
- String replace;
- char c = txt.charAt(i);
- switch (c) {
- case '<' :
- replace = "<"; //$NON-NLS-1$
- break;
- case '>' :
- replace = ">"; //$NON-NLS-1$
- break;
- case '"' :
- replace = """; //$NON-NLS-1$
- break;
- case '\'' :
- replace = "'"; //$NON-NLS-1$
- break;
- case '&' :
- replace = "&"; //$NON-NLS-1$
- break;
- case '\t' :
- replace = "	"; //$NON-NLS-1$
- break;
- case '\n' :
- replace = "
"; //$NON-NLS-1$
- break;
- case '\r' :
- replace = "
"; //$NON-NLS-1$
- break;
- default :
- // this is the set of legal xml scharacters in unicode excluding high surrogates since they cannot be represented with a char
- // see http://www.w3.org/TR/REC-xml/#charsets
- if ((c >= '\u0020' && c <= '\uD7FF') || (c >= '\uE000' && c <= '\uFFFD')) {
- if (buffer != null)
- buffer.append(c);
- continue;
- }
- replace = Character.isWhitespace(c) ? " " : null; //$NON-NLS-1$
- }
- if (buffer == null) {
- buffer = new StringBuffer(txt.length() + 16);
- buffer.append(txt.substring(0, i));
- }
- if (replace != null)
- buffer.append(replace);
- }
-
- if (buffer == null)
- return txt;
-
- return buffer.toString();
- }
-
- // write a boolean attribute if it doesn't have the default value
- public void attribute(String name, boolean value, boolean defaultValue) {
- if (value != defaultValue) {
- attribute(name, value);
- }
- }
-
- public void attribute(String name, boolean value) {
- attribute(name, Boolean.toString(value));
- }
-
- public void attribute(String name, int value) {
- attribute(name, Integer.toString(value));
- }
-
- public void attributeOptional(String name, String value) {
- if (value != null && value.length() > 0) {
- attribute(name, value);
- }
- }
-
- public void attribute(String name, Object value) {
- if (!this.open) {
- throw new AttributeAfterNestedContentError();
- }
- if (value == null) {
- return; // optional attribute with no value
- }
- print(' ');
- print(name);
- print("='"); //$NON-NLS-1$
- print(escape(value.toString()));
- print('\'');
- }
-
- public void cdata(String data) {
- cdata(data, true);
- }
-
- public void cdata(String data, boolean escape) {
- if (this.open) {
- println('>');
- this.open = false;
- }
- if (data != null) {
- printlnIndented(data, escape);
- }
- }
-
- public void flush() {
- this.pw.flush();
- }
-
- public void writeProperties(Map properties) {
- writeProperties(PROPERTIES_ELEMENT, properties);
- }
-
- public void writeProperties(String propertiesElement, Map properties) {
- if (properties != null && properties.size() > 0) {
- start(propertiesElement);
- attribute(COLLECTION_SIZE_ATTRIBUTE, properties.size());
- for (Iterator iter = properties.keySet().iterator(); iter.hasNext();) {
- String name = (String) iter.next();
- writeProperty(name, (String) properties.get(name));
- }
- end(propertiesElement);
- }
- }
-
- public void writeProperty(String name, String value) {
- start(PROPERTY_ELEMENT);
- attribute(PROPERTY_NAME_ATTRIBUTE, name);
- attribute(PROPERTY_VALUE_ATTRIBUTE, value);
- end();
- }
-
- protected static String attributeImage(String name, String value) {
- if (value == null) {
- return ""; // optional attribute with no value
- }
- return name + "='" + escape(value) + '\''; //$NON-NLS-1$
- }
-
- private void println(char c) {
- this.pw.println(c);
- }
-
- private void println(String s) {
- this.pw.println(s);
- }
-
- private void println() {
- this.pw.println();
- }
-
- private void print(char c) {
- this.pw.print(c);
- }
-
- private void print(String s) {
- this.pw.print(s);
- }
-
- private void printlnIndented(String s, boolean escape) {
- if (s.length() == 0) {
- println();
- } else {
- indent();
- println(escape ? escape(s) : s);
- }
- }
-
- private void indent() {
- for (int i = this.elements.size(); i > 0; i -= 1) {
- print(this.indent);
- }
- }
-
- public static class AttributeAfterNestedContentError extends Error {
- private static final long serialVersionUID = 1L; // not serialized
- }
-
- public static class EndWithoutStartError extends Error {
- private static final long serialVersionUID = 1L; // not serialized
- private String name;
-
- public EndWithoutStartError() {
- super();
- }
-
- public EndWithoutStartError(String name) {
- super();
- this.name = name;
- }
-
- public String getName() {
- return this.name;
- }
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/persistence/messages.properties b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/persistence/messages.properties
deleted file mode 100644
index 4928c08..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/persistence/messages.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-# All these errors are bound to 5 args: 0-msg, 1-root, 2-name, 3-line, 4-column
-XMLParser_Error_At_Line=Error at line {3}{1}: {0}
-XMLParser_Error_At_Line_Column=Error at line {3}, column {4}{1}: {0}
-XMLParser_Error_At_Name_Line=Error in {2} at line {3}: {0}
-XMLParser_Error_At_Name_Line_Column=Error in {2} at line {3}, column {4}: {0}
-
-XMLParser_No_SAX_Parser=Unable to acquire a SAX parser service.
-XMLParser_Missing_Required_Attribute=Missing required attribute in "{0}": {1}
-XMLParser_Unexpected_Attribute=Unexpected attribute for element "{0}": {1}="{2}"
-XMLParser_Illegal_Value_For_Attribute=Illegal value for attribute "{0}" of element "{1}": {2}
-XMLParser_Unexpected_Element=Unexpected element in element "{0}": <{1}{2}>
-XMLParser_Duplicate_Element=Duplicate singleton element in element "{0}": <{1}{2}>
-XMLParser_Unexpected_Character_Data=Unexpected character data in element "{0}": {1}
-XMLParser_Element_Not_Allowed=Element "{0}" is not allowed within element "{1}"
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/IServiceUI.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/IServiceUI.java
deleted file mode 100644
index 6ec61c9..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/IServiceUI.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.core;
-
-import java.security.cert.Certificate;
-
-/**
- * Callback API for prompting for user information from within lower level code.
- */
-public interface IServiceUI {
- /**
- * Authentication information returned from an authentication prompt request.
- */
- public static class AuthenticationInfo {
- private final boolean save;
- private final String userName;
- private final String password;
-
- public AuthenticationInfo(String userName, String password, boolean saveResult) {
- this.userName = userName;
- this.password = password;
- this.save = saveResult;
- }
-
- public boolean saveResult() {
- return save;
- }
-
- public String getUserName() {
- return userName;
- }
-
- public String getPassword() {
- return password;
- }
- }
-
- /**
- * Opens a UI prompt for authentication details
- *
- * @param location - the location requiring login details, may be <code>null</code>.
- * @return The authentication result
- */
- public AuthenticationInfo getUsernamePassword(String location);
-
- /**
- * Displays a list of certificates to the user.
- *
- * @param certificates - a list of certificates to display to the user
- * @return An array of certificates that have been accepted.
- */
- public Certificate[] showCertificates(Certificate[][] certificates);
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/ProvisionException.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/ProvisionException.java
deleted file mode 100644
index c9e1399..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/ProvisionException.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.core;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.Activator;
-
-/**
- * A checked exception indicating a recoverable error occurred while provisioning.
- * The status provides a further description of the problem.
- * <p>
- * This exception class is not intended to be subclassed by clients.
- * </p>
- */
-public class ProvisionException extends CoreException {
- private static final long serialVersionUID = 1L;
-
- //General and core status codes [0-1000]
- /**
- * Status code constant (value 1) for an uncategorized error.
- */
- public static final int INTERNAL_ERROR = 1;
-
- //Repository status codes [1000-1999]
- //General repository codes [1000-1099]
- /**
- * Status code constant (value 1000) indicating a repository
- * unexpectedly does not exist.
- */
- public static final int REPOSITORY_NOT_FOUND = 1000;
-
- /**
- * Status code constant (value 1001) indicating a repository
- * unexpectedly exists.
- */
- public static final int REPOSITORY_EXISTS = 1001;
-
- /**
- * Status code constant (value 1002) indicating a repository
- * could not be read
- */
- public static final int REPOSITORY_FAILED_READ = 1002;
-
- /**
- * Status code constant (value 1003) indicating a failure occurred
- * while writing to a repository.
- */
- public static final int REPOSITORY_FAILED_WRITE = 1003;
-
- /**
- * Status code constant (value 1004) indicating a repository
- * could not be written because it is a read-only repository.
- */
- public static final int REPOSITORY_READ_ONLY = 1004;
-
- /**
- * Status code constant (value 1005) indicating an attempt was
- * made to create or access a repository of unknown type.
- */
- public static final int REPOSITORY_UNKNOWN_TYPE = 1005;
- /**
- * Status code constant (value 1006) indicating that a specified
- * repository location is not valid.
- */
- public static final int REPOSITORY_INVALID_LOCATION = 1006;
-
- /**
- * Status code constant (value 1007) indicating that there was
- * an authentication error while reading a repository
- */
- public static final int REPOSITORY_FAILED_AUTHENTICATION = 1007;
-
- //Metadata repository codes [1100-1199]
-
- //Artifact repository codes [1200-1299]
-
- /**
- * Status code constant (value 1200) indicating an artifact unexpectedly
- * does not exist.
- */
- public static final int ARTIFACT_NOT_FOUND = 1200;
-
- /**
- * Status code constant (value 1201) indicating an artifact unexpectedly
- * already exists.
- */
- public static final int ARTIFACT_EXISTS = 1201;
-
- /**
- * Creates a new exception with the given status object. The message
- * of the given status is used as the exception message.
- *
- * @param status the status object to be associated with this exception
- */
- public ProvisionException(IStatus status) {
- super(status);
- }
-
- /**
- * Creates a new exception with the given message and a severity of
- * {@link IStatus#ERROR}.
- *
- * @param message The human-readable problem message
- */
- public ProvisionException(String message) {
- super(new Status(IStatus.ERROR, Activator.ID, message));
- }
-
- /**
- * Creates a new exception with the given message and cause, and
- * a severity of {@link IStatus#ERROR}.
- *
- * @param message The human-readable problem message
- * @param cause The underlying cause of the exception
- */
- public ProvisionException(String message, Throwable cause) {
- super(new Status(IStatus.ERROR, Activator.ID, message, cause));
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/eventbus/IProvisioningEventBus.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/eventbus/IProvisioningEventBus.java
deleted file mode 100644
index 2ff6ce3..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/eventbus/IProvisioningEventBus.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.core.eventbus;
-
-import java.util.EventObject;
-import org.eclipse.osgi.framework.eventmgr.EventDispatcher;
-
-/**
- * The bus for events related to provisioning. This service can be used to register
- * a listener to receive provisioning events, or to broadcast events.
- */
-public interface IProvisioningEventBus extends EventDispatcher {
- /**
- * The name used for obtaining a reference to the event bus service.
- */
- public static final String SERVICE_NAME = IProvisioningEventBus.class.getName();
-
- public abstract void addListener(ProvisioningListener toAdd);
-
- public abstract void removeListener(ProvisioningListener toRemove);
-
- public abstract void publishEvent(EventObject event);
-
- public abstract void close();
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/eventbus/ProvisioningListener.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/eventbus/ProvisioningListener.java
deleted file mode 100644
index de76415..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/eventbus/ProvisioningListener.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.core.eventbus;
-
-import java.util.EventListener;
-import java.util.EventObject;
-import org.eclipse.equinox.internal.p2.core.ProvisioningEventBus;
-
-/**
- * A listener that is notified about events related to provisioning.
- * @see ProvisioningEventBus
- */
-public interface ProvisioningListener extends EventListener {
- //TODO: rename this interface to match eclipse conventions (IProvisioningListener)
-
- /**
- * Notifies the listener about a provisioning event.
- */
- public void notify(EventObject o);
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/eventbus/SynchronousProvisioningListener.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/eventbus/SynchronousProvisioningListener.java
deleted file mode 100644
index 0df2c89..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/eventbus/SynchronousProvisioningListener.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.core.eventbus;
-
-public interface SynchronousProvisioningListener extends ProvisioningListener {
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/location/AgentLocation.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/location/AgentLocation.java
deleted file mode 100644
index 7a0df74..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/location/AgentLocation.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.core.location;
-
-import java.net.URL;
-
-public interface AgentLocation {
- public static final String SERVICE_NAME = AgentLocation.class.getName();
-
- public URL getArtifactRepositoryURL();
-
- public URL getMetadataRepositoryURL();
-
- /**
- * Returns the location where the bundle with the given namespace
- * may write its agent-related data.
- * @param namespace The namespace of the bundle storing the data
- * @return The data location
- */
- public URL getDataArea(String namespace);
-
- /**
- * Returns the actual {@link URL} of this location. If the location's value has been set,
- * that value is returned. If the value is not set and the location allows defaults,
- * the value is set to the default and returned. In all other cases <code>null</code>
- * is returned.
- *
- * @return the URL for this location or <code>null</code> if none
- */
- public URL getURL();
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/repository/IRepository.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/repository/IRepository.java
deleted file mode 100644
index 4531865..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/repository/IRepository.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.core.repository;
-
-import java.net.URL;
-import java.util.Map;
-import org.eclipse.core.runtime.IAdaptable;
-
-/**
- * Base interface that defines common properties that may be provided by
- * various kinds of repositories.
- *
- * @noimplement This interface is not intended to be implemented by clients.
- */
-public interface IRepository extends IAdaptable {
- /**
- * The key for a boolean property indicating that the repository
- * is a system repository. System repositories are implementation details
- * that are not subject to general access, hidden from the typical user, etc.
- */
- public static final String PROP_SYSTEM = "p2.system"; //$NON-NLS-1$
-
- /**
- * The key for a boolean property indicating that repository metadata is
- * stored in compressed form. A compressed repository will have lower
- * bandwidth cost to read when remote, but higher processing cost to
- * uncompress when reading.
- */
- public static final String PROP_COMPRESSED = "p2.compressed"; //$NON-NLS-1$
-
- /**
- * The key for a string property providing a human-readable name for the repository.
- */
- public static final String PROP_NAME = "name"; //$NON-NLS-1$
-
- /**
- * The key for a string property providing a human-readable description for the repository.
- */
- public static final String PROP_DESCRIPTION = "description"; //$NON-NLS-1$
-
- /**
- * The key for a string property providing the common base URL that should
- * be replaced with the mirror URL.
- */
- public static final String PROP_MIRRORS_BASE_URL = "p2.mirrorsBaseURL"; //$NON-NLS-1$
-
- /**
- * The key for a string property providing a URL that can return mirrors of this
- * repository.
- */
- public static final String PROP_MIRRORS_URL = "p2.mirrorsURL"; //$NON-NLS-1$
-
- /**
- * The key for a string property containing the time when the repository was last modified.
- */
- public static final String PROP_TIMESTAMP = "p2.timestamp"; //$NON-NLS-1$
-
- /**
- * The key for a string property providing the user name to an authenticated
- * URL. This key is used in the secure preference store for repository data.
- * @see #PREFERENCE_NODE
- */
- public static final String PROP_USERNAME = "username"; //$NON-NLS-1$
-
- /**
- * The key for a string property providing the password to an authenticated
- * URL. This key is used in the secure preference store for repository data.
- * @see #PREFERENCE_NODE
- */
- public static final String PROP_PASSWORD = "password"; //$NON-NLS-1$
-
- /**
- * The node identifier for repository secure preference store.
- */
- public static final String PREFERENCE_NODE = "org.eclipse.equinox.p2.repository"; //$NON-NLS-1$
-
- /**
- * A repository type constant (value 0) representing a metadata repository.
- */
- public static final int TYPE_METADATA = 0;
-
- /**
- * A repository type constant (value 1) representing an artifact repository.
- */
- public static final int TYPE_ARTIFACT = 1;
-
- /**
- * General purpose zero-valued bit mask constant. Useful whenever you need to
- * supply a bit mask with no bits set.
- */
- public static final int NONE = 0;
-
- /**
- * An option flag constant (value 1) indicating an enabled repository.
- */
- public static final int ENABLED = 1;
-
- /**
- * Returns the URL of the repository.
- * TODO: Should we use URL or URI? URL requires a protocol handler
- * to be installed in Java. Can the URL have any protocol?
- * @return the URL of the repository.
- */
- public URL getLocation();
-
- /**
- * Returns the name of the repository.
- * @return the name of the repository.
- */
- public String getName();
-
- /**
- * Returns a string representing the type of the repository.
- * @return the type of the repository.
- */
- public String getType();
-
- /**
- * Returns a string representing the version for the repository type.
- * @return the version of the type of the repository.
- */
- public String getVersion();
-
- /**
- * Returns a brief description of the repository.
- * @return the description of the repository.
- */
- public String getDescription();
-
- /**
- * Returns the name of the provider of the repository.
- * @return the provider of this repository.
- */
- public String getProvider();
-
- /**
- * Returns a read-only collection of the properties of the repository.
- * @return the properties of this repository.
- */
- public Map getProperties();
-
- /**
- * Returns <code>true</code> if this repository can be modified.
- * @return whether or not this repository can be modified
- */
- public boolean isModifiable();
-
- /**
- * Set the name of the repository.
- */
- public void setName(String name);
-
- /**
- * Sets the description of the repository.
- */
- public void setDescription(String description);
-
- /**
- * Sets the value of the property with the given key. Returns the old property
- * associated with that key, if any. Setting a value of <code>null</code> will
- * remove the corresponding key from the properties of this repository.
- *
- * @param key The property key
- * @param value The new property value, or <code>null</code> to remove the key
- * @return The old property value, or <code>null</code> if there was no old value
- */
- public String setProperty(String key, String value);
-
- /**
- * Sets the name of the provider of the repository.
- */
- public void setProvider(String provider);
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/repository/RepositoryCreationException.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/repository/RepositoryCreationException.java
deleted file mode 100644
index 31b5a6b..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/repository/RepositoryCreationException.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.core.repository;
-
-public class RepositoryCreationException extends Exception {
-
- private static final long serialVersionUID = -5648382121963317100L;
-
- public RepositoryCreationException(Throwable e) {
- super(e);
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/repository/RepositoryEvent.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/repository/RepositoryEvent.java
deleted file mode 100644
index 31a51cb..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/repository/RepositoryEvent.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.core.repository;
-
-import java.net.URL;
-import java.util.EventObject;
-
-/**
- * An event indicating a repository was added, removed, changed,
- * or discovered.
- *
- * @noextend This class is not intended to be subclassed by clients.
- */
-public class RepositoryEvent extends EventObject {
- private static final long serialVersionUID = 3082402920617281765L;
-
- /**
- * A change kind constant (value 0), indicating a repository was added to the
- * list of repositories known to a repository manager.
- */
- public static final int ADDED = 0;
-
- /**
- * A change kind constant (value 1), indicating a repository was removed from
- * the list of repositories known to a repository manager.
- */
- public static final int REMOVED = 1;
-
- /**
- * A change kind constant (value 2), indicating a repository known to a
- * repository manager was modified.
- */
- public static final int CHANGED = 2;
-
- /**
- * A change kind constant (value 4), indicating a new repository was discovered.
- * This event is a way to notify repository managers in a generic way about
- * a newly discovered repository. The repository manager will typically receive
- * this event, add the repository to its list of known repositories, and issue
- * a subsequent {@link #ADDED} event. Other clients should not typically
- * listen for this kind of event.
- */
- public static final int DISCOVERED = 4;
-
- private final int kind, type;
-
- private boolean isEnabled;
-
- /**
- * Creates a new repository event.
- *
- * @param location the location of the repository that changed.
- * @param repositoryType the type of repository that was changed
- * @param kind the kind of change that occurred.
- * @param enabled whether the repository is enabled
- */
- public RepositoryEvent(URL location, int repositoryType, int kind, boolean enabled) {
- super(location);
- this.kind = kind;
- this.type = repositoryType;
- isEnabled = enabled;
- }
-
- /**
- * Returns the kind of change that occurred.
- *
- * @return the kind of change that occurred.
- * @see #ADDED
- * @see #REMOVED
- * @see #CHANGED
- * @see #DISCOVERED
- */
- public int getKind() {
- return kind;
- }
-
- /**
- * Returns the location of the repository associated with this event.
- *
- * @return the location of the repository associated with this event.
- */
- public URL getRepositoryLocation() {
- return (URL) getSource();
- }
-
- /**
- * Returns the type of repository associated with this event. Clients
- * should not assume that the set of possible repository types is closed;
- * clients should ignore events from repository types they don't know about.
- *
- * @return the type of repository associated with this event.
- * ({@link IRepository#TYPE_METADATA} or {@link IRepository#TYPE_ARTIFACT}).
- */
- public int getRepositoryType() {
- return type;
- }
-
- /**
- * Returns whether the affected repository is enabled.
- *
- * @return <code>true</code> if the repository is enabled,
- * and <code>false</code> otherwise.
- */
- public boolean isRepositoryEnabled() {
- return isEnabled;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/query/Collector.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/query/Collector.java
deleted file mode 100644
index 397afc9..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/query/Collector.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.query;
-
-import java.lang.reflect.Array;
-import java.util.*;
-
-/**
- * A collector is a generic visitor that collects objects passed to it,
- * and can then express the result of the visit in various forms. The collector
- * can also short-circuit a traversal by returning <code>false</code> from
- * its {@link #accept(Object)} method.
- * <p>
- * This default collector just accepts all objects passed to it. Clients may subclass
- * to perform different processing on the objects passed to it.
- */
-public class Collector {
- private ArrayList collected = null;
-
- /**
- * Creates a new collector.
- */
- public Collector() {
- super();
- }
-
- /**
- * Accepts an object.
- * <p>
- * This default implementation adds the objects to a list. Clients may
- * override this method to perform additional filtering, add different objects
- * to the list, short-circuit the traversal, or process the objects directly without
- * collecting them.
- *
- * @param object the object to collect or visit
- * @return <code>true</code> if the traversal should continue,
- * or <code>false</code> to indicate the traversal should stop.
- */
- public boolean accept(Object object) {
- getList().add(object);
- return true;
- }
-
- /**
- * Returns the list that is being used to collect results.
- * @return the list being used to collect results.
- */
- protected List getList() {
- if (collected == null)
- collected = new ArrayList();
- return collected;
- }
-
- /**
- * Returns whether this collector is empty.
- * @return <code>true</code> if this collector has accepted any results,
- * and <code>false</code> otherwise.
- */
- public boolean isEmpty() {
- return collected == null || collected.isEmpty();
- }
-
- /**
- * Returns an iterator on the collected objects.
- *
- * @return an iterator of the collected objects.
- */
- public Iterator iterator() {
- return collected == null ? Collections.EMPTY_LIST.iterator() : collected.iterator();
- }
-
- /**
- * Returns the number of collected objects.
- */
- public int size() {
- return collected == null ? 0 : collected.size();
- }
-
- /**
- * Returns the collected objects as an array
- *
- * @param clazz The type of array to return
- * @return The array of results
- * @throws ArrayStoreException the runtime type of the specified array is
- * not a supertype of the runtime type of every collected object
- */
- public Object[] toArray(Class clazz) {
- int size = collected == null ? 0 : collected.size();
- Object[] result = (Object[]) Array.newInstance(clazz, size);
- if (size != 0)
- collected.toArray(result);
- return result;
- }
-
- public Collection toCollection() {
- return collected == null ? Collections.EMPTY_LIST : Collections.unmodifiableList(collected);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/query/CompoundQuery.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/query/CompoundQuery.java
deleted file mode 100644
index 0b3770a..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/query/CompoundQuery.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.query;
-
-/**
- * A query that combines a group of other queries.
- */
-public class CompoundQuery extends Query {
- private boolean and;
- private Query[] queries;
-
- /**
- * Creates a compound query that combines the given queries. The queries
- * will be performed by the compound query in the given order. This method
- * might not perform all queries if it can determine the result of the compound
- * expression without doing so.
- *
- * @param queries The queries to perform
- * @param and <code>true</code> if this query represents a logical 'and', and
- * <code>false</code> if this query represents a logical 'or'.
- */
- public CompoundQuery(Query[] queries, boolean and) {
- this.queries = queries;
- this.and = and;
- }
-
- public Query[] getQueries() {
- return queries;
- }
-
- /**
- * Returns whether this compound query combines its queries with a logical
- * 'and' or 'or'.
- * @return <code>true</code> if this query represents a logical 'and', and
- * <code>false</code> if this query represents a logical 'or'.
- */
- public boolean isAnd() {
- return and;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.p2.query2.Query#isMatch(java.lang.Object)
- */
- public boolean isMatch(Object candidate) {
- for (int i = 0; i < queries.length; i++) {
- boolean valid = queries[i].isMatch(candidate);
- // if we are OR'ing then the first time we find a requirement that is met, return success
- if (valid && !and)
- return true;
- // if we are AND'ing then the first time we find a requirement that is NOT met, return failure
- if (!valid && and)
- return false;
- }
- // if we get past the requirements check and we are AND'ing then return true
- // since all requirements must have been met. If we are OR'ing then return false
- // since none of the requirements were met.
- return and;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/query/IQueryable.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/query/IQueryable.java
deleted file mode 100644
index 4cb76d8..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/query/IQueryable.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.query;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-
-/**
- * An IQueryable contains objects, and is able to perform queries on those objects.
- * <p>
- * This interface may be implemented by clients.
- */
-public interface IQueryable {
- /**
- * Performs a query, passing any objects that satisfy the
- * query to the provided collector.
- * <p>
- * This method is long-running; progress and cancellation are provided
- * by the given progress monitor.
- * </p>
- *
- * @param query The query to perform
- * @param collector Collects the results of the query
- * @param monitor a progress monitor, or <code>null</code> if progress
- * reporting is not desired
- * @return The collector argument
- */
- public Collector query(Query query, Collector collector, IProgressMonitor monitor);
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/query/Query.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/query/Query.java
deleted file mode 100644
index 1506649..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/query/Query.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.query;
-
-import java.util.Iterator;
-
-/**
- * The superclass of all queries that can be performed on an {@link IQueryable}.
- * <p>
- * This class may be subclassed by clients. Subclasses should specify the type
- * of object they support querying on. Subclasses are also encouraged to clearly
- * specify their match algorithm, and expose the parameters involved in the match
- * computation, to allow {@link IQueryable} implementations to optimize their
- * execution of the query.
- */
-public abstract class Query {
- /**
- * Creates a new query.
- */
- public Query() {
- super();
- }
-
- /**
- * Returns whether the given object satisfies the parameters of this query.
- *
- * @param candidate The object to perform the query against
- * @return <code>true</code> if the unit satisfies the parameters
- * of this query, and <code>false</code> otherwise
- */
- public abstract boolean isMatch(Object candidate);
-
- /**
- * Performs this query on the given iterator, passing all objects in the iterator
- * that match the criteria of this query to the given result.
- */
- public Collector perform(Iterator iterator, Collector result) {
- while (iterator.hasNext()) {
- Object candidate = iterator.next();
- if (isMatch(candidate))
- result.accept(candidate);
- }
- return result;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/spi/p2/core/repository/AbstractRepository.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/spi/p2/core/repository/AbstractRepository.java
deleted file mode 100644
index b617ce2..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/spi/p2/core/repository/AbstractRepository.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.spi.p2.core.repository;
-
-import java.net.URL;
-import java.util.Map;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.equinox.internal.p2.core.helpers.OrderedProperties;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository;
-
-/**
-* AbstractRepository defines common properties that may be provided by various kinds
-* of repositories.
-* <p>
-* Clients may extend this class.
-* </p>
-*/
-public abstract class AbstractRepository extends PlatformObject implements IRepository {
- protected String description;
- protected transient URL location;
- protected String name;
- protected Map properties = new OrderedProperties();
- protected String provider;
- protected String type;
- protected String version;
-
- protected AbstractRepository(String name, String type, String version, URL location, String description, String provider, Map properties) {
- this.name = name;
- this.type = type;
- this.version = version;
- this.location = location;
- this.description = description == null ? "" : description; //$NON-NLS-1$
- this.provider = provider == null ? "" : provider; //$NON-NLS-1$
- if (properties != null)
- this.properties.putAll(properties);
- }
-
- /**
- * Asserts that this repository is modifiable, throwing a runtime exception if
- * it is not. This is suitable for use by subclasses when an attempt is made
- * to write to a repository.
- */
- protected void assertModifiable() {
- if (!isModifiable())
- throw new UnsupportedOperationException("Repository not modifiable: " + location); //$NON-NLS-1$
- }
-
- /**
- * Returns a brief description of the repository.
- * @return the description of the repository.
- */
- public synchronized String getDescription() {
- return description;
- }
-
- /**
- * Returns the location of this repository.
- * TODO: Should we use URL or URI? URL requires a protocol handler
- * to be installed in Java. Can the URL have any protocol?
- * @return the URL of the repository.
- */
- public synchronized URL getLocation() {
- return location;
- }
-
- /**
- * Returns the name of the repository.
- * @return the name of the repository.
- */
- public synchronized String getName() {
- return name;
- }
-
- /**
- * Returns a read-only collection of the properties of the repository.
- * @return the properties of this repository.
- */
- public synchronized Map getProperties() {
- return OrderedProperties.unmodifiableProperties(properties);
- }
-
- /**
- * Returns the name of the provider of the repository.
- * @return the provider of this repository.
- */
- public synchronized String getProvider() {
- return provider;
- }
-
- /**
- * Returns a string representing the type of the repository.
- * @return the type of the repository.
- */
- public synchronized String getType() {
- return type;
- }
-
- /**
- * Returns a string representing the version for the repository type.
- * @return the version of the type of the repository.
- */
- public synchronized String getVersion() {
- return version;
- }
-
- public boolean isModifiable() {
- return false;
- }
-
- public synchronized void setDescription(String description) {
- this.description = description;
- }
-
- public synchronized void setName(String value) {
- this.name = value;
- }
-
- public synchronized String setProperty(String key, String value) {
- assertModifiable();
- return (String) (value == null ? properties.remove(key) : properties.put(key, value));
- }
-
- public synchronized void setProvider(String provider) {
- this.provider = provider;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.director.app/.classpath b/bundles/org.eclipse.equinox.p2.director.app/.classpath
deleted file mode 100644
index 47ddcce..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="src" path="src_ant"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.0%Foundation-1.0"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.director.app/.cvsignore b/bundles/org.eclipse.equinox.p2.director.app/.cvsignore
deleted file mode 100644
index 905d1d6..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-ant_tasks
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.director.app/.externalToolBuilders/Build Director Ant Tasks.launch b/bundles/org.eclipse.equinox.p2.director.app/.externalToolBuilders/Build Director Ant Tasks.launch
deleted file mode 100644
index bca099f..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/.externalToolBuilders/Build Director Ant Tasks.launch
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
-<booleanAttribute key="org.eclipse.ant.ui.ATTR_TARGETS_UPDATED" value="true"/>
-<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
-<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${project}"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.equinox.p2.director.app/scripts/buildExtraJAR.xml"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
-<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
-<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.equinox.p2.director.app"/>
-<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_BUILDER_ENABLED" value="false"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.equinox.p2.director.app/scripts/buildExtraJAR.xml}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,"/>
-<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.director.app/.project b/bundles/org.eclipse.equinox.p2.director.app/.project
deleted file mode 100644
index e163d3d..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/.project
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.equinox.p2.director.app</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
- <triggers>full,incremental,</triggers>
- <arguments>
- <dictionary>
- <key>LaunchConfigHandle</key>
- <value><project>/.externalToolBuilders/Build Director Ant Tasks.launch</value>
- </dictionary>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.director.app/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.director.app/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 78523cd..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,331 +0,0 @@
-#Thu Aug 16 11:00:59 EDT 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.director.app/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.director.app/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 014501b..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:57:54 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.director.app/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.director.app/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 7913d20..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.director.app/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.director.app/META-INF/MANIFEST.MF
deleted file mode 100644
index 92bbec8..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,30 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.director.app;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 1.0.1.qualifier
-Import-Package: org.eclipse.equinox.app,
- org.eclipse.equinox.internal.p2.console,
- org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.p2.engine,
- org.eclipse.equinox.internal.provisional.p2.artifact.repository,
- org.eclipse.equinox.internal.provisional.p2.core.location,
- org.eclipse.equinox.internal.provisional.p2.director,
- org.eclipse.equinox.internal.provisional.p2.engine,
- org.eclipse.equinox.internal.provisional.p2.engine.phases,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.internal.provisional.p2.metadata.query,
- org.eclipse.equinox.internal.provisional.p2.metadata.repository,
- org.eclipse.equinox.internal.provisional.p2.query,
- org.eclipse.osgi.service.environment,
- org.eclipse.osgi.service.resolver;version="1.1.0",
- org.osgi.framework
-Bundle-Activator: org.eclipse.equinox.internal.p2.director.app.Activator
-Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,
- J2SE-1.4
-Require-Bundle: org.eclipse.equinox.common,
- org.eclipse.osgi;bundle-version="3.4.0"
-Export-Package: org.eclipse.equinox.internal.p2.director.app;x-internal:=true
diff --git a/bundles/org.eclipse.equinox.p2.director.app/about.html b/bundles/org.eclipse.equinox.p2.director.app/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 2, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.director.app/build.properties b/bundles/org.eclipse.equinox.p2.director.app/build.properties
deleted file mode 100644
index fd5507d..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/build.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-source.ant_tasks/director-ant.jar=src_ant/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.xml,\
- ant_tasks/director-ant.jar,\
- about.html,\
- plugin.properties
-src.includes = about.html
-jars.compile.order=.,ant_tasks/director-ant.jar
-extra.ant_tasks/director-ant.jar = platform:/plugin/org.apache.ant
-jars.extra.classpath = platform:/plugin/org.apache.ant/lib/ant.jar
diff --git a/bundles/org.eclipse.equinox.p2.director.app/config.ini b/bundles/org.eclipse.equinox.p2.director.app/config.ini
deleted file mode 100644
index 9cfadc2..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/config.ini
+++ /dev/null
@@ -1,88 +0,0 @@
-# Eclipse runtime configuration file
-# This file contains a number of key/value pairs that are merged into the
-# System properties on system startup. The values control the way the
-# runtime is structured and runs.
-
-# Note: Only platform:/base/ and file: URLs are supported. In general the
-# URLs given may include a version number (e.g., .../location_1.2.3).
-# If a version is not specified, the system binds
-# to the location which matches exactly or to the versioned location with the
-# latest version number. If a version number is given then only exact matches
-# are considered.
-
-# The URL for the runtime entry point. The default value is
-# platform:/base/plugins/org.eclipse.osgi
-#osgi.framework=platform:/base/plugins/org.eclipse.osgi
-
-# The classpath for the framework found at the osgi.framework location. This
-# comma-separated list contains either URLs or simple element names. Simple
-# names are assumed to be relative to the framework's install directory.
-# Typically this value need not be set as it is initialized by the framework itself.
-# Version match searching is not done for URLs listed here.
-#osgi.frameworkClassPath =
-
-# The comma-separated list of locations to search for the splash screen file (splash.bmp).
-# For each list element a subdirectory structure based on the pattern nl/<locale> is searched.
-# The system binds to the first matching file. There is no default value.
-#osgi.splashPath=
-
-# The location of the splash screen file. If this value is set at system startup it is used
-# in favour of the osgi.splashPath searching outlined above. If the value is not set
-# the searching is done and this key is bound to the result of the search.
-#osgi.splashLocation =
-
-# The comma-separated list of bundles which are automatically installed and optionally started
-# once the system is up and running. Each entry if of the form
-# <URL | simple bundle location>[@ [<startlevel>] [":start"]]
-# If the startlevel is omitted then the framework will use the default start level for the bundle.
-# If the "start" tag is added then the bundle will be marked as started after being installed.
-# Simple bundle locations are interepreted as relative to the framework's parent directory.
-# The startlevel indicates the OSGi start level at which the bundle should run.
-osgi.bundles=\
- org.eclipse.core.jobs,\
- org.eclipse.ecf,\
- org.eclipse.ecf.filetransfer,\
- org.eclipse.ecf.identity,\
- org.eclipse.ecf.provider.filetransfer,\
- org.eclipse.equinox.app@start,\
- org.eclipse.equinox.common,\
- org.eclipse.equinox.frameworkadmin,\
- org.eclipse.equinox.frameworkadmin.equinox@start,\
- org.eclipse.equinox.p2.artifact.repository,\
- org.eclipse.equinox.p2.console,\
- org.eclipse.equinox.p2.core,\
- org.eclipse.equinox.p2.director,\
- org.eclipse.equinox.p2.director.app,\
- org.eclipse.equinox.p2.download,\
- org.eclipse.equinox.p2.engine,\
- org.eclipse.equinox.p2.exemplarysetup@start,\
- org.eclipse.equinox.p2.jarprocessor,\
- org.eclipse.equinox.p2.metadata,\
- org.eclipse.equinox.p2.metadata.repository,\
- org.eclipse.equinox.p2.operations,\
- org.eclipse.equinox.p2.touchpoint.eclipse,\
- org.eclipse.equinox.p2.touchpoint.natives,\
- org.eclipse.equinox.registry,\
- org.eclipse.equinox.simpleconfigurator,\
- org.eclipse.equinox.simpleconfigurator.manipulator@start,\
- org.eclipse.osgi.services,\
- org.sat4j.core,\
- org.sat4j.pb
-
-org.eclipse.update.reconcile=false
-
-# The product to run. A given Eclipse configuration may contain many products.
-# The product identified will supply the branding (window icons, title bar text) etc
-# as well as define the default application to run.
-#eclipse.product=
-
-# The application to run. The value specified here is the id of the application extension
-# the runtime will find, instantiate and execute once the system is up. Note that typically
-# the identified eclipse.product defines the default application to run.
-#eclipse.application=
-
-# The build identifier
-eclipse.buildId=@build@
-
-# End of file marker - must be here
-eof=eof
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.director.app/director app.launch b/bundles/org.eclipse.equinox.p2.director.app/director app.launch
deleted file mode 100644
index c295829..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/director app.launch
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/director app"/>
-<booleanAttribute key="default_auto_start" value="false"/>
-<intAttribute key="default_start_level" value="4"/>
-<booleanAttribute key="includeOptional" value="false"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-console -consolelog -application org.eclipse.equinox.p2.director.app.application -metadataRepository file:d:/tmp/cdt/site.xml -artifactRepository file:d:/tmp/cdt/site.xml -installIU org.eclipse.cdt.feature.group -destination d:/tmp/remoteInstall/eclipse/ -profile SDKProfile"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.p2.data.area=d:/tmp/remoteInstall/eclipse/p2"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="target_bundles" value="org.eclipse.equinox.registry*3.4.0.v20080316@default:default,org.eclipse.equinox.security*1.0.0.v20080407@default:default,org.eclipse.core.contenttype*3.3.0.v20080407@default:default,org.eclipse.core.runtime*3.4.0.v20080324-1725@default:true,org.eclipse.core.runtime.compatibility.registry*3.2.200.v20070717@default:false,org.eclipse.equinox.security.win32.x86*1.0.0.v20080324@default:false,org.eclipse.osgi.services*3.1.200.v20071203@default:default,org.eclipse.core.jobs*3.4.0.v20080310@default:default,org.eclipse.ant.core*3.2.0.v20080319@default:default,org.eclipse.osgi*3.4.0.v20080407@:,org.eclipse.core.runtime.compatibility.auth*3.2.100.v20070502@default:default,org.eclipse.equinox.common*3.4.0.v20080407@default:default,org.eclipse.equinox.preferences*3.2.200.v20080201@default:default,org.eclipse.equinox.app*1.0.100.v20080331@default:default,org.eclipse.core.variables*3.2.100.v20080324-1600@default:default"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<booleanAttribute key="useNamedJRE" value="true"/>
-<stringAttribute key="workspace_bundles" value="org.eclipse.equinox.p2.jarprocessor*0.1.0.qualifier@default:default,org.eclipse.equinox.p2.engine*0.1.0.qualifier@default:default,org.eclipse.ecf.identity*2.0.0.qualifier@default:default,org.eclipse.equinox.simpleconfigurator*0.1.0.qualifier@default:true,org.sat4j.pb*2.0.0.v20080408@default:default,org.eclipse.equinox.p2.exemplarysetup*0.1.0.qualifier@default:true,org.eclipse.equinox.p2.core*0.1.0.qualifier@default:default,org.eclipse.equinox.frameworkadmin.equinox*0.1.0.qualifier@default:true,org.eclipse.equinox.p2.metadata.generator*0.1.0.qualifier@default:default,org.eclipse.equinox.p2.console*0.1.0.qualifier@default:default,org.eclipse.equinox.p2.artifact.repository*0.1.0.qualifier@default:default,org.eclipse.equinox.p2.metadata*0.1.0.qualifier@default:default,org.sat4j.core*2.0.0.v20080408@default:default,org.eclipse.ecf*2.0.0.qualifier@default:default,org.eclipse.equinox.p2.garbagecollector*0.1.0.qualifier@default:default,org.eclipse.equinox.p2.metadata.repository*0.1.0.qualifier@default:default,org.eclipse.equinox.p2.director*0.1.0.qualifier@default:default,org.eclipse.equinox.p2.director.app*0.1.0.qualifier@default:default,org.eclipse.equinox.frameworkadmin*0.1.0.qualifier@default:default,org.eclipse.ecf.provider.filetransfer*2.0.0.qualifier@default:default,org.eclipse.equinox.simpleconfigurator.manipulator*0.1.0.qualifier@default:true,org.eclipse.ecf.filetransfer*2.0.0.qualifier@default:default,org.eclipse.equinox.p2.touchpoint.natives*0.1.0.qualifier@default:default,org.eclipse.equinox.p2.updatesite*0.1.0.qualifier@default:default,org.eclipse.equinox.p2.touchpoint.eclipse*0.1.0.qualifier@default:default"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.director.app/director.product b/bundles/org.eclipse.equinox.p2.director.app/director.product
deleted file mode 100644
index 0fa6e99..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/director.product
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.1"?>
-
-<product name="Equinox Provisioning Director" id="org.eclipse.equinox.p2.director.app.product" application="org.eclipse.equinox.p2.director.app.application" useFeatures="true">
-
- <configIni use="custom" path="/org.eclipse.equinox.p2.director.app/config.ini"/>
-
- <launcherArgs>
- <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>
- </launcherArgs>
-
- <launcher name="eclipse">
- <solaris/>
- <win useIco="false">
- <bmp/>
- </win>
- </launcher>
-
- <vm>
- </vm>
-
- <plugins>
- </plugins>
-
- <features>
- <feature id="org.eclipse.equinox.p2.director.feature" version="0.0.0"/>
- <feature id="org.eclipse.rcp" version="0.0.0"/>
- </features>
-
-</product>
diff --git a/bundles/org.eclipse.equinox.p2.director.app/plugin.properties b/bundles/org.eclipse.equinox.p2.director.app/plugin.properties
deleted file mode 100644
index e793afd..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Equinox Provisioning Director Application
-providerName = Eclipse.org
diff --git a/bundles/org.eclipse.equinox.p2.director.app/plugin.xml b/bundles/org.eclipse.equinox.p2.director.app/plugin.xml
deleted file mode 100644
index 8760c13..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/plugin.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
- <extension id="application" point="org.eclipse.core.runtime.applications">
- <application>
- <run class="org.eclipse.equinox.internal.p2.director.app.Application"/>
- </application>
- </extension>
- <extension
- id="product"
- point="org.eclipse.core.runtime.products">
- <product
- application="org.eclipse.equinox.p2.director.app.application"
- name="Equinox Provisioning Director">
- </product>
- </extension>
-
- <extension point="org.eclipse.ant.core.antTasks">
- <antTask
- library="ant_tasks/director-ant.jar"
- name="p2.director"
- class="org.eclipse.equinox.p2.director.app.ant.DirectorTask">
- </antTask>
- </extension>
-
- <extension point="org.eclipse.ant.core.extraClasspathEntries">
- <extraClasspathEntry library="ant_tasks/director-ant.jar"/>
- </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.director.app/scripts/buildExtraJAR.xml b/bundles/org.eclipse.equinox.p2.director.app/scripts/buildExtraJAR.xml
deleted file mode 100644
index eddf1d9..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/scripts/buildExtraJAR.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="org.eclipse.core.resources" default="main" basedir="..">
-
- <target name="main" depends="clean, ant_tasks/director-ant.jar">
- </target>
-
- <target name="init" depends="properties">
- <property name="plugin" value="org.eclipse.equinox.p2.director.app"/>
- <property name="temp.folder" value="${basedir}/temp.folder"/>
- <property name="plugin.destination" value="${basedir}"/>
- <property name="build.result.folder" value="${basedir}/ant_tasks"/>
- <property name="version.suffix" value="_3.1.0"/>
- </target>
-
- <target name="properties" if="eclipse.running">
- <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
- </target>
-
- <target name="ant_tasks/director-ant.jar" depends="init" unless="ant_tasks/director-ant.jar">
- <property name="destdir" value="${temp.folder}/ant_tasks/director-ant.jar.bin"/>
- <delete dir="${temp.folder}/ant_tasks/director-ant.jar.bin"/>
- <mkdir dir="${temp.folder}/ant_tasks/director-ant.jar.bin"/>
- <!-- compile the source code -->
- <javac destdir="${temp.folder}/ant_tasks/director-ant.jar.bin" failonerror="true" verbose="true" debug="on">
- <classpath>
- <dirset dir="${basedir}/..">
- <include name="org.eclipse.equinox.p2.director.app/bin"/>
- <include name="org.eclipse.osgi/bin"/>
- </dirset>
- <fileset dir="${eclipse.home}">
- <include name="plugins/org.eclipse.equinox.p2.director.app*.jar"/>
- <include name="plugins/org.eclipse.osgi*.jar"/>
- </fileset>
- </classpath>
- <src path="src_ant/"/>
- </javac>
- <!-- copy necessary resources -->
- <copy todir="${temp.folder}/ant_tasks/director-ant.jar.bin">
- <fileset dir="src_ant/" excludes="**/*.java"/>
- </copy>
- <mkdir dir="${build.result.folder}"/>
- <jar jarfile="${build.result.folder}/director-ant.jar" basedir="${temp.folder}/ant_tasks/director-ant.jar.bin"/>
- <delete dir="${temp.folder}/ant_tasks/director-ant.jar.bin"/>
- <delete dir="${temp.folder}"/>
- </target>
-
- <target name="clean" depends="init">
- <delete file="${build.result.folder}/director-ant.jar"/>
- <delete dir="${temp.folder}"/>
- </target>
-</project>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/Activator.java b/bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/Activator.java
deleted file mode 100644
index de0403a..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/Activator.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.director.app;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
- public static final String ID = "org.eclipse.equinox.p2.director.app"; //$NON-NLS-1$
- private static BundleContext bundleContext;
-
- public static BundleContext getContext() {
- return bundleContext;
- }
-
- public void start(BundleContext context) throws Exception {
- bundleContext = context;
- }
-
- public void stop(BundleContext context) throws Exception {
- bundleContext = null;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/Application.java b/bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/Application.java
deleted file mode 100644
index f261e36..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/Application.java
+++ /dev/null
@@ -1,497 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Cloudsmith - https://bugs.eclipse.org/bugs/show_bug.cgi?id=226401
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.director.app;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.equinox.internal.p2.console.ProvisioningHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.*;
-import org.osgi.service.packageadmin.PackageAdmin;
-
-public class Application implements IApplication {
- private static final Integer EXIT_ERROR = new Integer(13);
- static private String FLAVOR_DEFAULT = "tooling"; //$NON-NLS-1$
- static private String EXEMPLARY_SETUP = "org.eclipse.equinox.p2.exemplarysetup"; //$NON-NLS-1$
- static private String FRAMEWORKADMIN_EQUINOX = "org.eclipse.equinox.frameworkadmin.equinox"; //$NON-NLS-1$
- static private String SIMPLE_CONFIGURATOR_MANIPULATOR = "org.eclipse.equinox.simpleconfigurator.manipulator"; //$NON-NLS-1$
-
- public static final int COMMAND_INSTALL = 0;
- public static final int COMMAND_UNINSTALL = 1;
- public static final int COMMAND_LIST = 2;
-
- public static final String[] COMMAND_NAMES = {"-installIU", "-uninstallIU", "-list"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
- // private ServiceRegistration directorRegistration;
- // private ServiceRegistration plannerRegistration;
- // private ServiceRegistration engineRegistration;
- // private ServiceRegistration busRegistration;
- // private ServiceRegistration metadataManagerRegistration;
- // private ServiceRegistration artifactManagerRegistration;
- // private IProvisioningEventBus bus;
-
- private Path destination;
-
- private URL[] artifactRepositoryLocations;
-
- private URL[] metadataRepositoryLocations;
-
- private String root;
- private Version version = null;
- private String flavor;
- private String profileId;
- private String profileProperties; // a comma-separated list of property pairs "tag=value"
- private String bundlePool = null;
- private String nl;
- private String os;
- private String arch;
- private String ws;
- private boolean roamingProfile = false;
- private IPlanner planner;
- private IEngine engine;
-
- private int command = -1;
-
- private ServiceReference packageAdminRef;
- private PackageAdmin packageAdmin;
- private boolean needsToUpdateRoamingValues = false;
-
- private void ambigousCommand(int cmd1, int cmd2) throws CoreException {
- throw new CoreException(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.Ambigous_Command, new Object[] {COMMAND_NAMES[cmd1], COMMAND_NAMES[cmd2]})));
- }
-
- private ProfileChangeRequest buildProvisioningRequest(IProfile profile, Collector roots, boolean install) {
- ProfileChangeRequest request = new ProfileChangeRequest(profile);
- markRoots(request, roots);
- if (install) {
- request.addInstallableUnits((IInstallableUnit[]) roots.toArray(IInstallableUnit.class));
- } else {
- request.removeInstallableUnits((IInstallableUnit[]) roots.toArray(IInstallableUnit.class));
- }
- return request;
- }
-
- synchronized Bundle getBundle(String symbolicName) {
- if (packageAdmin == null)
- return null;
-
- Bundle[] bundles = packageAdmin.getBundles(symbolicName, null);
- if (bundles == null)
- return null;
- //Return the first bundle that is not installed or uninstalled
- for (int i = 0; i < bundles.length; i++) {
- if ((bundles[i].getState() & (Bundle.INSTALLED | Bundle.UNINSTALLED)) == 0) {
- return bundles[i];
- }
- }
- return null;
- }
-
- private String getEnvironmentProperty() {
- Properties values = new Properties();
- if (os != null)
- values.put("osgi.os", os); //$NON-NLS-1$
- if (nl != null)
- values.put("osgi.nl", nl); //$NON-NLS-1$
- if (ws != null)
- values.put("osgi.ws", ws); //$NON-NLS-1$
- if (arch != null)
- values.put("osgi.arch", arch); //$NON-NLS-1$
- if (values.isEmpty())
- return null;
- return toString(values);
- }
-
- private IProfile initializeProfile() throws CoreException {
- if (profileId == null)
- profileId = IProfileRegistry.SELF;
- IProfile profile = ProvisioningHelper.getProfile(profileId);
- if (profile != null && (ProvisioningHelper.getProfile(IProfileRegistry.SELF) != null && !profile.getProfileId().equals(ProvisioningHelper.getProfile(IProfileRegistry.SELF).getProfileId())))
- needsToUpdateRoamingValues = true;
- if (profile == null) {
- if (destination == null)
- missingArgument("destination"); //$NON-NLS-1$
- if (flavor == null)
- flavor = System.getProperty("eclipse.p2.configurationFlavor", FLAVOR_DEFAULT); //$NON-NLS-1$
-
- Properties props = new Properties();
- props.setProperty(IProfile.PROP_INSTALL_FOLDER, destination.toOSString());
- props.setProperty(IProfile.PROP_FLAVOR, flavor);
- if (bundlePool != null)
- if (bundlePool.equals(Messages.destination_commandline))
- props.setProperty(IProfile.PROP_CACHE, destination.toOSString());
- else
- props.setProperty(IProfile.PROP_CACHE, bundlePool);
- if (roamingProfile)
- props.setProperty(IProfile.PROP_ROAMING, Boolean.TRUE.toString());
-
- String env = getEnvironmentProperty();
- if (env != null)
- props.setProperty(IProfile.PROP_ENVIRONMENTS, env);
- if (profileProperties != null) {
- putProperties(profileProperties, props);
- }
- profile = ProvisioningHelper.addProfile(profileId, props);
- String currentFlavor = profile.getProperty(IProfile.PROP_FLAVOR);
- if (currentFlavor != null && !currentFlavor.endsWith(flavor))
- throw new RuntimeException(Messages.Inconsistent_flavor);
- }
- return profile;
- }
-
- private void initializeRepositories(boolean throwException) throws CoreException {
- if (artifactRepositoryLocations == null) {
- if (throwException)
- missingArgument("artifactRepository"); //$NON-NLS-1$
- } else {
- for (int i = 0; i < artifactRepositoryLocations.length; i++)
- ProvisioningHelper.addArtifactRepository(artifactRepositoryLocations[i]);
- }
-
- if (metadataRepositoryLocations == null) {
- if (throwException)
- missingArgument("metadataRepository"); //$NON-NLS-1$
- } else {
- for (int i = 0; i < metadataRepositoryLocations.length; i++)
- ProvisioningHelper.addMetadataRepository(metadataRepositoryLocations[i]);
- }
- }
-
- private void initializeServices() {
- IDirector director = (IDirector) ServiceHelper.getService(Activator.getContext(), IDirector.class.getName());
- if (director == null)
- throw new RuntimeException(Messages.Missing_director);
-
- planner = (IPlanner) ServiceHelper.getService(Activator.getContext(), IPlanner.class.getName());
- if (planner == null)
- throw new RuntimeException(Messages.Missing_planner);
-
- engine = (IEngine) ServiceHelper.getService(Activator.getContext(), IEngine.SERVICE_NAME);
- if (engine == null)
- throw new RuntimeException(Messages.Missing_Engine);
- }
-
- private void markRoots(ProfileChangeRequest request, Collector roots) {
- for (Iterator iterator = roots.iterator(); iterator.hasNext();) {
- request.setInstallableUnitProfileProperty((IInstallableUnit) iterator.next(), IInstallableUnit.PROP_PROFILE_ROOT_IU, Boolean.TRUE.toString());
- }
- }
-
- private void missingArgument(String argumentName) throws CoreException {
- throw new CoreException(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.Missing_Required_Argument, argumentName)));
- }
-
- private IStatus planAndExecute(IProfile profile, ProvisioningContext context, ProfileChangeRequest request) {
- ProvisioningPlan result;
- IStatus operationStatus;
- result = planner.getProvisioningPlan(request, context, new NullProgressMonitor());
- if (!result.getStatus().isOK())
- operationStatus = result.getStatus();
- else {
- operationStatus = engine.perform(profile, new DefaultPhaseSet(), result.getOperands(), context, new NullProgressMonitor());
- }
- return operationStatus;
- }
-
- private void printRequest(ProfileChangeRequest request) {
- IInstallableUnit[] toAdd = request.getAddedInstallableUnits();
- IInstallableUnit[] toRemove = request.getRemovedInstallableUnits();
- for (int i = 0; i < toAdd.length; i++) {
- System.out.println(NLS.bind(Messages.Installing, toAdd[i].getId(), toAdd[i].getVersion()));
- }
- for (int i = 0; i < toRemove.length; i++) {
- System.out.println(NLS.bind(Messages.Uninstalling, toRemove[i].getId(), toRemove[i].getVersion()));
- }
- }
-
- public void processArguments(String[] args) throws Exception {
- if (args == null)
- return;
- for (int i = 0; i < args.length; i++) {
-
- String opt = args[i];
- if (opt.equals("-roaming")) { //$NON-NLS-1$
- roamingProfile = true;
- }
-
- if (opt.equals(COMMAND_NAMES[COMMAND_LIST])) {
- if (command != -1)
- ambigousCommand(COMMAND_LIST, command);
- command = COMMAND_LIST;
- }
-
- // check for args without parameters (i.e., a flag arg)
-
- // check for args with parameters. If we are at the last
- // argument or
- // if the next one
- // has a '-' as the first character, then we can't have an arg
- // with
- // a parm so continue.
- if (i == args.length - 1 || args[i + 1].startsWith("-")) //$NON-NLS-1$
- continue;
-
- String arg = args[++i];
-
- if (opt.equalsIgnoreCase("-profile")) //$NON-NLS-1$
- profileId = arg;
-
- if (opt.equalsIgnoreCase("-profileProperties") || opt.equalsIgnoreCase("-props")) //$NON-NLS-1$ //$NON-NLS-2$
- profileProperties = arg;
-
- // we create a path object here to handle ../ entries in the middle of paths
- if (opt.equalsIgnoreCase("-destination") || opt.equalsIgnoreCase("-dest")) //$NON-NLS-1$ //$NON-NLS-2$
- destination = new Path(arg);
-
- // we create a path object here to handle ../ entries in the middle of paths
- if (opt.equalsIgnoreCase("-bundlepool") || opt.equalsIgnoreCase("-bp")) //$NON-NLS-1$ //$NON-NLS-2$
- bundlePool = new Path(arg).toOSString();
-
- if (opt.equalsIgnoreCase("-metadataRepository") || opt.equalsIgnoreCase("-metadataRepositories") || opt.equalsIgnoreCase("-mr")) //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- metadataRepositoryLocations = getURLs(arg);
-
- if (opt.equalsIgnoreCase("-artifactRepository") || opt.equalsIgnoreCase("-artifactRepositories") || opt.equalsIgnoreCase("-ar")) //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- artifactRepositoryLocations = getURLs(arg);
-
- if (opt.equalsIgnoreCase("-flavor")) //$NON-NLS-1$
- flavor = arg;
-
- if (opt.equalsIgnoreCase(COMMAND_NAMES[COMMAND_INSTALL])) {
- if (command != -1)
- ambigousCommand(COMMAND_INSTALL, command);
- root = arg;
- command = COMMAND_INSTALL;
- }
-
- if (opt.equalsIgnoreCase("-version")) { //$NON-NLS-1$
- version = new Version(arg);
- }
-
- if (opt.equalsIgnoreCase(COMMAND_NAMES[COMMAND_UNINSTALL])) {
- if (command != -1)
- ambigousCommand(COMMAND_UNINSTALL, command);
- root = arg;
- command = COMMAND_UNINSTALL;
- }
-
- if (opt.equalsIgnoreCase("-p2.os")) { //$NON-NLS-1$
- os = arg;
- }
- if (opt.equalsIgnoreCase("-p2.ws")) { //$NON-NLS-1$
- ws = arg;
- }
- if (opt.equalsIgnoreCase("-p2.nl")) { //$NON-NLS-1$
- nl = arg;
- }
- if (opt.equalsIgnoreCase("-p2.arch")) { //$NON-NLS-1$
- arch = arg;
- }
- }
-
- }
-
- /**
- * @param pairs a comma separated list of tag=value pairs
- * @param properties the collection into which the pairs are put
- */
- private void putProperties(String pairs, Properties properties) {
- StringTokenizer tok = new StringTokenizer(pairs, ",", true); //$NON-NLS-1$
- while (tok.hasMoreTokens()) {
- String next = tok.nextToken().trim();
- int i = next.indexOf('=');
- if (i > 0 && i < next.length() - 1) {
- String tag = next.substring(0, i).trim();
- String value = next.substring(i + 1, next.length()).trim();
- if (tag.length() > 0 && value.length() > 0) {
- properties.put(tag, value);
- }
- }
- }
- }
-
- public Object run(String[] args) throws Exception {
- long time = -System.currentTimeMillis();
- initializeServices();
- processArguments(args);
-
- IStatus operationStatus = Status.OK_STATUS;
- InstallableUnitQuery query;
- Collector roots;
- switch (command) {
- case COMMAND_INSTALL :
- case COMMAND_UNINSTALL :
- initializeRepositories(command == COMMAND_INSTALL);
-
- IProfile profile = initializeProfile();
- query = new InstallableUnitQuery(root, version == null ? VersionRange.emptyRange : new VersionRange(version, true, version, true));
- roots = ProvisioningHelper.getInstallableUnits(null, query, new LatestIUVersionCollector(), new NullProgressMonitor());
- if (roots.size() <= 0)
- roots = profile.query(query, roots, new NullProgressMonitor());
- if (roots.size() <= 0) {
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.Missing_IU, root)));
- System.out.println(NLS.bind(Messages.Missing_IU, root));
- return EXIT_ERROR;
- }
- if (!updateRoamingProperties(profile).isOK()) {
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.Cant_change_roaming, profile.getProfileId())));
- System.out.println(NLS.bind(Messages.Cant_change_roaming, profile.getProfileId()));
- return EXIT_ERROR;
- }
- ProvisioningContext context = new ProvisioningContext();
- ProfileChangeRequest request = buildProvisioningRequest(profile, roots, command == COMMAND_INSTALL);
- printRequest(request);
- operationStatus = planAndExecute(profile, context, request);
- break;
- case COMMAND_LIST :
- query = new InstallableUnitQuery(null, VersionRange.emptyRange);
- if (metadataRepositoryLocations == null)
- missingArgument("metadataRepository"); //$NON-NLS-1$
-
- for (int i = 0; i < metadataRepositoryLocations.length; i++) {
- roots = ProvisioningHelper.getInstallableUnits(metadataRepositoryLocations[i], query, new NullProgressMonitor());
-
- Iterator unitIterator = roots.iterator();
- while (unitIterator.hasNext()) {
- IInstallableUnit iu = (IInstallableUnit) unitIterator.next();
- System.out.println(iu.getId());
- }
- }
- break;
- }
-
- time += System.currentTimeMillis();
- if (operationStatus.isOK())
- System.out.println(NLS.bind(Messages.Operation_complete, new Long(time)));
- else {
- System.out.println(Messages.Operation_failed);
- LogHelper.log(operationStatus);
- return EXIT_ERROR;
- }
- return IApplication.EXIT_OK;
- }
-
- private synchronized void setPackageAdmin(PackageAdmin service) {
- packageAdmin = service;
- }
-
- private boolean startEarly(String bundleName) throws BundleException {
- Bundle bundle = getBundle(bundleName);
- if (bundle == null)
- return false;
- bundle.start(Bundle.START_TRANSIENT);
- return true;
- }
-
- public Object start(IApplicationContext context) throws Exception {
- packageAdminRef = Activator.getContext().getServiceReference(PackageAdmin.class.getName());
- setPackageAdmin((PackageAdmin) Activator.getContext().getService(packageAdminRef));
- if (!startEarly(EXEMPLARY_SETUP)) {
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.Missing_bundle, EXEMPLARY_SETUP)));
- return EXIT_ERROR;
- }
- if (!startEarly(SIMPLE_CONFIGURATOR_MANIPULATOR)) {
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.Missing_bundle, SIMPLE_CONFIGURATOR_MANIPULATOR)));
- return EXIT_ERROR;
- }
- if (!startEarly(FRAMEWORKADMIN_EQUINOX)) {
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.Missing_bundle, FRAMEWORKADMIN_EQUINOX)));
- return EXIT_ERROR;
- }
-
- return run((String[]) context.getArguments().get("application.args")); //$NON-NLS-1$
- }
-
- public void stop() {
- setPackageAdmin(null);
- Activator.getContext().ungetService(packageAdminRef);
- }
-
- private String toString(Properties context) {
- StringBuffer result = new StringBuffer();
- for (Enumeration iter = context.keys(); iter.hasMoreElements();) {
- String key = (String) iter.nextElement();
- result.append(key);
- result.append('=');
- result.append(context.get(key));
- if (iter.hasMoreElements())
- result.append(',');
- }
- return result.toString();
- }
-
- private IStatus updateRoamingProperties(IProfile profile) {
- if (!needsToUpdateRoamingValues)
- return Status.OK_STATUS;
- ProfileChangeRequest request = new ProfileChangeRequest(profile);
- if (!Boolean.valueOf(profile.getProperty(IProfile.PROP_ROAMING)).booleanValue())
- return Status.OK_STATUS;
- if (!destination.equals(new File(profile.getProperty(IProfile.PROP_INSTALL_FOLDER)))) {
- request.setProfileProperty(IProfile.PROP_INSTALL_FOLDER, destination.toOSString());
- }
- if (!destination.equals(new File(profile.getProperty(IProfile.PROP_CACHE)))) {
- request.setProfileProperty(IProfile.PROP_CACHE, destination.toOSString());
- }
- if (request.getProfileProperties().size() == 0)
- return Status.OK_STATUS;
-
- ProvisioningPlan result = planner.getProvisioningPlan(request, new ProvisioningContext(), new NullProgressMonitor());
- if (!result.getStatus().isOK())
- return result.getStatus();
-
- return engine.perform(profile, new DefaultPhaseSet(), result.getOperands(), new ProvisioningContext(), new NullProgressMonitor());
- }
-
- private static URL[] getURLs(String spec) {
- if (spec == null)
- return null;
- String[] urlSpecs = getArrayFromString(spec, ","); //$NON-NLS-1$
- ArrayList result = new ArrayList(urlSpecs.length);
- for (int i = 0; i < urlSpecs.length; i++) {
- try {
- result.add(new URL(urlSpecs[i]));
- } catch (MalformedURLException e) {
- NLS.bind(Messages.Ignored_repo, urlSpecs[i]);
- }
- }
- return (URL[]) result.toArray(new URL[result.size()]);
- }
-
- /**
- * 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("")) //$NON-NLS-1$
- return new String[0];
- List result = new ArrayList();
- for (StringTokenizer tokens = new StringTokenizer(list, separator); tokens.hasMoreTokens();) {
- String token = tokens.nextToken().trim();
- if (!token.equals("")) //$NON-NLS-1$
- result.add(token);
- }
- return (String[]) result.toArray(new String[result.size()]);
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/LatestIUVersionCollector.java b/bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/LatestIUVersionCollector.java
deleted file mode 100644
index 209b66d..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/LatestIUVersionCollector.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.eclipse.equinox.internal.p2.director.app;
-
-import java.util.HashMap;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-
-public class LatestIUVersionCollector extends Collector {
- private HashMap uniqueIds = new HashMap();
-
- /**
- * Accepts a result that matches the query criteria.
- *
- * @param match an object matching the query
- * @return <code>true</code> if the query should continue,
- * or <code>false</code> to indicate the query should stop.
- */
- public boolean accept(Object match) {
- if (!(match instanceof IInstallableUnit))
- return true;
- IInstallableUnit iu = (IInstallableUnit) match;
- // Look for the latest element
- Object matchElement = uniqueIds.get(iu.getId());
- if (matchElement == null || iu.getVersion().compareTo(getIU(matchElement).getVersion()) > 0) {
- if (matchElement != null)
- getList().remove(matchElement);
-
- matchElement = makeDefaultElement(iu);
- uniqueIds.put(iu.getId(), matchElement);
- return super.accept(matchElement);
- }
- return true;
- }
-
- private Object makeDefaultElement(IInstallableUnit iu) {
- return iu;
- }
-
- protected IInstallableUnit getIU(Object matchElement) {
- if (matchElement instanceof IInstallableUnit)
- return (IInstallableUnit) matchElement;
- return null;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/Messages.java b/bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/Messages.java
deleted file mode 100644
index 0f4a9ce..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/Messages.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Cloudsmith - https://bugs.eclipse.org/bugs/show_bug.cgi?id=226401
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.director.app;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.director.app.messages"; //$NON-NLS-1$
- public static String destination_commandline;
- public static String Inconsistent_flavor;
-
- public static String Operation_complete;
- public static String Operation_failed;
- public static String Cant_change_roaming;
-
- public static String Missing_bundle;
- public static String Missing_director;
- public static String Missing_Engine;
- public static String Missing_IU;
- public static String Missing_planner;
-
- public static String Listing;
- public static String Ambigous_Command;
- public static String Missing_Required_Argument;
-
- public static String Installing;
- public static String Uninstalling;
-
- public static String Ignored_repo;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- //empty
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/messages.properties b/bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/messages.properties
deleted file mode 100644
index ceb911e..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/messages.properties
+++ /dev/null
@@ -1,30 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-# Cloudsmith - https://bugs.eclipse.org/bugs/show_bug.cgi?id=226401
-###############################################################################
-destination_commandline=<destination>
-Inconsistent_flavor=Install flavor not consistent with profile flavor
-
-Operation_complete=Operation completed in {0} ms.
-Operation_failed=Installation failed.
-Cant_change_roaming=Problem while updading the profile {0}.
-
-
-Missing_director=Director could not be loaded.
-Missing_Engine=Engine could not be loaded.
-Missing_bundle=The ''{0}'' bundle is missing.
-Missing_planner=Planner could not be loaded.
-Missing_IU=The installable unit {0} has not been found.
-Missing_Required_Argument=Missing required argument -{0}.
-Ambigous_Command=Cannot execute both {0} and {1} in one invocation
-Listing=Listing Installable Units from {0}
-Installing=Installing {0} {1}.
-Uninstalling=Uninstalling {0} {1}.
-Ignored_repo=The repository {1} will not be considered.
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.director.app/src_ant/org/eclipse/equinox/p2/director/app/ant/DirectorTask.java b/bundles/org.eclipse.equinox.p2.director.app/src_ant/org/eclipse/equinox/p2/director/app/ant/DirectorTask.java
deleted file mode 100644
index a13ed31..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/src_ant/org/eclipse/equinox/p2/director/app/ant/DirectorTask.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.director.app.ant;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.tools.ant.*;
-import org.eclipse.equinox.internal.p2.director.app.Application;
-import org.osgi.framework.Version;
-
-/**
- * An Ant task to call the p2 Director application.
- *
- * @since 1.0
- */
-public class DirectorTask extends Task {
-
- boolean roaming;
- boolean list;
- String profile, flavor, os, ws, nl, arch, installIU, uninstallIU;
- File destination, bundlePool;
- URL metadataRepository, artifactRepository;
- Version version;
-
- /*
- * (non-Javadoc)
- * @see org.apache.tools.ant.Task#execute()
- */
- public void execute() throws BuildException {
- try {
- // collect the arguments and call the application
- new Application().run(getArguments());
- } catch (Exception e) {
- throw new BuildException("Exception while calling the director task.", e);
- }
- }
-
- private String[] getArguments() {
- List result = new ArrayList();
- if (roaming)
- result.add("-roaming");
- if (profile != null) {
- result.add("-profile");
- result.add(profile);
- }
- if (destination != null) {
- result.add("-destination");
- result.add(destination.getAbsolutePath());
- }
- if (bundlePool != null) {
- result.add("-bundlePool");
- result.add(bundlePool.getAbsolutePath());
- }
- if (metadataRepository != null) {
- result.add("-metadataRepository");
- result.add(metadataRepository.toExternalForm());
- }
- if (artifactRepository != null) {
- result.add("-artifactRepository");
- result.add(artifactRepository.toExternalForm());
- }
- if (flavor != null) {
- result.add("-flavor");
- result.add(flavor);
- }
- if (version != null) {
- result.add("-version");
- result.add(version.toString());
- }
- if (os != null) {
- result.add("-p2.os");
- result.add(os);
- }
- if (ws != null) {
- result.add("-p2.ws");
- result.add(ws);
- }
- if (arch != null) {
- result.add("-p2.arch");
- result.add(arch);
- }
- if (nl != null) {
- result.add("-p2.nl");
- result.add(nl);
- }
- if (list) {
- result.add(Application.COMMAND_NAMES[Application.COMMAND_LIST]);
- }
- if (installIU != null) {
- result.add(Application.COMMAND_NAMES[Application.COMMAND_INSTALL]);
- result.add(installIU);
- }
- if (uninstallIU != null) {
- result.add(Application.COMMAND_NAMES[Application.COMMAND_UNINSTALL]);
- result.add(uninstallIU);
- }
- return (String[]) result.toArray(new String[result.size()]);
- }
-
- public void setArch(String value) {
- arch = value;
- }
-
- public void setArtifactRepository(String value) {
- try {
- artifactRepository = new URL(value);
- } catch (MalformedURLException e) {
- log("Error setting the artifact repository.", e, Project.MSG_ERR);
- }
- }
-
- public void setBundlePool(String value) {
- bundlePool = new File(value);
- }
-
- public void setDestination(String value) {
- destination = new File(value);
- }
-
- public void setFlavor(String value) {
- flavor = value;
- }
-
- public void setInstallIU(String value) {
- installIU = value;
- }
-
- public void setList(String value) {
- list = Boolean.valueOf(value).booleanValue();
- }
-
- public void setMetadataRepository(String value) {
- try {
- metadataRepository = new URL(value);
- } catch (MalformedURLException e) {
- log("Error setting the metadata repository.", e, Project.MSG_ERR);
- }
- }
-
- public void setNl(String value) {
- nl = value;
- }
-
- public void setOs(String value) {
- os = value;
- }
-
- public void setProfile(String value) {
- profile = value;
- }
-
- public void setRoaming(String value) {
- roaming = Boolean.valueOf(value).booleanValue();
- }
-
- public void setUninstallIU(String value) {
- uninstallIU = value;
- }
-
- public void setVersion(String value) {
- version = new Version(value);
- }
-
- public void setWs(String value) {
- ws = value;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/.classpath b/bundles/org.eclipse.equinox.p2.director/.classpath
deleted file mode 100644
index 7cdeb73..0000000
--- a/bundles/org.eclipse.equinox.p2.director/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.1%Foundation-1.1"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.director/.cvsignore b/bundles/org.eclipse.equinox.p2.director/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/bundles/org.eclipse.equinox.p2.director/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.director/.project b/bundles/org.eclipse.equinox.p2.director/.project
deleted file mode 100644
index c5f37a6..0000000
--- a/bundles/org.eclipse.equinox.p2.director/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.equinox.p2.director</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.director/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.director/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 78523cd..0000000
--- a/bundles/org.eclipse.equinox.p2.director/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,331 +0,0 @@
-#Thu Aug 16 11:00:59 EDT 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.director/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.director/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 014501b..0000000
--- a/bundles/org.eclipse.equinox.p2.director/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:57:54 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.director/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.director/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 7913d20..0000000
--- a/bundles/org.eclipse.equinox.p2.director/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.director/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.director/META-INF/MANIFEST.MF
deleted file mode 100644
index 68bea57..0000000
--- a/bundles/org.eclipse.equinox.p2.director/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,41 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.director;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 1.0.2.qualifier
-Import-Package: org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.provisional.p2.core,
- org.eclipse.equinox.internal.provisional.p2.core.eventbus,
- org.eclipse.equinox.internal.provisional.p2.core.location,
- org.eclipse.equinox.internal.provisional.p2.core.repository,
- org.eclipse.equinox.internal.provisional.p2.engine,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.internal.provisional.p2.metadata.query,
- org.eclipse.equinox.internal.provisional.p2.metadata.repository,
- org.eclipse.equinox.internal.provisional.p2.query,
- org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository,
- org.eclipse.osgi.service.resolver;version="1.1.0",
- org.eclipse.osgi.util;version="1.0.0",
- org.osgi.framework;version="1.3.0"
-Export-Package: org.eclipse.equinox.internal.p2.director;x-friends:="org.eclipse.equinox.p2.exemplarysetup",
- org.eclipse.equinox.internal.p2.resolution;x-internal:=true,
- org.eclipse.equinox.internal.p2.rollback;x-friends:="org.eclipse.equinox.p2.ui",
- org.eclipse.equinox.internal.provisional.p2.director;
- x-friends:="org.eclipse.equinox.p2.reconciler.dropins,
- org.eclipse.equinox.p2.ui,
- org.eclipse.equinox.p2.ui.admin,
- org.eclipse.equinox.p2.ui.sdk,
- org.eclipse.equinox.p2.director.app,
- org.eclipse.equinox.p2.installer,
- org.eclipse.equinox.p2.console,
- org.eclipse.equinox.p2.updatechecker,
- org.eclipse.pde.p2.ui"
-Bundle-Activator: org.eclipse.equinox.internal.p2.director.DirectorActivator
-Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
- J2SE-1.4
-Require-Bundle: org.eclipse.equinox.common,
- org.sat4j.core;bundle-version="2.0.0",
- org.sat4j.pb;bundle-version="2.0.0"
diff --git a/bundles/org.eclipse.equinox.p2.director/about.html b/bundles/org.eclipse.equinox.p2.director/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.director/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 2, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.director/build.properties b/bundles/org.eclipse.equinox.p2.director/build.properties
deleted file mode 100644
index a6b8330..0000000
--- a/bundles/org.eclipse.equinox.p2.director/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- about.html,\
- plugin.properties
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.p2.director/plugin.properties b/bundles/org.eclipse.equinox.p2.director/plugin.properties
deleted file mode 100644
index 203d9ac..0000000
--- a/bundles/org.eclipse.equinox.p2.director/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Equinox Provisioning Director
-providerName = Eclipse.org
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/ApplicablePatchQuery.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/ApplicablePatchQuery.java
deleted file mode 100644
index 9fdf35e..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/ApplicablePatchQuery.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.director;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.query.Query;
-
-public class ApplicablePatchQuery extends Query {
-
- public static final Query ANY = new Query() {
- public boolean isMatch(Object candidate) {
- return candidate instanceof IInstallableUnitPatch;
- }
- };
-
- IInstallableUnit iu;
-
- public ApplicablePatchQuery(IInstallableUnit iu) {
- this.iu = iu;
- }
-
- public boolean isMatch(Object candidate) {
- if (!(candidate instanceof IInstallableUnitPatch))
- return false;
- IInstallableUnitPatch patchIU = (IInstallableUnitPatch) candidate;
- RequiredCapability[][] scopeDescription = patchIU.getApplicabilityScope();
- if (scopeDescription == null)
- return false;
- if (scopeDescription.length == 0)
- return true;
-
- ProvidedCapability[] cap = iu.getProvidedCapabilities();
- for (int i = 0; i < scopeDescription.length; i++) {
- int matchedScopeEntry = scopeDescription[i].length;
- for (int j = 0; j < scopeDescription[i].length; j++) {
- for (int k = 0; k < cap.length; k++) {
- if (cap[k].isSatisfiedBy(scopeDescription[i][j])) {
- matchedScopeEntry--;
- break;
- }
- }
- }
- if (matchedScopeEntry == 0)
- return true;
- }
- return false;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/BasicIUFilter.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/BasicIUFilter.java
deleted file mode 100644
index 060b30a..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/BasicIUFilter.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.director;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-
-public class BasicIUFilter extends IUFilter {
- private IInstallableUnit[] accepted;
-
- public BasicIUFilter(IInstallableUnit[] accepted) {
- this.accepted = accepted;
- }
-
- public boolean accept(IInstallableUnit iu) {
- for (int i = 0; i < accepted.length; i++) {
- if (accepted[i].equals(iu))
- return true;
- }
- return false;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/DirectorActivator.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/DirectorActivator.java
deleted file mode 100644
index d3d20b6..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/DirectorActivator.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.director;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class DirectorActivator implements BundleActivator {
- public static final String PI_DIRECTOR = "org.eclipse.equinox.p2.director"; //$NON-NLS-1$
- public static BundleContext context;
-
- public void start(BundleContext ctx) throws Exception {
- context = ctx;
- }
-
- public void stop(BundleContext ctx) throws Exception {
- DirectorActivator.context = null;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/HasMatchCollector.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/HasMatchCollector.java
deleted file mode 100644
index c789d85..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/HasMatchCollector.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.director;
-
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-
-/**
- * A collector that short-circuits on the first match.
- */
-public class HasMatchCollector extends Collector {
- private boolean hasMatch = false;
-
- public boolean accept(Object object) {
- hasMatch = true;
- return false;
- }
-
- public boolean isEmpty() {
- return !hasMatch;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/IUFilter.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/IUFilter.java
deleted file mode 100644
index 8745ab1..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/IUFilter.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.director;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-
-public abstract class IUFilter {
- public abstract boolean accept(IInstallableUnit iu);
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/IUTransformationHelper.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/IUTransformationHelper.java
deleted file mode 100644
index fa541d8..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/IUTransformationHelper.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.director;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.osgi.service.resolver.VersionRange;
-
-public class IUTransformationHelper {
- static public RequiredCapability[] toRequirements(Iterator ius, boolean optional) {
- ArrayList result = new ArrayList();
- while (ius.hasNext()) {
- IInstallableUnit current = (IInstallableUnit) ius.next();
- result.add(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, current.getId(), new VersionRange(current.getVersion(), true, current.getVersion(), true), null, optional, false));
- }
- return (RequiredCapability[]) result.toArray(new RequiredCapability[result.size()]);
- }
-
- static public RequiredCapability[] toRequirements(IInstallableUnit[] ius, boolean optional) {
- RequiredCapability[] result = new RequiredCapability[ius.length];
- for (int i = 0; i < result.length; i++) {
- IInstallableUnit current = ius[i];
- result[i] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, current.getId(), new VersionRange(current.getVersion(), true, current.getVersion(), true), null, optional, false);
- }
- return result;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Messages.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Messages.java
deleted file mode 100644
index 6e73c97..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Messages.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.director;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.director.messages"; //$NON-NLS-1$
-
- static {
- // initialize resource bundles
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- // Do not instantiate
- }
-
- public static String Director_Revert_Problems;
- public static String Director_Unexpected_IU;
- public static String Director_Task_Installing;
- public static String Director_Task_Updating;
- public static String Director_Task_Resolving_Dependencies;
- public static String Director_Unsatisfied_Dependencies;
- public static String Director_Unsatisfied_Dependency;
-
- public static String Planner_Error_saving_opbfile;
- public static String Planner_Format_error;
- public static String Planner_Missing_opb_file;
- public static String Planner_Timeout;
- public static String Planner_Problems_resolving_plan;
- public static String Planner_Trivial_exception;
- public static String Planner_Unsatisfiable_problem;
- public static String Planner_Unsatisfied_dependency;
- public static String Planner_NoSolution;
-
- public static String Old_Resolver_Several_Versions;
- public static String Old_Resolver_Incompatible_Versions;
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/NewDependencyExpander.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/NewDependencyExpander.java
deleted file mode 100644
index 7d403dd..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/NewDependencyExpander.java
+++ /dev/null
@@ -1,637 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Genuitec, LLC - added license support
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.director;
-
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.resolution.ResolutionHelper;
-import org.eclipse.equinox.internal.p2.resolution.UnsatisfiedCapability;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.CapabilityQuery;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.framework.Version;
-
-/**
- * This code is kept to report errors. The real resolution is done in classes {@link Slicer} and {@link Projector}.
- */
-public class NewDependencyExpander {
-
- private class Match {
- /**
- * The {@link IInstallableUnit}s satisfying this requirement.
- */
- Set candidates;
- /**
- * The environment against which capability filters are evaluated for this match.
- */
- Dictionary env;
- RequiredCapability req;
-
- public Match(RequiredCapability range, Dictionary environment) {
- this.req = range;
- this.env = environment;
- candidates = new HashSet(2);
- }
-
- /**
- * For debugging purposes only
- */
- public String toString() {
- return "Match[" + req + ']'; //$NON-NLS-1$
- }
- }
-
- /**
- * Represents a requirement name in the map of required capabilities.
- */
- private class MatchKey {
- String name;
- String namespace;
-
- MatchKey(RequiredCapability capability) {
- this.namespace = capability.getNamespace();
- this.name = capability.getName();
- }
-
- public boolean equals(Object object) {
- if (!(object instanceof MatchKey))
- return false;
- MatchKey that = (MatchKey) object;
- return this.namespace.equals(that.namespace) && this.name.equals(that.name);
- }
-
- public int hashCode() {
- return 31 * namespace.hashCode() + name.hashCode();
- }
-
- public String toString() {
- return "MatchKey(" + namespace + '/' + name + ')'; //$NON-NLS-1$
- }
- }
-
- // Installable units that are optional have a dependency on themselves.
- private class OptionalInstallableUnit implements IInstallableUnit {
- private boolean optionalReqs;
- private IInstallableUnit wrapped;
-
- OptionalInstallableUnit(IInstallableUnit iu, boolean generateOptionalReqs) {
- wrapped = iu;
- optionalReqs = generateOptionalReqs;
- }
-
- public String getFilter() {
- return wrapped.getFilter();
- }
-
- public String getId() {
- return wrapped.getId();
- }
-
- public Version getVersion() {
- return wrapped.getVersion();
- }
-
- public String getProperty(String key) {
- return wrapped.getProperty(key);
- }
-
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (!super.equals(obj))
- return false;
- if (getClass() != obj.getClass())
- return false;
- final OptionalInstallableUnit other = (OptionalInstallableUnit) obj;
- if (wrapped == null) {
- if (other.wrapped != null)
- return false;
- } else if (!wrapped.equals(other.wrapped))
- return false;
- return true;
- }
-
- public RequiredCapability[] getRequiredCapabilities() {
- ArrayList result = new ArrayList();
- ProvidedCapability[] caps = wrapped.getProvidedCapabilities();
- for (int i = 0; i < caps.length; i++) {
- result.add(MetadataFactory.createRequiredCapability(caps[i].getNamespace(), caps[i].getName(), new VersionRange(caps[i].getVersion(), true, caps[i].getVersion(), true), wrapped.getFilter(), optionalReqs, false));
- }
- result.addAll(Arrays.asList(wrapped.getRequiredCapabilities()));
- return (RequiredCapability[]) result.toArray(new RequiredCapability[result.size()]);
- }
-
- public int hashCode() {
- final int prime = 31;
- int result = super.hashCode();
- result = prime * result + ((wrapped == null) ? 0 : wrapped.hashCode());
- return result;
- }
-
- public String toString() {
- return wrapped.toString();
- }
-
- public IArtifactKey[] getArtifacts() {
- return wrapped.getArtifacts();
- }
-
- public Map getProperties() {
- return wrapped.getProperties();
- }
-
- public ProvidedCapability[] getProvidedCapabilities() {
- return wrapped.getProvidedCapabilities();
- }
-
- public TouchpointData[] getTouchpointData() {
- return wrapped.getTouchpointData();
- }
-
- public TouchpointType getTouchpointType() {
- return wrapped.getTouchpointType();
- }
-
- public boolean isFragment() {
- return wrapped.isFragment();
- }
-
- public boolean isSingleton() {
- return wrapped.isSingleton();
- }
-
- public int compareTo(Object arg) {
- return wrapped.compareTo(arg);
- }
-
- public IInstallableUnitFragment[] getFragments() {
- return null;
- }
-
- public boolean isResolved() {
- return false;
- }
-
- public IInstallableUnit unresolved() {
- return this;
- }
-
- public IUpdateDescriptor getUpdateDescriptor() {
- return wrapped.getUpdateDescriptor();
- }
-
- public License getLicense() {
- return wrapped.getLicense();
- }
-
- public Copyright getCopyright() {
- return wrapped.getCopyright();
- }
- }
-
- static final int OperationWork = 100;
-
- private final Set alreadyInstalled = new HashSet();
-
- private boolean includeOptional;
-
- /**
- * A map of all the requirements ever encountered in the system. The key is
- * a MatchKey and the value is a List of Match objects.
- */
- private Map must = new HashMap();
- private Picker picker;
-
- private Dictionary selectionContext;
-
- private RecommendationDescriptor recommendations;
-
- private ResolutionHelper resolver;
-
- private IInstallableUnit[] roots;
-
- private Collection solution;
-
- public NewDependencyExpander(IInstallableUnit[] r, IInstallableUnit[] alreadyInstalled, IInstallableUnit[] availableIUs, Dictionary selectionContext, boolean includeOptional) {
- this.roots = (r == null) ? new IInstallableUnit[0] : r;
- this.includeOptional = includeOptional;
- alreadyInstalled = alreadyInstalled == null ? new IInstallableUnit[0] : alreadyInstalled;
- this.alreadyInstalled.addAll(Arrays.asList(alreadyInstalled));
- this.selectionContext = selectionContext;
-
- IInstallableUnit[] result = new IInstallableUnit[roots.length + alreadyInstalled.length + availableIUs.length];
- System.arraycopy(roots, 0, result, 0, roots.length);
- System.arraycopy(alreadyInstalled, 0, result, roots.length, alreadyInstalled.length);
- System.arraycopy(availableIUs, 0, result, roots.length + alreadyInstalled.length, availableIUs.length);
- picker = new Picker(result, new RecommendationDescriptor(new HashSet()));
- Collection filterForRoot = new ArrayList();
- if (r != null && r.length > 0) {
- filterForRoot.add(new BasicIUFilter(r));
- filterForRoot.add(new RequirementBasedFilter(r[0].getRequiredCapabilities()));
- }
- picker.prefer(filterForRoot);
- }
-
- /**
- * Creates a problem status for the given unsatisfied dependency.
- */
- private void addUnsatisfied(RequiredCapability req, Collection toAdd, MultiStatus problems) {
- for (Iterator it = toAdd.iterator(); it.hasNext();) {
- IInstallableUnit unit = (IInstallableUnit) it.next();
- RequiredCapability[] required = unit.getRequiredCapabilities();
- for (int i = 0; i < required.length; i++) {
- if (required[i].equals(req)) {
- UnsatisfiedCapability unsatisfied = new UnsatisfiedCapability(req, unit);
- String msg = NLS.bind(Messages.Director_Unsatisfied_Dependency, unsatisfied);
- problems.add(new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, msg));
- }
- }
- }
- }
-
- private void algo(SubMonitor p, MultiStatus problems) {
- //First we create dependencies on the root themselves. The first iteration will mostly consist in rediscovering the roots.
- Collection toAdd = asOptionalIUs(Arrays.asList(roots), false);
- toAdd.addAll(alreadyInstalled);
- do {
- //reset work at each iteration, then use up a third. This results in an infinite series where remaining ticks gets steadily smaller
- if (p.isCanceled()) {
- problems.add(Status.CANCEL_STATUS);
- return;
- }
- p.setWorkRemaining(100);
- extractVisibilityData(toAdd);
- if (p.isCanceled()) {
- problems.add(Status.CANCEL_STATUS);
- return;
- }
- extractRequirements(toAdd);
- if (p.isCanceled()) {
- problems.add(Status.CANCEL_STATUS);
- return;
- }
- toAdd = collectMatches(toAdd, problems);
- p.worked(33);
- } while (toAdd.size() != 0);
-
- //don't bother invoking the resolver if we already have problems
- // if (!problems.isOK())
- // return;
- invokeResolver(problems);
- // if (problems.isOK())
- if (p.isCanceled()) {
- problems.add(Status.CANCEL_STATUS);
- return;
- }
- extractSolution();
- }
-
- private void extractVisibilityData(Collection ius) {
- Collection filters = new ArrayList();
- for (Iterator iterator = ius.iterator(); iterator.hasNext();) {
- IInstallableUnit iu = (IInstallableUnit) iterator.next();
- if ("true".equalsIgnoreCase(iu.getProperty("lineUp"))) { //$NON-NLS-1$//$NON-NLS-2$
- filters.add(new RequirementBasedFilter(iu.getRequiredCapabilities()));
- }
- }
- picker.prefer(filters);
- }
-
- private Collection asOptionalIUs(Collection asList, boolean generateOptionalReqs) {
- ArrayList result = new ArrayList();
- for (Iterator iterator = asList.iterator(); iterator.hasNext();) {
- result.add(new OptionalInstallableUnit(((IInstallableUnit) iterator.next()), generateOptionalReqs));
- }
- return result;
- }
-
- private Collection collectFlavorProviders(Collection toSearchFor) {
- String flavor = (String) selectionContext.get(IProfile.PROP_ENVIRONMENTS);
- if (flavor == null)
- return new HashSet();
- IInstallableUnit[][] picked = picker.findInstallableUnit(null, null, new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_FLAVOR, flavor, VersionRange.emptyRange, null, false, false)}, true /* fragmentsOnly */);
- IInstallableUnit[] ius;
- if (picked[0].length > 0)
- ius = picked[0];
- else
- ius = picked[1];
- Set results = new HashSet(ius.length);
- for (int i = 0; i < ius.length; i++) {
- IInstallableUnit tmp = match(toSearchFor, ius[i]);
- if (tmp != null)
- results.add(new OptionalInstallableUnit(tmp, false));
- }
- return results;
- }
-
- private Collection collectInstallableUnitFragments(Collection ius) {
- Set picked = new HashSet();
- for (Iterator iterator = ius.iterator(); iterator.hasNext();) {
- IInstallableUnit current = (IInstallableUnit) iterator.next();
- IInstallableUnit[][] candidates = picker.findInstallableUnit(null, null, new RequiredCapability[] {MetadataFactory.createRequiredCapability("fragment", current.getId(), VersionRange.emptyRange, null, true, false)}, false /* not fragmentsOnly */); //$NON-NLS-1$
- IInstallableUnit[] matches = candidates[0].length > 0 ? candidates[0] : candidates[1];
- if (matches.length > 0) { //TODO Here we need to check the filter of the found iu
- if (matches.length == 1) {
- picked.add(matches[0]);
- continue;
- }
- //verify that each IU requires the current iu
- ProvidedCapability capForCurrent = MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, current.getId(), current.getVersion());
- Map toAdd = new HashMap();
- for (int i = 0; i < matches.length; i++) {
- RequiredCapability[] reqs = matches[i].getRequiredCapabilities();
- boolean isReallyAFragment = false;
- for (int j = 0; j < reqs.length; j++) {
- isReallyAFragment = capForCurrent.isSatisfiedBy(reqs[j]);
- }
- if (!isReallyAFragment)
- continue;
- IInstallableUnit match = (IInstallableUnit) toAdd.get(matches[i].getId());
- if (match == null || match.getVersion().compareTo(matches[i].getVersion()) < 0)
- toAdd.put(matches[i].getId(), matches[i]);
- }
- picked.addAll(toAdd.values());
- //in the reminder, check if more than one is good, then pick the highest one.
- }
- }
- return picked;
- }
-
- // For each requirement, find the potential IUs
- private Collection collectMatches(Collection toAdd, MultiStatus problems) {
- Collection thingsAdded = new HashSet();
- for (Iterator iterator = must.values().iterator(); iterator.hasNext();) {
- List all = (List) iterator.next();
- for (Iterator matches = all.iterator(); matches.hasNext();) {
- Match current = (Match) matches.next();
- Collection[] picked = picker.findInstallableUnit(null, null, current.req);
- Collection found = picked[0].size() > 0 ? picked[0] : picked[1];
- if (current.candidates.addAll(found)) {
- thingsAdded.addAll(found);
- thingsAdded.addAll(collectOptionalInstallableUnits(found));
- }
- if (current.candidates.size() == 0 && requirementEnabled(current.req))
- addUnsatisfied(current.req, toAdd, problems);
- }
- if (all.size() > 2) {
- Match[] conflictingMatches = (Match[]) all.toArray(new Match[all.size()]);
- throw new IllegalStateException(NLS.bind(Messages.Old_Resolver_Several_Versions, conflictingMatches));
- }
- if (all.size() > 1) {
- //TODO This algorithm needs to be generalized to consider all the potential candidates.
- Set set1 = ((Match) all.get(0)).candidates;
- Set set2 = ((Match) all.get(1)).candidates;
- boolean potentialSolution = false;
- for (Iterator iteratorSet1 = set1.iterator(); iteratorSet1.hasNext() && !potentialSolution;) {
- IInstallableUnit itemSet1 = (IInstallableUnit) iteratorSet1.next();
- for (Iterator iteratorSet2 = set2.iterator(); iteratorSet2.hasNext() && !potentialSolution;) {
- IInstallableUnit itemSet2 = (IInstallableUnit) iteratorSet2.next();
- if (itemSet1.getId().equals(itemSet2.getId()) && ((itemSet1.isSingleton() == true && itemSet1.isSingleton() == itemSet2.isSingleton()) || itemSet1.isSingleton() != itemSet2.isSingleton())) {
- continue; //This combination would not work. Keep on searching
- }
- potentialSolution = true;
- }
- }
- if (potentialSolution == false) {
- String msg = NLS.bind(Messages.Old_Resolver_Incompatible_Versions, all.get(0), all.get(1));
- problems.add(new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, msg));
- }
- }
-
- }
- return thingsAdded;
- }
-
- private Collection collectOptionalInstallableUnits(Collection optionalFor) {
- if (!includeOptional)
- return new ArrayList(0);
- Collection result = collectFlavorProviders(optionalFor);
- result.addAll(collectInstallableUnitFragments(optionalFor));
- // if (result.size() != 0) {//Find the optional pieces of the optional pieces. TODO I think there can be cases where we would cycle infinitely
- // result.addAll(collectOptionalInstallableUnits(result));
- // }
- return result;
- }
-
- /**
- * Eliminate false positives from the set of unsatisfied capabilities returned
- * by the resolver. This includes optional dependencies, and dependencies for
- * which we have an available installable unit.
- */
- private UnsatisfiedCapability[] collectUnsatisfiedDependencies(UnsatisfiedCapability[] unresolved) {
- ArrayList reallyUnsatisfied = new ArrayList(unresolved.length);
- for (int i = 0; i < unresolved.length; i++) {
- List all = (List) must.get(new MatchKey(unresolved[i].getRequiredCapability()));
- if (all != null) {
- for (Iterator iterator = all.iterator(); iterator.hasNext();) {
- Match m = (Match) iterator.next();
- if (requirementEnabled(m.req) && !oneResolved(m.candidates))
- reallyUnsatisfied.add(unresolved[i]);
- }
- } else {
- must.get(new MatchKey(unresolved[i].getRequiredCapability()));
- }
- }
- return (UnsatisfiedCapability[]) reallyUnsatisfied.toArray(new UnsatisfiedCapability[reallyUnsatisfied.size()]);
- }
-
- private List createList(Match m) {
- List result = new LinkedList();
- result.add(m);
- return result;
- }
-
- public IStatus expand(IProgressMonitor p) {
- MultiStatus result = new MultiStatus(DirectorActivator.PI_DIRECTOR, 1, Messages.Director_Unsatisfied_Dependencies, null);
- try {
- algo(SubMonitor.convert(p, "Resolving", 10), result);
- } catch (IllegalStateException e) {
- return new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, 1, e.getMessage(), null);
- }
- if (result.isOK())
- return Status.OK_STATUS;
- return result;
- }
-
- // return a map from a requirement to the set of installable units
- // depending on that requirement
- private void extractRequirements(Collection ius) {
- //map of MatchKey->Match
- for (Iterator iterator = ius.iterator(); iterator.hasNext();) {
- IInstallableUnit currentUnit = (IInstallableUnit) iterator.next();
- RequiredCapability[] toAdd = currentUnit.getRequiredCapabilities();
- outer: for (int i = 0; i < toAdd.length; i++) {
- RequiredCapability current = toAdd[i];
- if (isApplicable(current) && !isMeta(current) && !current.isOptional()) {
- MatchKey key = new MatchKey(current);
- List match = (List) must.get(key);
- if (match == null) {
- //We've never seen a requirement like this. Make a new match
- must.put(key, createList(new Match(current, selectionContext)));
- } else {
- //look for an existing match whose version range is overlapping the new one
- for (Iterator matches = match.iterator(); matches.hasNext();) {
- Match currentMatch = (Match) matches.next();
- VersionRange newRange = intersect(currentMatch.req.getRange(), current.getRange());
- if (newRange != null) {
- //merge version range and environment with existing match
- currentMatch.req = MetadataFactory.createRequiredCapability(current.getNamespace(), current.getName(), newRange, current.getFilter(), currentMatch.req.isOptional() && current.isOptional(), false);
- currentMatch.env = mergeEnvironments(currentMatch.env, current);
- continue outer;
- }
- }
- //the new match is disjoint from existing ones, so add a new match to the list
- match.add(new Match(current, selectionContext));
- }
- }
- }
- }
- }
-
- private void extractSolution() {
- solution = Collections.unmodifiableCollection(resolver.getAllResolved());
- }
-
- public Collection getAllInstallableUnits() {
- if (solution == null)
- solution = new ArrayList(0);
- return solution;
- }
-
- public Collection getNewInstallableUnits() {
- HashSet newIUs = new HashSet(getAllInstallableUnits());
- newIUs.removeAll(alreadyInstalled);
- return newIUs;
- }
-
- public RecommendationDescriptor getRecommendations() {
- // TODO Auto-generated method stub
- return null;
- }
-
- private VersionRange intersect(VersionRange r1, VersionRange r2) {
- Version resultMin = null;
- boolean resultMinIncluded = false;
- Version resultMax = null;
- boolean resultMaxIncluded = false;
-
- int minCompare = r1.getMinimum().compareTo(r2.getMinimum());
- if (minCompare < 0) {
- resultMin = r2.getMinimum();
- resultMinIncluded = r2.getIncludeMinimum();
- } else if (minCompare > 0) {
- resultMin = r1.getMinimum();
- resultMinIncluded = r1.getIncludeMinimum();
- } else {//minCompare == 0
- resultMin = r1.getMinimum();
- resultMinIncluded = r1.getIncludeMinimum() && r2.getIncludeMinimum();
- }
-
- int maxCompare = r1.getMaximum().compareTo(r2.getMaximum());
- if (maxCompare > 0) {
- resultMax = r2.getMaximum();
- resultMaxIncluded = r2.getIncludeMaximum();
- } else if (maxCompare < 0) {
- resultMax = r1.getMaximum();
- resultMaxIncluded = r1.getIncludeMaximum();
- } else {//maxCompare == 0
- resultMax = r1.getMaximum();
- resultMaxIncluded = r1.getIncludeMaximum() && r2.getIncludeMaximum();
- }
-
- int resultRangeComparison = resultMin.compareTo(resultMax);
- if (resultRangeComparison < 0)
- return new VersionRange(resultMin, resultMinIncluded, resultMax, resultMaxIncluded);
- else if (resultRangeComparison == 0 && resultMinIncluded == resultMaxIncluded) {
- return new VersionRange(resultMin, resultMinIncluded, resultMax, resultMaxIncluded);
- } else
- return null;
- }
-
- private void invokeResolver(MultiStatus problems) {
- resolver = new ResolutionHelper(selectionContext, recommendations);
- Set toInstall = new HashSet(must.size());
- for (Iterator iterator = must.values().iterator(); iterator.hasNext();) {
- List allMatches = (List) iterator.next();
- for (Iterator matches = allMatches.iterator(); matches.hasNext();) {
- Match current = (Match) matches.next();
- toInstall.addAll(current.candidates);
- }
- }
- toInstall.removeAll(alreadyInstalled);
- UnsatisfiedCapability[] unsatisfied = collectUnsatisfiedDependencies(resolver.install(toInstall, alreadyInstalled));
- for (int i = 0; i < unsatisfied.length; i++) {
- problems.add(new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, NLS.bind(Messages.Director_Unsatisfied_Dependency, unsatisfied[i])));
- }
- }
-
- // Check whether the requirement is applicable
- private boolean isApplicable(RequiredCapability req) {
- String filter = req.getFilter();
- if (filter == null)
- return true;
- try {
- return DirectorActivator.context.createFilter(filter).match(selectionContext);
- } catch (InvalidSyntaxException e) {
- return false;
- }
- }
-
- /**
- * Because information to discover additional things to install is mixed with information
- * about inter-component dependencies, we end up having dependencies that cause
- * the whole world to be selected. We are here filtering them out.
- */
- private boolean isMeta(RequiredCapability requiredCapability) {
- String namespace = requiredCapability.getNamespace();
- //TODO Should not reference OSGi touchpoint concepts here
- return namespace.equals("org.eclipse.equinox.p2.eclipse.type") || namespace.equals(IInstallableUnit.NAMESPACE_FLAVOR); //$NON-NLS-1$
- }
-
- private IInstallableUnit match(Collection close, IInstallableUnit picked) {
- Collector result = new HasMatchCollector();
- new CapabilityQuery(picked.getRequiredCapabilities()).perform(close.iterator(), result);
- if (!result.isEmpty())
- return picked;
- return null;
- }
-
- private Dictionary mergeEnvironments(Dictionary context, RequiredCapability newCapability) {
- String[] newSelectors = newCapability.getSelectors();
- if (newSelectors == null || newSelectors.length == 0)
- return context;
- if (context == null)
- context = new Hashtable();
- String trueString = Boolean.TRUE.toString();
- for (int i = 0; i < newSelectors.length; i++) {
- context.put(newSelectors[i], trueString);
- }
- return context;
- }
-
- private boolean oneResolved(Collection ius) {
- for (Iterator iterator = ius.iterator(); iterator.hasNext();) {
- if (resolver.isResolved((IInstallableUnit) iterator.next()))
- return true;
- }
- return false;
- }
-
- private boolean requirementEnabled(RequiredCapability req) {
- if (req.isOptional())
- return false;
- return isApplicable(req);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/OperationGenerator.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/OperationGenerator.java
deleted file mode 100644
index c47da72..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/OperationGenerator.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.director;
-
-import java.util.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.InstallableUnitOperand;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-
-public class OperationGenerator {
- private static final IInstallableUnit NULL_IU = MetadataFactory.createResolvedInstallableUnit(MetadataFactory.createInstallableUnit(new InstallableUnitDescription()), new IInstallableUnitFragment[0]);
-
- public InstallableUnitOperand[] generateOperation(Collection from_, Collection to_) {
- List from = new ArrayList(from_);
- Collections.sort(from);
-
- List to = new ArrayList(to_);
- Collections.sort(to);
-
- ArrayList operations = new ArrayList();
- generateUpdates(from, to, operations);
- generateInstallUninstall(from, to, operations);
- InstallableUnitOperand[] ops = (InstallableUnitOperand[]) operations.toArray(new InstallableUnitOperand[operations.size()]);
- return ops;
- }
-
- private void generateInstallUninstall(List from, List to, ArrayList operations) {
- int toIdx = 0;
- int fromIdx = 0;
- while (fromIdx != from.size() && toIdx != to.size()) {
- IInstallableUnit fromIU = (IInstallableUnit) from.get(fromIdx);
- IInstallableUnit toIU = (IInstallableUnit) to.get(toIdx);
- int comparison = toIU.compareTo(fromIU);
- if (comparison < 0) {
- operations.add(createInstallOperation(toIU));
- toIdx++;
- } else if (comparison == 0) {
- toIdx++;
- fromIdx++;
- // System.out.println("same " + fromIU);
- } else {
- operations.add(createUninstallOperation(fromIU));
- fromIdx++;
- }
- }
- if (fromIdx != from.size()) {
- for (int i = fromIdx; i < from.size(); i++) {
- operations.add(createUninstallOperation((IInstallableUnit) from.get(i)));
- }
- }
- if (toIdx != to.size()) {
- for (int i = toIdx; i < to.size(); i++) {
- operations.add(createInstallOperation((IInstallableUnit) to.get(i)));
- }
- }
- }
-
- private void generateUpdates(List from, List to, ArrayList operations) {
- Set processed = new HashSet();
- Set removedFromTo = new HashSet();
-
- Map fromById = new HashMap();
- for (Iterator iterator = from.iterator(); iterator.hasNext();) {
- IInstallableUnit iuFrom = (IInstallableUnit) iterator.next();
- List ius = (List) fromById.get(iuFrom.getId());
- if (ius == null) {
- ius = new ArrayList();
- fromById.put(iuFrom.getId(), ius);
- }
- ius.add(iuFrom);
- }
-
- for (int toIdx = 0; toIdx < to.size(); toIdx++) {
- IInstallableUnit iuTo = (IInstallableUnit) to.get(toIdx);
- if (iuTo.getId().equals(next(to, toIdx).getId())) {
- toIdx = skip(to, iuTo, toIdx) - 1;
- //System.out.println("Can't update " + iuTo + " because another iu with same id is in the target state");
- continue;
- }
- if (iuTo.getUpdateDescriptor() == null)
- continue;
-
- List fromIdIndexList = (List) fromById.get(iuTo.getUpdateDescriptor().getId());
- if (fromIdIndexList == null)
- continue;
-
- //when the ui we update from is in the new state, skip (for example FROM is A, C, B & TO is C (update of
- InstallableUnitQuery updateQuery = new InstallableUnitQuery(iuTo.getUpdateDescriptor().getId(), iuTo.getUpdateDescriptor().getRange());
- Iterator updates = updateQuery.perform(fromIdIndexList.iterator(), new Collector()).iterator();
-
- if (!updates.hasNext()) { //Nothing to update from.
- continue;
- }
- IInstallableUnit iuFrom = (IInstallableUnit) updates.next();
- if (updates.hasNext()) { //There are multiple IUs to update from
- //System.out.println("Can't update " + iuTo + " because there are multiple IUs to update from (" + toString(iusFrom) + ')');
- continue;
- }
- if (iuTo.equals(iuFrom)) {
- from.remove(iuFrom);
- fromIdIndexList.remove(iuFrom);
- removedFromTo.add(iuTo);
- continue;
- }
- operations.add(createUpdateOperation(iuFrom, iuTo));
- from.remove(iuFrom);
- fromIdIndexList.remove(iuFrom);
- processed.add(iuTo);
- }
- to.removeAll(processed);
- to.removeAll(removedFromTo);
- }
-
- private InstallableUnitOperand createUninstallOperation(IInstallableUnit iu) {
- return new InstallableUnitOperand(iu, null);
- }
-
- private InstallableUnitOperand createInstallOperation(IInstallableUnit iu) {
- return new InstallableUnitOperand(null, iu);
- }
-
- private InstallableUnitOperand createUpdateOperation(IInstallableUnit from, IInstallableUnit to) {
- return new InstallableUnitOperand(from, to);
- }
-
- private IInstallableUnit next(List l, int i) {
- i++;
- if (i >= l.size())
- return NULL_IU;
- return (IInstallableUnit) l.get(i);
- }
-
- private int skip(List c, IInstallableUnit id, int idx) {
- int i = idx;
- for (; i < c.size(); i++) {
- if (!id.getId().equals(((IInstallableUnit) c.get(i)).getId()))
- return i;
- }
- return i;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/PatchingIU.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/PatchingIU.java
deleted file mode 100644
index 1328f98..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/PatchingIU.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package org.eclipse.equinox.internal.p2.director;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.RequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.query.Query;
-
-public class PatchingIU extends Query {
-
- public PatchingIU(RequiredCapability req) {
- }
-
- public boolean isMatch(Object candidate) {
- if (!(candidate instanceof IInstallableUnit))
- return false;
-
- IInstallableUnit iu = (IInstallableUnit) candidate;
- if (iu.getProperty("patch").equals("true"))
- return true;
- return hasApplicablePatch(iu);
- }
-
- private boolean hasApplicablePatch(IInstallableUnit iu) {
- //iu.getPatches
- return true;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Picker.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Picker.java
deleted file mode 100644
index aab7176..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Picker.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.director;
-
-import java.util.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.osgi.service.resolver.VersionRange;
-
-//The pickers goal is to find an installable unit that satisfies a search criteria
-//TODO we may need additional variations of these method where version can be null, or where the search returns all the match, not just the first one
-//TODO do we want a facility to limit the searching space, or do we assume that the unitsToPickFrom has already been scoped
-public class Picker {
- //TODO we'll likely need better indexing capabilities
- private IInstallableUnit[] preferredSet;
- private IInstallableUnit[] completeSet;
- private IInstallableUnit[] secondChoiceSet;
- private RecommendationDescriptor recommendations;
-
- private List filters;
-
- public Picker(IInstallableUnit[] unitsToPickFrom, RecommendationDescriptor recommendations) {
- if (unitsToPickFrom != null)
- completeSet = unitsToPickFrom;
- else
- completeSet = new IInstallableUnit[0];
- this.secondChoiceSet = completeSet;
- this.recommendations = recommendations;
- this.filters = new ArrayList(2);
- }
-
- public Collection[] findInstallableUnit(String id, VersionRange range, RequiredCapability searchedCapability) {
- IInstallableUnit[][] tmp = findInstallableUnit(id, range, new RequiredCapability[] {searchedCapability}, false);
- return new Collection[] {Arrays.asList(tmp[0]), Arrays.asList(tmp[1])};
- }
-
- public void prefer(Collection filtersToAdd) {
- if (!filters.addAll(filtersToAdd))
- return;
- if (filters.size() == 0)
- return;
- Set preferredIUs = new HashSet(completeSet.length);
- Set secondChoice = new HashSet(completeSet.length);
- for (int i = 0; i < completeSet.length; i++) {
- for (Iterator iterator = filters.iterator(); iterator.hasNext();) {
- if (((IUFilter) iterator.next()).accept(completeSet[i])) {
- preferredIUs.add(completeSet[i]);
- continue;
- } else {
- secondChoice.add(completeSet[i]);
- }
- }
- }
- preferredSet = (IInstallableUnit[]) preferredIUs.toArray(new IInstallableUnit[preferredIUs.size()]);
- secondChoiceSet = (IInstallableUnit[]) secondChoice.toArray(new IInstallableUnit[secondChoice.size()]);
- }
-
- public IInstallableUnit[][] findInstallableUnit(String id, VersionRange range, RequiredCapability[] searchedCapability, boolean fragmentsOnly) {
- return new IInstallableUnit[][] {findInstallableUnit(preferredSet, id, range, searchedCapability, fragmentsOnly), findInstallableUnit(secondChoiceSet, id, range, searchedCapability, fragmentsOnly)};
- }
-
- //TODO what should be the return value when all the parameters are null. Is it even a valid call?
- //TODO A lot of improvement could be done on this algorithm, for example
- // - remove from the set of searchedCapability the one that are found
- private IInstallableUnit[] findInstallableUnit(IInstallableUnit[] pool, String id, VersionRange range, RequiredCapability[] searchedCapability, boolean fragmentsOnly) {
- if (pool == null || pool.length == 0)
- return new IInstallableUnit[0];
- Set candidates = new HashSet();
-
- //Filter on plugin id and range
- if (id != null && range != null) {
- for (int i = 0; i < pool.length; i++) {
- if (pool[i].getId().equals(id) && range.isIncluded(pool[i].getVersion()))
- candidates.add(pool[i]);
- }
- pool = (IInstallableUnit[]) candidates.toArray(new IInstallableUnit[candidates.size()]);
- }
-
- //Filter on capabilities.
- if (searchedCapability != null) {
- searchedCapability = rewrite(searchedCapability);
- for (int i = 0; i < pool.length; i++) {
- IInstallableUnit candidate = pool[i];
- for (int k = 0; k < searchedCapability.length; k++) {
- boolean valid = false;
- ProvidedCapability[] capabilities = candidate.getProvidedCapabilities();
- if (capabilities.length == 0)
- valid = false;
- for (int j = 0; j < capabilities.length; j++) {
- if ((searchedCapability[k].getName().equals(capabilities[j].getName()) && searchedCapability[k].getNamespace().equals(capabilities[j].getNamespace()) && (searchedCapability[k].getRange() == null ? true : searchedCapability[k].getRange().isIncluded(capabilities[j].getVersion())))) { //TODO Need to deal with option
- valid = true;
- break;
- }
- }
- if (valid && (!fragmentsOnly || candidate.isFragment())) {
- candidates.add(candidate);
- }
- }
- }
- pool = (IInstallableUnit[]) candidates.toArray(new IInstallableUnit[candidates.size()]);
- }
-
- return pool;
- }
-
- private RequiredCapability[] rewrite(RequiredCapability[] requiredCapabilities) {
- if (recommendations == null)
- return requiredCapabilities;
- RequiredCapability[] result = new RequiredCapability[requiredCapabilities.length];
- for (int i = 0; i < requiredCapabilities.length; i++) {
- result[i] = getRecommendation(requiredCapabilities[i]);
- if (result[i] == null)
- result[i] = requiredCapabilities[i];
- }
- return result;
- }
-
- private RequiredCapability getRecommendation(RequiredCapability match) {
- Recommendation foundRecommendation = recommendations.findRecommendation(match);
- return foundRecommendation != null ? foundRecommendation.newValue() : match;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Projector.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Projector.java
deleted file mode 100644
index d719429..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Projector.java
+++ /dev/null
@@ -1,698 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- * Daniel Le Berre - Fix in the encoding and the optimization function
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.director;
-
-import java.io.*;
-import java.util.*;
-import java.util.Map.Entry;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.CapabilityQuery;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.query.IQueryable;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.InvalidSyntaxException;
-import org.sat4j.pb.IPBSolver;
-import org.sat4j.pb.SolverFactory;
-import org.sat4j.pb.reader.OPBEclipseReader2007;
-import org.sat4j.reader.ParseFormatException;
-import org.sat4j.specs.*;
-
-/**
- * This class is the interface between SAT4J and the planner. It produces a
- * boolean satisfiability problem, invokes the solver, and converts the solver result
- * back into information understandable by the planner.
- */
-public class Projector {
- private static boolean DEBUG = false;
- private IQueryable picker;
-
- private Map variables; //key IU, value corresponding variable in the problem
- private Map noopVariables; //key IU, value corresponding no optionality variable in the problem,
- private List abstractVariables;
-
- private TwoTierMap slice; //The IUs that have been considered to be part of the problem
-
- private Dictionary selectionContext;
-
- private int varCount = 1;
-
- private ArrayList constraints;
- private ArrayList dependencies;
- private ArrayList tautologies;
- private StringBuffer objective;
- private StringBuffer explanation = new StringBuffer("explain: "); //$NON-NLS-1$
- private Collection solution;
-
- private File problemFile;
- private MultiStatus result;
-
- private int commentsCount = 0;
-
- public Projector(IQueryable q, Dictionary context) {
- picker = q;
- variables = new HashMap();
- noopVariables = new HashMap();
- slice = new TwoTierMap();
- constraints = new ArrayList();
- tautologies = new ArrayList();
- dependencies = new ArrayList();
- selectionContext = context;
- abstractVariables = new ArrayList();
- result = new MultiStatus(DirectorActivator.PI_DIRECTOR, IStatus.OK, Messages.Planner_Problems_resolving_plan, null);
- }
-
- public void encode(IInstallableUnit[] ius, IProgressMonitor monitor) {
- try {
- long start = 0;
- if (DEBUG) {
- start = System.currentTimeMillis();
- System.out.println("Start projection: " + start); //$NON-NLS-1$
- }
-
- Iterator iusToEncode = picker.query(InstallableUnitQuery.ANY, new Collector(), null).iterator();
- if (DEBUG) {
- List iusToOrder = new ArrayList();
- while (iusToEncode.hasNext()) {
- iusToOrder.add(iusToEncode.next());
- }
- Collections.sort(iusToOrder);
- iusToEncode = iusToOrder.iterator();
- }
- while (iusToEncode.hasNext()) {
- processIU((IInstallableUnit) iusToEncode.next());
- }
- createConstraintsForSingleton();
- for (int i = 0; i < ius.length; i++) {
- createMustHaves(ius[i]);
- }
- createOptimizationFunction();
- persist();
- if (DEBUG) {
- long stop = System.currentTimeMillis();
- System.out.println("Projection complete: " + (stop - start)); //$NON-NLS-1$
- }
- } catch (IllegalStateException e) {
- result.add(new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, e.getMessage(), e));
- }
- }
-
- // translates a -> -b into pseudo boolean
- private String impliesNo(String a, String b) {
- return "-1 " + a + " -1 " + b + ">= -1 ;"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
-
- private String implies(String a, String b) {
- return "-1 " + a + " +1 " + b + ">= -1 ;"; //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
- }
-
- //Create an optimization function favoring the highest version of each IU
- private void createOptimizationFunction() {
- final String MIN_STR = "min:"; //$NON-NLS-1$
-
- objective = new StringBuffer(MIN_STR);
- Set s = slice.entrySet();
- final int POWER = 2;
-
- long maxWeight = POWER;
- for (Iterator iterator = s.iterator(); iterator.hasNext();) {
- Map.Entry entry = (Map.Entry) iterator.next();
- HashMap conflictingEntries = (HashMap) entry.getValue();
- if (conflictingEntries.size() == 1) {
- continue;
- }
- List toSort = new ArrayList(conflictingEntries.values());
- Collections.sort(toSort, Collections.reverseOrder());
- long weight = POWER;
- int count = toSort.size();
- for (int i = 1; i < count; i++) {
- objective.append(' ').append(weight).append(' ').append(getVariable((IInstallableUnit) toSort.get(i)));
- weight *= POWER;
- }
- if (weight > maxWeight)
- maxWeight = weight;
- }
-
- maxWeight *= POWER;
-
- for (Iterator iterator = noopVariables.values().iterator(); iterator.hasNext();) {
- objective.append(' ').append(maxWeight).append(' ').append(iterator.next().toString());
- }
-
- maxWeight *= POWER;
-
- //Add the abstract variables
- for (Iterator iterator = abstractVariables.iterator(); iterator.hasNext();) {
- objective.append(" -").append(maxWeight).append(" ").append((String) iterator.next()); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- if (MIN_STR.equals(objective.toString())) {
- objective = new StringBuffer();
- } else {
- objective.append(" ;"); //$NON-NLS-1$
- }
- }
-
- private void createMustHaves(IInstallableUnit iu) {
- tautologies.add(" +1 " + getVariable(iu) + " = 1;"); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- private void createNegation(IInstallableUnit iu) {
- createNegation(getVariable(iu));
- }
-
- private void createNegation(String var) {
- tautologies.add(" +1" + var + " = 0;"); //$NON-NLS-1$//$NON-NLS-2$
- }
-
- // Check whether the requirement is applicable
- private boolean isApplicable(RequiredCapability req) {
- String filter = req.getFilter();
- if (filter == null)
- return true;
- try {
- return DirectorActivator.context.createFilter(filter).match(selectionContext);
- } catch (InvalidSyntaxException e) {
- return false;
- }
- }
-
- //Write the problem generated into a temporary file
- private void persist() {
- try {
- problemFile = File.createTempFile("p2Encoding", ".opb"); //$NON-NLS-1$//$NON-NLS-2$
- BufferedWriter w = new BufferedWriter(new FileWriter(problemFile));
- int clauseCount = tautologies.size() + dependencies.size() + constraints.size() - commentsCount;
-
- w.write("* #variable= " + varCount + " #constraint= " + clauseCount + " "); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- w.newLine();
- w.write("*"); //$NON-NLS-1$
- w.newLine();
- displayMappingInComments(w);
- if (clauseCount == 0) {
- w.close();
- return;
- }
- w.write(objective.toString());
- w.newLine();
- w.newLine();
- w.write(explanation + " ;"); //$NON-NLS-1$
- w.newLine();
- w.newLine();
-
- for (Iterator iterator = dependencies.iterator(); iterator.hasNext();) {
- w.write((String) iterator.next());
- w.newLine();
- }
- for (Iterator iterator = constraints.iterator(); iterator.hasNext();) {
- w.write((String) iterator.next());
- w.newLine();
- }
- for (Iterator iterator = tautologies.iterator(); iterator.hasNext();) {
- w.write((String) iterator.next());
- w.newLine();
- }
- w.close();
- } catch (IOException e) {
- result.add(new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, NLS.bind(Messages.Planner_Error_saving_opbfile, problemFile), e));
- }
- }
-
- private void displayMappingInComments(BufferedWriter w) throws IOException {
- if (!DEBUG)
- return;
- List vars = new ArrayList(variables.keySet());
- Collections.sort(vars);
- w.write("* IUs variables"); //$NON-NLS-1$
- w.newLine();
- w.write("* "); //$NON-NLS-1$
- w.newLine();
- Iterator iterator = vars.iterator();
- while (iterator.hasNext()) {
- w.write("* "); //$NON-NLS-1$
- Object key = iterator.next();
- w.write(key.toString());
- w.write("=>"); //$NON-NLS-1$
- w.write(variables.get(key).toString());
- w.newLine();
- }
- w.write("* "); //$NON-NLS-1$
- w.newLine();
- w.write("* Abstract variables"); //$NON-NLS-1$
- w.newLine();
- w.write("* "); //$NON-NLS-1$
- w.newLine();
- iterator = abstractVariables.iterator();
- w.write("* "); //$NON-NLS-1$
- while (iterator.hasNext()) {
- w.write(iterator.next().toString());
- w.write(' ');
- }
- w.newLine();
- w.write("* "); //$NON-NLS-1$
- w.newLine();
- w.write("* NoOp variables"); //$NON-NLS-1$
- w.newLine();
- w.write("* "); //$NON-NLS-1$
- w.newLine();
- iterator = noopVariables.keySet().iterator();
- while (iterator.hasNext()) {
- w.write("* "); //$NON-NLS-1$
- Object key = iterator.next();
- w.write(key.toString());
- w.write("=>"); //$NON-NLS-1$
- w.write(noopVariables.get(key).toString());
- w.newLine();
- }
- w.write("* "); //$NON-NLS-1$
- w.newLine();
- }
-
- private boolean isApplicable(IInstallableUnit iu) {
- String enablementFilter = iu.getFilter();
- if (enablementFilter == null)
- return true;
- try {
- return DirectorActivator.context.createFilter(enablementFilter).match(selectionContext);
- } catch (InvalidSyntaxException e) {
- return false;
- }
- }
-
- public void processIU(IInstallableUnit iu) {
- iu = iu.unresolved();
-
- slice.put(iu.getId(), iu.getVersion(), iu);
- explanation.append(" ").append(getVariable(iu)); //$NON-NLS-1$
- if (!isApplicable(iu)) {
- createNegation(iu);
- return;
- }
-
- Collector patches = getApplicablePatches(iu);
- //No patches apply, normal code path
- if (patches.size() == 0) {
- RequiredCapability[] reqs = iu.getRequiredCapabilities();
- if (reqs.length == 0) {
- return;
- }
- for (int i = 0; i < reqs.length; i++) {
- if (!isApplicable(reqs[i]))
- continue;
-
- expandRequirement(null, iu, reqs[i]);
- }
- addOptionalityExpression();
- } else {
- //Patches are applicable to the IU
-
- //Unmodified dependencies
- Map unchangedRequirements = new HashMap(iu.getRequiredCapabilities().length);
- for (Iterator iterator = patches.iterator(); iterator.hasNext();) {
- IInstallableUnitPatch patch = (IInstallableUnitPatch) iterator.next();
- RequiredCapability[][] reqs = mergeRequirements(iu, patch);
- if (reqs.length == 0)
- return;
-
- for (int i = 0; i < reqs.length; i++) {
- //The requirement is unchanged
- if (reqs[i][0] == reqs[i][1]) {
- if (!isApplicable(reqs[i][0]))
- continue;
-
- List patchesAppliedElseWhere = (List) unchangedRequirements.get(reqs[i][0]);
- if (patchesAppliedElseWhere == null) {
- patchesAppliedElseWhere = new ArrayList();
- unchangedRequirements.put(reqs[i][0], patchesAppliedElseWhere);
- }
- patchesAppliedElseWhere.add(patch);
- continue;
- }
-
- //Generate dependency when the patch is applied
- //P1 -> A -> D (equiv P1 & A -> D equiv -1 P1 -1 A + 1 B >= -1)
- if (isApplicable(reqs[i][1])) {
- genericExpandRequirement(" -1 " + getVariable(patch) + " -1 " + getVariable(iu), iu, reqs[i][1], " >= -1", " 1 " + getVariable(patch) + "=0;"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
- }
- //Generate dependency when the patch is not applied
- //-P1 -> A -> B ( equiv. -P1 & A -> B equiv 1 P1 - 1 A + 1 B >= 0)
- if (isApplicable(reqs[i][0]))
- genericExpandRequirement(" 1 " + getVariable(patch) + " -1 " + getVariable(iu), iu, reqs[i][0], " >= 0", implies(getVariable(iu), getVariable(patch))); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- addOptionalityExpression();
- }
- for (Iterator iterator = unchangedRequirements.entrySet().iterator(); iterator.hasNext();) {
- Entry entry = (Entry) iterator.next();
- StringBuffer expression = new StringBuffer();
- List patchesApplied = (List) entry.getValue();
- List allPatches = new ArrayList(patches.toCollection());
- allPatches.removeAll(patchesApplied);
- for (Iterator iterator2 = allPatches.iterator(); iterator2.hasNext();) {
- IInstallableUnitPatch patch = (IInstallableUnitPatch) iterator2.next();
- expression.append(" 1 " + getVariable(patch)); //$NON-NLS-1$
- }
- if (allPatches.size() != 0)
- genericExpandRequirement(expression.toString(), iu, (RequiredCapability) entry.getKey(), " >= 0", " 1 " + getVariable(iu) + "=0;"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- else
- expandRequirement(null, iu, (RequiredCapability) entry.getKey());
- }
- }
- }
-
- private void genericExpandRequirement(String var, IInstallableUnit iu, RequiredCapability req, String value, String negationExpression) {
- if (req.isOptional())
- genericOptionalRequirementExpansion(var, iu, req, value);
- else
- genericRequirementExpansion(var, iu, req, value, negationExpression);
- }
-
- //Return a new array of requirements representing the application of the patch
- private RequiredCapability[][] mergeRequirements(IInstallableUnit iu, IInstallableUnitPatch patch) {
- if (patch == null)
- return null;
- RequirementChange[] changes = patch.getRequirementsChange();
- RequiredCapability[] originalRequirements = new RequiredCapability[iu.getRequiredCapabilities().length];
- System.arraycopy(iu.getRequiredCapabilities(), 0, originalRequirements, 0, originalRequirements.length);
- List rrr = new ArrayList();
- boolean found = false;
- for (int i = 0; i < changes.length; i++) {
- for (int j = 0; j < originalRequirements.length; j++) {
- if (originalRequirements[j] != null && changes[i].matches(originalRequirements[j])) {
- found = true;
- if (changes[i].newValue() != null)
- rrr.add(new RequiredCapability[] {originalRequirements[j], changes[i].newValue()});
- else
- // case where a requirement is removed
- rrr.add(new RequiredCapability[] {originalRequirements[j], null});
- originalRequirements[j] = null;
- }
- // break;
- }
- if (!found && changes[i].applyOn() == null && changes[i].newValue() != null) //Case where a new requirement is added
- rrr.add(new RequiredCapability[] {null, changes[i].newValue()});
- }
- //Add all the unmodified requirements to the result
- for (int i = 0; i < originalRequirements.length; i++) {
- if (originalRequirements[i] != null)
- rrr.add(new RequiredCapability[] {originalRequirements[i], originalRequirements[i]});
- }
- return (RequiredCapability[][]) rrr.toArray(new RequiredCapability[rrr.size()][]);
- }
-
- private void addOptionalityExpression() {
- if (optionalityExpression != null && countOptionalIUs > 0)
- dependencies.add(optionalityExpression + " >= 0;"); //$NON-NLS-1$
- optionalityExpression = null;
- countOptionalIUs = 0;
- }
-
- private String optionalityExpression = null;
- private int countOptionalIUs = 0;
- private QueryableArray patches;
-
- private void expandOptionalRequirement(String iuVar, IInstallableUnit iu, RequiredCapability req) {
- if (iuVar == null)
- iuVar = getVariable(iu);
- String abstractVar = getAbstractVariable();
- String expression = " -1 " + abstractVar; //$NON-NLS-1$
- Collector matches = picker.query(new CapabilityQuery(req), new Collector(), null);
- if (optionalityExpression == null)
- optionalityExpression = " -1 " + iuVar + " 1 " + getNoOperationVariable(iu); //$NON-NLS-1$ //$NON-NLS-2$
- StringBuffer comment = new StringBuffer();
- comment.append("* "); //$NON-NLS-1$
- comment.append(iu.toString());
- comment.append(" requires optionaly either "); //$NON-NLS-1$
- int countMatches = 0;
- for (Iterator iterator = matches.iterator(); iterator.hasNext();) {
- IInstallableUnit match = (IInstallableUnit) iterator.next();
- if (isApplicable(match)) {
- countMatches++;
- expression += " 1 " + getVariable(match); //$NON-NLS-1$
- comment.append(match.toString());
- comment.append(' ');
- }
- }
- countOptionalIUs += countMatches;
- if (countMatches > 0) {
- dependencies.add(comment.toString());
- commentsCount++;
- dependencies.add(impliesNo(getNoOperationVariable(iu), abstractVar));
- dependencies.add(expression + " >= 0;"); //$NON-NLS-1$
- optionalityExpression += " 1 " + abstractVar; //$NON-NLS-1$
- }
-
- if (DEBUG)
- System.out.println("No IU found to satisfy optional dependency of " + iu + " req " + req); //$NON-NLS-1$//$NON-NLS-2$
- }
-
- private void genericOptionalRequirementExpansion(String iuVar, IInstallableUnit iu, RequiredCapability req, String value) {
- String abstractVar = getAbstractVariable();
- String expression = iuVar;
- Collector matches = picker.query(new CapabilityQuery(req), new Collector(), null);
- if (optionalityExpression == null)
- optionalityExpression = " -1 " + getVariable(iu) + " 1 " + getNoOperationVariable(iu); //$NON-NLS-1$ //$NON-NLS-2$
- StringBuffer comment = new StringBuffer();
- comment.append("* "); //$NON-NLS-1$
- comment.append(iu.toString());
- comment.append(" requires optionaly either "); //$NON-NLS-1$
- int countMatches = 0;
- for (Iterator iterator = matches.iterator(); iterator.hasNext();) {
- IInstallableUnit match = (IInstallableUnit) iterator.next();
- if (isApplicable(match)) {
- countMatches++;
- expression += " 1 " + getVariable(match); //$NON-NLS-1$
- comment.append(match.toString());
- comment.append(' ');
- }
- }
- countOptionalIUs += countMatches;
- if (countMatches > 0) {
- dependencies.add(comment.toString());
- commentsCount++;
- dependencies.add(impliesNo(getNoOperationVariable(iu), abstractVar));
- dependencies.add(expression + " " + value + ";"); //$NON-NLS-1$ //$NON-NLS-2$
- optionalityExpression += " 1 " + abstractVar; //$NON-NLS-1$
- }
-
- if (DEBUG)
- System.out.println("No IU found to satisfy optional dependency of " + iu + " req " + req); //$NON-NLS-1$//$NON-NLS-2$
- }
-
- private void genericRequirementExpansion(String varIu, IInstallableUnit iu, RequiredCapability req, String value, String negationExpression) {
- String expression = varIu;
- Collector matches = picker.query(new CapabilityQuery(req), new Collector(), null);
- StringBuffer comment = new StringBuffer();
- comment.append("* "); //$NON-NLS-1$
- comment.append(iu.toString());
- comment.append(" requires either "); //$NON-NLS-1$
- int countMatches = 0;
- for (Iterator iterator = matches.iterator(); iterator.hasNext();) {
- IInstallableUnit match = (IInstallableUnit) iterator.next();
- if (isApplicable(match)) {
- countMatches++;
- expression += " +1 " + getVariable(match); //$NON-NLS-1$
- comment.append(match.toString());
- comment.append(' ');
- }
- }
-
- if (countMatches > 0) {
- dependencies.add(comment.toString());
- commentsCount++;
- dependencies.add(expression + " " + value + ";"); //$NON-NLS-1$ //$NON-NLS-2$
- } else {
- result.add(new Status(IStatus.WARNING, DirectorActivator.PI_DIRECTOR, NLS.bind(Messages.Planner_Unsatisfied_dependency, iu, req)));
- dependencies.add(negationExpression);
- }
- }
-
- private void expandNormalRequirement(String varIu, IInstallableUnit iu, RequiredCapability req) {
- //Generate the regular requirement
- if (varIu == null)
- varIu = getVariable(iu);
- String expression = "-1 " + varIu; //$NON-NLS-1$
- Collector matches = picker.query(new CapabilityQuery(req), new Collector(), null);
- StringBuffer comment = new StringBuffer();
- comment.append("* "); //$NON-NLS-1$
- comment.append(iu.toString());
- comment.append(" requires either "); //$NON-NLS-1$
- int countMatches = 0;
- for (Iterator iterator = matches.iterator(); iterator.hasNext();) {
- IInstallableUnit match = (IInstallableUnit) iterator.next();
- if (isApplicable(match)) {
- countMatches++;
- expression += " +1 " + getVariable(match); //$NON-NLS-1$
- comment.append(match.toString());
- comment.append(' ');
- }
- }
-
- if (countMatches > 0) {
- dependencies.add(comment.toString());
- commentsCount++;
- dependencies.add(expression + " >= 0;"); //$NON-NLS-1$
- } else {
- result.add(new Status(IStatus.WARNING, DirectorActivator.PI_DIRECTOR, NLS.bind(Messages.Planner_Unsatisfied_dependency, iu, req)));
- createNegation(varIu);
- }
- }
-
- //Return IUPatches that are applicable for the given iu
- private Collector getApplicablePatches(IInstallableUnit iu) {
- if (patches == null)
- patches = new QueryableArray((IInstallableUnit[]) picker.query(ApplicablePatchQuery.ANY, new Collector(), null).toArray(IInstallableUnit.class));
-
- return patches.query(new ApplicablePatchQuery(iu), new Collector(), null);
- }
-
- private void expandRequirement(String var, IInstallableUnit iu, RequiredCapability req) {
- if (req.isOptional())
- expandOptionalRequirement(var, iu, req);
- else
- expandNormalRequirement(var, iu, req);
- }
-
- //Create constraints to deal with singleton
- //When there is a mix of singleton and non singleton, several constraints are generated
- private void createConstraintsForSingleton() {
- Set s = slice.entrySet();
- for (Iterator iterator = s.iterator(); iterator.hasNext();) {
- Map.Entry entry = (Map.Entry) iterator.next();
- HashMap conflictingEntries = (HashMap) entry.getValue();
- if (conflictingEntries.size() < 2)
- continue;
-
- Collection conflictingVersions = conflictingEntries.values();
- String singletonRule = ""; //$NON-NLS-1$
- ArrayList nonSingleton = new ArrayList();
- int countSingleton = 0;
- for (Iterator conflictIterator = conflictingVersions.iterator(); conflictIterator.hasNext();) {
- IInstallableUnit conflictElt = (IInstallableUnit) conflictIterator.next();
- if (conflictElt.isSingleton()) {
- singletonRule += " -1 " + getVariable(conflictElt); //$NON-NLS-1$
- countSingleton++;
- } else {
- nonSingleton.add(conflictElt);
- }
- }
- if (countSingleton == 0)
- continue;
-
- for (Iterator iterator2 = nonSingleton.iterator(); iterator2.hasNext();) {
- constraints.add(singletonRule + " -1 " + getVariable((IInstallableUnit) iterator2.next()) + " >= -1;"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- singletonRule += " >= -1;"; //$NON-NLS-1$
- constraints.add(singletonRule);
- }
- }
-
- //Return the corresponding variable
- private String getVariable(IInstallableUnit iu) {
- String v = (String) variables.get(iu);
- if (v == null) {
- v = new String("x" + varCount++); //$NON-NLS-1$
- variables.put(iu, v);
- }
- return v;
- }
-
- private String getAbstractVariable() {
- String newVar = new String("x" + varCount++); //$NON-NLS-1$
- abstractVariables.add(newVar);
- return newVar;
- }
-
- private String getNoOperationVariable(IInstallableUnit iu) {
- String v = (String) noopVariables.get(iu);
- if (v == null) {
- v = new String("x" + varCount++); //$NON-NLS-1$
- noopVariables.put(iu, v);
- }
- return v;
- }
-
- public IStatus invokeSolver(IProgressMonitor monitor) {
- if (result.getSeverity() == IStatus.ERROR)
- return result;
- IPBSolver solver = SolverFactory.newEclipseP2();
- solver.setTimeoutOnConflicts(1000);
- OPBEclipseReader2007 reader = new OPBEclipseReader2007(solver);
- // CNF filename is given on the command line
- long start = System.currentTimeMillis();
- if (DEBUG)
- System.out.println("Invoking solver: " + start); //$NON-NLS-1$
- FileReader fr = null;
- try {
- fr = new FileReader(problemFile);
- IProblem problem = reader.parseInstance(fr);
- if (problem.isSatisfiable()) {
- // problem.model();
- if (DEBUG) {
- System.out.println("Satisfiable !"); //$NON-NLS-1$
- System.out.println(reader.decode(problem.model()));
- }
- backToIU(problem);
- long stop = System.currentTimeMillis();
- if (DEBUG)
- System.out.println("Solver solution found: " + (stop - start)); //$NON-NLS-1$
- } else {
- if (DEBUG)
- System.out.println("Unsatisfiable !"); //$NON-NLS-1$
- result.merge(new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, NLS.bind(Messages.Planner_Unsatisfiable_problem, problemFile)));
- }
- } catch (FileNotFoundException e) {
- result.add(new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, NLS.bind(Messages.Planner_Missing_opb_file, problemFile)));
- } catch (ParseFormatException e) {
- result.add(new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, NLS.bind(Messages.Planner_Format_error, problemFile)));
- } catch (ContradictionException e) {
- result.merge(new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, NLS.bind(Messages.Planner_Trivial_exception, problemFile)));
- } catch (TimeoutException e) {
- result.merge(new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, NLS.bind(Messages.Planner_Timeout, problemFile)));
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- try {
- if (fr != null)
- fr.close();
- } catch (IOException e) {
- //ignore
- }
- problemFile.delete();
- }
- return result;
- }
-
- private void backToIU(IProblem problem) {
- solution = new ArrayList();
- for (Iterator allIUs = variables.entrySet().iterator(); allIUs.hasNext();) {
- Entry entry = (Entry) allIUs.next();
- int match = Integer.parseInt(((String) entry.getValue()).substring(1));
- if (problem.model(match)) {
- solution.add(((IInstallableUnit) entry.getKey()).unresolved());
- }
- }
- }
-
- private void printSolution(Collection state) {
- ArrayList l = new ArrayList(state);
- Collections.sort(l);
- System.out.println("Numbers of IUs selected:" + l.size()); //$NON-NLS-1$
- for (Iterator iterator = l.iterator(); iterator.hasNext();) {
- System.out.println(iterator.next());
- }
- }
-
- public Collection extractSolution() {
- if (DEBUG)
- printSolution(solution);
- return solution;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/QueryableArray.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/QueryableArray.java
deleted file mode 100644
index 38cc578..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/QueryableArray.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package org.eclipse.equinox.internal.p2.director;
-
-import java.util.*;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.CapabilityQuery;
-import org.eclipse.equinox.internal.provisional.p2.query.*;
-
-public class QueryableArray implements IQueryable {
- static class IUCapability {
- final IInstallableUnit iu;
- final ProvidedCapability capability;
-
- public IUCapability(IInstallableUnit iu, ProvidedCapability capability) {
- this.iu = iu;
- this.capability = capability;
- }
- }
-
- private final List dataSet;
- private Map namedCapabilityIndex;
-
- public QueryableArray(IInstallableUnit[] ius) {
- dataSet = Arrays.asList(ius);
- }
-
- public Collector query(Query query, Collector collector, IProgressMonitor monitor) {
- if (query instanceof CapabilityQuery)
- return queryCapability((CapabilityQuery) query, collector, monitor);
- return query.perform(dataSet.iterator(), collector);
- }
-
- private Collector queryCapability(CapabilityQuery query, Collector collector, IProgressMonitor monitor) {
- generateNamedCapabilityIndex();
-
- RequiredCapability[] requiredCapabilities = query.getRequiredCapabilities();
- Collection resultIUs = null;
- for (int i = 0; i < requiredCapabilities.length; i++) {
- Collection matchingIUs = findMatchingIUs(requiredCapabilities[i]);
- if (matchingIUs == null)
- return collector;
- if (resultIUs == null)
- resultIUs = matchingIUs;
- else
- resultIUs.retainAll(matchingIUs);
- }
-
- for (Iterator iterator = resultIUs.iterator(); iterator.hasNext();)
- collector.accept(iterator.next());
-
- return collector;
- }
-
- private Collection findMatchingIUs(RequiredCapability requiredCapability) {
- List iuCapabilities = (List) namedCapabilityIndex.get(requiredCapability.getName());
- if (iuCapabilities == null)
- return null;
-
- Set matchingIUs = new HashSet();
- for (Iterator iterator = iuCapabilities.iterator(); iterator.hasNext();) {
- IUCapability iuCapability = (IUCapability) iterator.next();
- if (iuCapability.capability.isSatisfiedBy(requiredCapability))
- matchingIUs.add(iuCapability.iu);
- }
- return matchingIUs;
- }
-
- private void generateNamedCapabilityIndex() {
- if (namedCapabilityIndex != null)
- return;
-
- namedCapabilityIndex = new HashMap();
- for (Iterator iterator = dataSet.iterator(); iterator.hasNext();) {
- IInstallableUnit iu = (IInstallableUnit) iterator.next();
-
- ProvidedCapability[] providedCapabilities = iu.getProvidedCapabilities();
- for (int i = 0; i < providedCapabilities.length; i++) {
- String name = providedCapabilities[i].getName();
- List iuCapabilities = (List) namedCapabilityIndex.get(name);
- if (iuCapabilities == null) {
- iuCapabilities = new ArrayList();
- namedCapabilityIndex.put(name, iuCapabilities);
- }
- iuCapabilities.add(new IUCapability(iu, providedCapabilities[i]));
- }
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Recommendation.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Recommendation.java
deleted file mode 100644
index 7015324..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Recommendation.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.director;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory;
-import org.eclipse.equinox.internal.provisional.p2.metadata.RequiredCapability;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class Recommendation {
- private RequiredCapability applyOn;
- private RequiredCapability newValue;
-
- public Recommendation(RequiredCapability applyOn2, RequiredCapability newValue2) {
- this.applyOn = applyOn2;
- this.newValue = newValue2;
- }
-
- public RequiredCapability applyOn() {
- return applyOn;
- }
-
- public RequiredCapability newValue() {
- return newValue;
- }
-
- public boolean matches(RequiredCapability toMatch) {
- if (!toMatch.getNamespace().equals(applyOn.getNamespace()))
- return false;
- if (!toMatch.getName().equals(applyOn.getName()))
- return false;
- if (toMatch.getRange().equals(applyOn.getRange()))
- return true;
-
- //TODO Here, in the long run we want to be smarter .for example we could check that the range of the match is a subset of the range specified on applyOn.
- return false;
- }
-
- boolean matches(Recommendation toMatch) {
- return matches(toMatch.applyOn());
- }
-
- protected Recommendation merge(Recommendation r2) {
- VersionRange result = intersect(newValue().getRange(), r2.newValue().getRange());
- if (result == null)
- return null;
- return new Recommendation(applyOn, MetadataFactory.createRequiredCapability(applyOn.getNamespace(), applyOn.getName(), result, null, false, false));
- }
-
- private VersionRange intersect(VersionRange r1, VersionRange r2) {
- Version resultMin = null;
- boolean resultMinIncluded = false;
- Version resultMax = null;
- boolean resultMaxIncluded = false;
-
- int minCompare = r1.getMinimum().compareTo(r2.getMinimum());
- if (minCompare < 0) {
- resultMin = r2.getMinimum();
- resultMinIncluded = r2.getIncludeMinimum();
- } else if (minCompare > 0) {
- resultMin = r1.getMinimum();
- resultMinIncluded = r1.getIncludeMinimum();
- } else if (minCompare == 0) {
- resultMin = r1.getMinimum();
- resultMinIncluded = r1.getIncludeMinimum() && r2.getIncludeMinimum();
- }
-
- int maxCompare = r1.getMaximum().compareTo(r2.getMaximum());
- if (maxCompare > 0) {
- resultMax = r2.getMaximum();
- resultMaxIncluded = r2.getIncludeMaximum();
- } else if (maxCompare < 0) {
- resultMax = r1.getMaximum();
- resultMaxIncluded = r1.getIncludeMaximum();
- } else if (maxCompare == 0) {
- resultMax = r1.getMaximum();
- resultMaxIncluded = r1.getIncludeMaximum() && r2.getIncludeMaximum();
- }
-
- int resultRangeComparison = resultMin.compareTo(resultMax);
- if (resultRangeComparison < 0)
- return new VersionRange(resultMin, resultMinIncluded, resultMax, resultMaxIncluded);
- else if (resultRangeComparison == 0 && resultMinIncluded == resultMaxIncluded)
- return new VersionRange(resultMin, resultMinIncluded, resultMax, resultMaxIncluded);
- else
- return null;
- }
-
- public boolean isCompatible(Recommendation other) {
- return intersect(newValue.getRange(), other.newValue.getRange()) != null;
- }
-
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((applyOn == null) ? 0 : applyOn.hashCode());
- result = prime * result + ((newValue == null) ? 0 : newValue.hashCode());
- return result;
- }
-
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- final Recommendation other = (Recommendation) obj;
- if (applyOn == null) {
- if (other.applyOn != null)
- return false;
- } else if (!applyOn.equals(other.applyOn))
- return false;
- if (newValue == null) {
- if (other.newValue != null)
- return false;
- } else if (!newValue.equals(other.newValue))
- return false;
- return true;
- }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/RecommendationDescriptor.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/RecommendationDescriptor.java
deleted file mode 100644
index 8504f14..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/RecommendationDescriptor.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.director;
-
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory;
-import org.eclipse.equinox.internal.provisional.p2.metadata.RequiredCapability;
-import org.eclipse.osgi.service.resolver.VersionRange;
-
-public class RecommendationDescriptor {
- public static final String TOUCHPOINT_DATA_KEY = "recommendations";
- public static final String KIND = "recommendation";
-
- private Set recommendations;
-
- public RecommendationDescriptor(Set recommendations) {
- this.recommendations = recommendations;
- }
-
- public Set getRecommendations() {
- return recommendations;
- }
-
- public Recommendation findRecommendation(RequiredCapability toMatch) {
- for (Iterator iterator = recommendations.iterator(); iterator.hasNext();) {
- Recommendation name = (Recommendation) iterator.next();
- if (name.matches(toMatch))
- return name;
- }
- return null;
- }
-
- public Recommendation findRecommendation(Recommendation toMatch) {
- for (Iterator iterator = recommendations.iterator(); iterator.hasNext();) {
- Recommendation name = (Recommendation) iterator.next();
- if (name.matches(toMatch))
- return name;
- }
- return null;
- }
-
- //Merge the other descriptor into this one. Return an OK Status is the merged succeeded, otherwise return an INFO Status
- public IStatus merge(RecommendationDescriptor other) {
- MultiStatus result = null;
- for (Iterator it = other.recommendations.iterator(); it.hasNext();) {
- Recommendation otherRecommendation = (Recommendation) it.next();
- Recommendation matchInThis = findRecommendation(otherRecommendation);
- if (matchInThis == null) {
- recommendations.add(otherRecommendation);
- continue;
- }
- Recommendation newRec = otherRecommendation.merge(matchInThis);
- if (newRec != null) {
- recommendations.remove(matchInThis);
- recommendations.add(newRec);
- continue;
- } else {
- if (result == null)
- result = new MultiStatus(DirectorActivator.PI_DIRECTOR, 0, "Conflict between recommendations", null);
- result.add(new Status(IStatus.INFO, DirectorActivator.PI_DIRECTOR, "can't merge " + otherRecommendation + " with " + matchInThis));
- }
- }
- if (result == null)
- return Status.OK_STATUS;
- return result;
-
- }
-
- public static RecommendationDescriptor parse(String descriptor) {
- StringTokenizer entries = new StringTokenizer(descriptor, "\n");
- Set recommendations = new HashSet(entries.countTokens());
- while (entries.hasMoreElements()) {
- StringTokenizer oneRec = new StringTokenizer((String) entries.nextElement(), "/");
- if (oneRec.countTokens() != 4) {
- //format error, ignore and continue
-
- continue;
- }
- String ns = oneRec.nextToken().trim();
- String name = oneRec.nextToken().trim();
- String oldRange = oneRec.nextToken().trim();
- String newRange = oneRec.nextToken().trim();
- recommendations.add(new Recommendation(MetadataFactory.createRequiredCapability(ns, name, new VersionRange(oldRange), null, false, false), MetadataFactory.createRequiredCapability(ns, name, new VersionRange(newRange), null, false, false)));
- }
- return new RecommendationDescriptor(recommendations);
- }
-
- public static String serialize(RecommendationDescriptor toSerialize) {
- StringBuffer result = new StringBuffer();
- for (Iterator iterator = toSerialize.recommendations.iterator(); iterator.hasNext();) {
- Recommendation entry = (Recommendation) iterator.next();
- result.append(entry.applyOn().getNamespace() + '/' + entry.applyOn().getName() + '/' + entry.applyOn().getRange().toString() + '/' + entry.newValue().getRange().toString() + '\n');
- }
- return result.toString();
- }
-
- public boolean isCompatible(RecommendationDescriptor other) {
- for (Iterator it = other.recommendations.iterator(); it.hasNext();) {
- Recommendation otherRecommendation = (Recommendation) it.next();
- Recommendation matchInThis = findRecommendation(otherRecommendation);
- if (matchInThis == null) {
- continue;
- }
- if (!otherRecommendation.isCompatible(matchInThis))
- return false;
- }
- return true;
-
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/RequirementBasedFilter.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/RequirementBasedFilter.java
deleted file mode 100644
index 348b812..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/RequirementBasedFilter.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.director;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.RequiredCapability;
-
-public class RequirementBasedFilter extends IUFilter {
- private RequiredCapability[] reqs;
-
- public RequirementBasedFilter(RequiredCapability[] toFilterOn) {
- reqs = toFilterOn;
- }
-
- public boolean accept(IInstallableUnit iu) {
- for (int i = 0; i < reqs.length; i++) {
- if (reqs[i].getNamespace().equals(IInstallableUnit.NAMESPACE_IU_ID) && reqs[i].getName().equals(iu.getId()) && reqs[i].getRange().isIncluded(iu.getVersion()))
- return true;
- }
- return false;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/SimpleDirector.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/SimpleDirector.java
deleted file mode 100644
index 7a34892..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/SimpleDirector.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.director;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.rollback.FormerState;
-import org.eclipse.equinox.internal.provisional.p2.core.location.AgentLocation;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.osgi.util.NLS;
-
-public class SimpleDirector implements IDirector {
- private static final String ROLLBACK_LOCATION = "rollback"; //$NON-NLS-1$
- static final int PlanWork = 10;
- static final int EngineWork = 100;
- private IEngine engine;
- private IPlanner planner;
-
- public SimpleDirector() {
- initializeRollbackRepository();
- engine = (IEngine) ServiceHelper.getService(DirectorActivator.context, IEngine.SERVICE_NAME);
- if (engine == null)
- throw new IllegalStateException("Provisioning engine is not registered"); //$NON-NLS-1$
- planner = (IPlanner) ServiceHelper.getService(DirectorActivator.context, IPlanner.class.getName());
- if (planner == null)
- throw new IllegalStateException("Unable to find provisioning planner"); //$NON-NLS-1$
- }
-
- private void initializeRollbackRepository() {
- new FormerState(getRollbackRepositoryLocation());
- }
-
- public URL getRollbackRepositoryLocation() {
- AgentLocation agentLocation = (AgentLocation) ServiceHelper.getService(DirectorActivator.context, AgentLocation.class.getName());
- try {
- return new URL(agentLocation.getDataArea(DirectorActivator.PI_DIRECTOR), ROLLBACK_LOCATION);
- } catch (MalformedURLException e) {
- //we know this can't happen because the above URL is well-formed
- return null;
- }
- }
-
- public IStatus revert(IInstallableUnit target, IProfile profile, ProvisioningContext context, IProgressMonitor monitor) {
- SubMonitor sub = SubMonitor.convert(monitor, Messages.Director_Task_Updating, PlanWork + EngineWork);
- try {
- ProvisioningPlan plan = planner.getRevertPlan(target, context, sub.newChild(PlanWork));
- if (!plan.getStatus().isOK())
- return plan.getStatus();
- return engine.perform(profile, new DefaultPhaseSet(), plan.getOperands(), context, sub.newChild(EngineWork));
- } finally {
- sub.done();
- }
- }
-
- public IStatus provision(ProfileChangeRequest request, ProvisioningContext context, IProgressMonitor monitor) {
- String taskName = NLS.bind(Messages.Director_Task_Installing, request.getProfile().getProperty(IProfile.PROP_INSTALL_FOLDER));
- SubMonitor sub = SubMonitor.convert(monitor, taskName, PlanWork + EngineWork);
- try {
- IInstallableUnit[] installRoots = request.getAddedInstallableUnits();
- // mark the roots as such
- for (int i = 0; i < installRoots.length; i++) {
- request.setInstallableUnitProfileProperty(installRoots[i], IInstallableUnit.PROP_PROFILE_ROOT_IU, Boolean.toString(true));
- }
- ProvisioningPlan plan = planner.getProvisioningPlan(request, context, sub.newChild(PlanWork));
- if (!plan.getStatus().isOK())
- return plan.getStatus();
-
- IStatus engineResult = engine.perform(request.getProfile(), new DefaultPhaseSet(), plan.getOperands(), context, sub.newChild(EngineWork));
- return engineResult;
- } finally {
- sub.done();
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/SimplePlanner.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/SimplePlanner.java
deleted file mode 100644
index be2193b..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/SimplePlanner.java
+++ /dev/null
@@ -1,401 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Genuitec - bug fixes
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.director;
-
-import java.net.URL;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.*;
-import org.eclipse.equinox.internal.p2.resolution.ResolutionHelper;
-import org.eclipse.equinox.internal.p2.rollback.FormerState;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.UpdateQuery;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.query.*;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.Version;
-
-public class SimplePlanner implements IPlanner {
- private static final int ExpandWork = 12;
- private static final String PLANNER_MARKER = "private.org.eclipse.equinox.p2.planner.installed"; //$NON-NLS-1$
- public static final String INCLUSION_RULES = "org.eclipse.equinox.p2.internal.inclusion.rules"; //$NON-NLS-1$
-
- private IProfile getProfile(String profileId) {
- IProfileRegistry profileRegistry = (IProfileRegistry) ServiceHelper.getService(DirectorActivator.context, IProfileRegistry.class.getName());
- if (profileRegistry == null)
- return null;
- return profileRegistry.getProfile(profileId);
- }
-
- private ProvisioningPlan generateProvisioningPlan(IStatus status, Collection fromState, Collection toState, ProfileChangeRequest changeRequest) {
- InstallableUnitOperand[] iuOperands = generateOperations(fromState, toState);
- PropertyOperand[] propertyOperands = generatePropertyOperations(changeRequest);
-
- Operand[] operands = new Operand[iuOperands.length + propertyOperands.length];
- System.arraycopy(iuOperands, 0, operands, 0, iuOperands.length);
- System.arraycopy(propertyOperands, 0, operands, iuOperands.length, propertyOperands.length);
-
- if (status == null)
- status = Status.OK_STATUS;
- return new ProvisioningPlan(status, operands);
- }
-
- private PropertyOperand[] generatePropertyOperations(ProfileChangeRequest profileChangeRequest) {
- IProfile profile = profileChangeRequest.getProfile();
- List operands = new ArrayList();
- // First deal with profile properties to remove. Only generate an operand if the property was there in the first place
- String[] toRemove = profileChangeRequest.getPropertiesToRemove();
- Map existingProperties = profile.getProperties();
- for (int i = 0; i < toRemove.length; i++) {
- if (existingProperties.containsKey(toRemove[i]))
- operands.add(new PropertyOperand(toRemove[i], existingProperties.get(toRemove[i]), null));
- }
- // Now deal with profile property changes/additions
- Map propertyChanges = profileChangeRequest.getPropertiesToAdd();
- Iterator iter = propertyChanges.keySet().iterator();
- while (iter.hasNext()) {
- String key = (String) iter.next();
- operands.add(new PropertyOperand(key, existingProperties.get(key), propertyChanges.get(key)));
- }
- // Now deal with iu property changes/additions.
- // TODO we aren't yet checking that the IU will exist in the final profile, will the engine do this?
- Map allIUPropertyChanges = profileChangeRequest.getInstallableUnitProfilePropertiesToAdd();
- iter = allIUPropertyChanges.keySet().iterator();
- while (iter.hasNext()) {
- IInstallableUnit iu = (IInstallableUnit) iter.next();
- Map iuPropertyChanges = (Map) allIUPropertyChanges.get(iu);
- Iterator iuPropIter = iuPropertyChanges.keySet().iterator();
- while (iuPropIter.hasNext()) {
- String key = (String) iuPropIter.next();
- Object oldValue = profile.getInstallableUnitProperty(iu, key);
- operands.add(new InstallableUnitPropertyOperand(iu, key, oldValue, iuPropertyChanges.get(key)));
- }
- }
- // Now deal with iu property removals.
- // TODO we could optimize by not generating property removals for IU's that aren't there or won't be there.
- Map allIUPropertyDeletions = profileChangeRequest.getInstallableUnitProfilePropertiesToRemove();
- iter = allIUPropertyDeletions.keySet().iterator();
- while (iter.hasNext()) {
- IInstallableUnit iu = (IInstallableUnit) iter.next();
- Map existingIUProperties = profile.getInstallableUnitProperties(iu);
- List iuPropertyRemovals = (List) allIUPropertyDeletions.get(iu);
- for (Iterator it = iuPropertyRemovals.iterator(); it.hasNext();) {
- String key = (String) it.next();
- if (existingIUProperties.containsKey(key))
- operands.add(new InstallableUnitPropertyOperand(iu, key, existingIUProperties.get(key), null));
- }
-
- }
- return (PropertyOperand[]) operands.toArray(new PropertyOperand[operands.size()]);
- }
-
- private InstallableUnitOperand[] generateOperations(Collection fromState, Collection toState) {
- return new OperationGenerator().generateOperation(fromState, toState);
- }
-
- public ProvisioningPlan getRevertPlan(IInstallableUnit profileSnapshot, ProvisioningContext context, IProgressMonitor monitor) {
- SubMonitor sub = SubMonitor.convert(monitor, ExpandWork);
- sub.setTaskName(Messages.Director_Task_Resolving_Dependencies);
- try {
- MultiStatus result = new MultiStatus(DirectorActivator.PI_DIRECTOR, 1, Messages.Director_Revert_Problems, null);
-
- if (!Boolean.valueOf(profileSnapshot.getProperty(IInstallableUnit.PROP_TYPE_PROFILE)).booleanValue()) {
- result.add(new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, NLS.bind(Messages.Director_Unexpected_IU, profileSnapshot.getId())));
- return new ProvisioningPlan(result);
- }
- IProfile profile = getProfile(profileSnapshot.getId());
- if (profile == null) {
- result.add(new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, NLS.bind(Messages.Director_Unexpected_IU, profileSnapshot.getId())));
- return new ProvisioningPlan(result);
- }
- IProfile revertProfile = FormerState.IUToProfile(profileSnapshot, profile, context, sub.newChild(ExpandWork / 2));
-
- ProfileChangeRequest profileChangeRequest = FormerState.generateProfileDeltaChangeRequest(profile, revertProfile);
- return getProvisioningPlan(profileChangeRequest, context, sub.newChild(ExpandWork / 2));
-
- } catch (CoreException e) {
- return new ProvisioningPlan(e.getStatus());
- } finally {
- sub.done();
- }
- }
-
- public static IInstallableUnit[] findPlannerMarkedIUs(final IProfile profile) {
- Query markerQuery = new Query() {
- public boolean isMatch(Object candidate) {
- if (!(candidate instanceof IInstallableUnit))
- return false;
-
- IInstallableUnit iu = (IInstallableUnit) candidate;
-
- // TODO: remove marker -- temporary backwards compatibility only
- String marker = profile.getInstallableUnitProperty(iu, PLANNER_MARKER);
- if (marker != null && Boolean.valueOf(marker).booleanValue())
- return true;
-
- String inclusion = profile.getInstallableUnitProperty(iu, INCLUSION_RULES);
- return (inclusion != null);
- }
- };
- return (IInstallableUnit[]) profile.query(markerQuery, new Collector(), null).toArray(IInstallableUnit.class);
- }
-
- public static Dictionary createSelectionContext(Map properties) {
- Hashtable result = new Hashtable(properties);
- String environments = (String) properties.get(IProfile.PROP_ENVIRONMENTS);
- if (environments == null)
- return result;
- for (StringTokenizer tokenizer = new StringTokenizer(environments, ","); tokenizer.hasMoreElements();) { //$NON-NLS-1$
- String entry = tokenizer.nextToken();
- int i = entry.indexOf('=');
- String key = entry.substring(0, i).trim();
- String value = entry.substring(i + 1).trim();
- result.put(key, value);
- }
- return result;
- }
-
- public static IInstallableUnit[] gatherAvailableInstallableUnits(IInstallableUnit[] additionalSource, URL[] repositories, ProvisioningContext context, IProgressMonitor monitor) {
- Map resultsMap = new HashMap();
- if (additionalSource != null) {
- for (int i = 0; i < additionalSource.length; i++) {
- String key = additionalSource[i].getId() + "_" + additionalSource[i].getVersion().toString(); //$NON-NLS-1$
- resultsMap.put(key, additionalSource[i]);
- }
- }
- if (context != null) {
- for (Iterator iter = context.getExtraIUs().iterator(); iter.hasNext();) {
- IInstallableUnit iu = (IInstallableUnit) iter.next();
- String key = iu.getId() + '_' + iu.getVersion().toString();
- resultsMap.put(key, iu);
- }
- }
-
- IMetadataRepositoryManager repoMgr = (IMetadataRepositoryManager) ServiceHelper.getService(DirectorActivator.context, IMetadataRepositoryManager.class.getName());
- if (repositories == null)
- repositories = repoMgr.getKnownRepositories(IMetadataRepositoryManager.REPOSITORIES_ALL);
-
- SubMonitor sub = SubMonitor.convert(monitor, repositories.length * 200);
- for (int i = 0; i < repositories.length; i++) {
- try {
- IMetadataRepository repository = repoMgr.loadRepository(repositories[i], sub.newChild(100));
- Collector matches = repository.query(new InstallableUnitQuery(null, VersionRange.emptyRange), new Collector(), sub.newChild(100));
- for (Iterator it = matches.iterator(); it.hasNext();) {
- IInstallableUnit iu = (IInstallableUnit) it.next();
- String key = iu.getId() + "_" + iu.getVersion().toString(); //$NON-NLS-1$
- IInstallableUnit currentIU = (IInstallableUnit) resultsMap.get(key);
- if (currentIU == null || hasHigherFidelity(iu, currentIU))
- resultsMap.put(key, iu);
- }
- } catch (ProvisionException e) {
- //skip unreadable repositories
- }
- }
- sub.done();
- Collection results = resultsMap.values();
- return (IInstallableUnit[]) results.toArray(new IInstallableUnit[results.size()]);
- }
-
- private static boolean hasHigherFidelity(IInstallableUnit iu, IInstallableUnit currentIU) {
- if (Boolean.valueOf(currentIU.getProperty(IInstallableUnit.PROP_PARTIAL_IU)).booleanValue() && !Boolean.valueOf(iu.getProperty(IInstallableUnit.PROP_PARTIAL_IU)).booleanValue())
- return true;
- return false;
- }
-
- public ProvisioningPlan getProvisioningPlan(ProfileChangeRequest profileChangeRequest, ProvisioningContext context, IProgressMonitor monitor) {
- SubMonitor sub = SubMonitor.convert(monitor, ExpandWork);
- sub.setTaskName(Messages.Director_Task_Resolving_Dependencies);
- try {
- IProfile profile = profileChangeRequest.getProfile();
-
- IInstallableUnit[] allIUs = updatePlannerInfo(profileChangeRequest);
-
- URL[] metadataRepositories = (context != null) ? context.getMetadataRepositories() : null;
- Dictionary newSelectionContext = createSelectionContext(profileChangeRequest.getProfileProperties());
-
- List extraIUs = new ArrayList(Arrays.asList(profileChangeRequest.getAddedInstallableUnits()));
- extraIUs.addAll(Arrays.asList(profileChangeRequest.getRemovedInstallableUnits()));
- extraIUs.addAll(profile.available(InstallableUnitQuery.ANY, new Collector(), null).toCollection());
-
- IInstallableUnit[] availableIUs = gatherAvailableInstallableUnits((IInstallableUnit[]) extraIUs.toArray(new IInstallableUnit[extraIUs.size()]), metadataRepositories, context, sub.newChild(ExpandWork / 4));
-
- Slicer slicer = new Slicer(allIUs, availableIUs, newSelectionContext);
- IQueryable slice = slicer.slice(allIUs, monitor);
- if (slice == null)
- return new ProvisioningPlan(slicer.getStatus());
- Projector projector = new Projector(slice, newSelectionContext);
- projector.encode(allIUs, sub.newChild(ExpandWork / 4));
- IStatus s = projector.invokeSolver(sub.newChild(ExpandWork / 4));
- if (s.getSeverity() == IStatus.ERROR) {
- sub.setTaskName(Messages.Planner_NoSolution);
- //log the error from the new solver so it is not lost
- LogHelper.log(s);
- if (!"true".equalsIgnoreCase(context == null ? null : context.getProperty("org.eclipse.equinox.p2.disable.error.reporting"))) {
- //We invoke the old resolver to get explanations for now
- IStatus oldResolverStatus = new NewDependencyExpander(allIUs, null, availableIUs, newSelectionContext, false).expand(sub.newChild(ExpandWork / 4));
- if (!oldResolverStatus.isOK())
- s = oldResolverStatus;
- }
- return new ProvisioningPlan(s);
- }
- //The resolution succeeded. We can forget about the warnings since there is a solution.
- if (Tracing.DEBUG && s.getSeverity() != IStatus.OK)
- LogHelper.log(s);
- s = Status.OK_STATUS;
-
- Collection newState = projector.extractSolution();
- newState.remove(allIUs[0]);
-
- ResolutionHelper newStateHelper = new ResolutionHelper(newSelectionContext, null);
- newState = newStateHelper.attachCUs(newState);
-
- ResolutionHelper oldStateHelper = new ResolutionHelper(createSelectionContext(profile.getProperties()), null);
- Collection oldState = oldStateHelper.attachCUs(profile.query(InstallableUnitQuery.ANY, new Collector(), null).toCollection());
-
- return generateProvisioningPlan(s, oldState, newState, profileChangeRequest);
- } finally {
- sub.done();
- }
- }
-
- private IInstallableUnit createIURepresentingTheProfile(ArrayList allRequirements) {
- InstallableUnitDescription iud = new MetadataFactory.InstallableUnitDescription();
- String time = Long.toString(System.currentTimeMillis());
- iud.setId(time);
- iud.setVersion(new Version(0, 0, 0, time));
- iud.setRequiredCapabilities((RequiredCapability[]) allRequirements.toArray(new RequiredCapability[allRequirements.size()]));
- return MetadataFactory.createInstallableUnit(iud);
- }
-
- //The planner uses installable unit properties to keep track of what it has been asked to install. This updates this information
- private IInstallableUnit[] updatePlannerInfo(ProfileChangeRequest profileChangeRequest) {
- //Support for backward compatibility. Convert planner_marker properties into strict inclusion rules
- Collector previousMarkers = profileChangeRequest.getProfile().query(new IUProfilePropertyQuery(profileChangeRequest.getProfile(), PLANNER_MARKER, Boolean.TRUE.toString()), new Collector(), null);
- for (Iterator iterator = previousMarkers.iterator(); iterator.hasNext();) {
- IInstallableUnit iu = (IInstallableUnit) iterator.next();
- profileChangeRequest.setInstallableUnitInclusionRules(iu, PlannerHelper.createStrictInclusionRule(iu));
- profileChangeRequest.removeInstallableUnitProfileProperty(iu, PLANNER_MARKER);
- }
-
- Collection includedIUs = profileChangeRequest.getProfile().query(new IUProfilePropertyQuery(profileChangeRequest.getProfile(), INCLUSION_RULES, null), new Collector(), null).toCollection();
- Collection alreadyInstalled = new HashSet(includedIUs);
- alreadyInstalled.addAll(previousMarkers.toCollection());
-
- IInstallableUnit[] added = profileChangeRequest.getAddedInstallableUnits();
- IInstallableUnit[] removed = profileChangeRequest.getRemovedInstallableUnits();
-
- for (Iterator iterator = profileChangeRequest.getInstallableUnitProfilePropertiesToRemove().entrySet().iterator(); iterator.hasNext();) {
- Map.Entry object = (Map.Entry) iterator.next();
- if (((List) object.getValue()).contains(INCLUSION_RULES))
- profileChangeRequest.setInstallableUnitProfileProperty((IInstallableUnit) object.getKey(), INCLUSION_RULES, PlannerHelper.createStrictInclusionRule((IInstallableUnit) object.getKey()));
- }
- //Remove the iu properties associated to the ius removed and the iu properties being removed as well
- for (Iterator iterator = alreadyInstalled.iterator(); iterator.hasNext();) {
- IInstallableUnit iu = (IInstallableUnit) iterator.next();
- for (int i = 0; i < removed.length; i++) {
- if (iu.equals(removed[i])) {
- profileChangeRequest.removeInstallableUnitProfileProperty(removed[i], INCLUSION_RULES);
- iterator.remove();
- break;
- }
- }
- }
-
- ArrayList gatheredRequirements = new ArrayList();
-
- //Process all the IUs being added
- Map iuPropertiesToAdd = profileChangeRequest.getInstallableUnitProfilePropertiesToAdd();
- for (int i = 0; i < added.length; i++) {
- Map propertiesForIU = (Map) iuPropertiesToAdd.get(added[i]);
- RequiredCapability profileRequirement = null;
- if (propertiesForIU != null) {
- profileRequirement = createRequirement(added[i], (String) propertiesForIU.get(INCLUSION_RULES));
- }
- if (profileRequirement == null) {
- profileChangeRequest.setInstallableUnitProfileProperty(added[i], INCLUSION_RULES, PlannerHelper.createStrictInclusionRule(added[i]));
- profileRequirement = createStrictRequirement(added[i]);
- }
- gatheredRequirements.add(profileRequirement);
- }
-
- //Process the IUs that were already there
- for (Iterator iterator = alreadyInstalled.iterator(); iterator.hasNext();) {
- IInstallableUnit iu = (IInstallableUnit) iterator.next();
- Map propertiesForIU = (Map) iuPropertiesToAdd.get(iu);
- RequiredCapability profileRequirement = null;
- //Test if the value has changed
- if (propertiesForIU != null) {
- profileRequirement = createRequirement(iu, (String) propertiesForIU.get(INCLUSION_RULES));
- }
- if (profileRequirement == null) {
- profileRequirement = createRequirement(iu, profileChangeRequest.getProfile().getInstallableUnitProperty(iu, INCLUSION_RULES));
- }
- gatheredRequirements.add(profileRequirement);
- }
- return new IInstallableUnit[] {createIURepresentingTheProfile(gatheredRequirements)};
- }
-
- private RequiredCapability createRequirement(IInstallableUnit iu, String rule) {
- if (rule == null)
- return null;
- if (rule.equals(PlannerHelper.createStrictInclusionRule(iu))) {
- return createStrictRequirement(iu);
- }
- if (rule.equals(PlannerHelper.createOptionalInclusionRule(iu))) {
- return createOptionalRequirement(iu);
- }
- return null;
- }
-
- private RequiredCapability createOptionalRequirement(IInstallableUnit iu) {
- return MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, iu.getId(), new VersionRange(iu.getVersion(), true, iu.getVersion(), true), null, true, false, true);
- }
-
- private RequiredCapability createStrictRequirement(IInstallableUnit iu) {
- return MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, iu.getId(), new VersionRange(iu.getVersion(), true, iu.getVersion(), true), null, false, false, true);
- }
-
- public IInstallableUnit[] updatesFor(IInstallableUnit toUpdate, ProvisioningContext context, IProgressMonitor monitor) {
- Map resultsMap = new HashMap();
-
- IMetadataRepositoryManager repoMgr = (IMetadataRepositoryManager) ServiceHelper.getService(DirectorActivator.context, IMetadataRepositoryManager.class.getName());
- URL[] repositories = context.getMetadataRepositories();
- if (repositories == null)
- repositories = repoMgr.getKnownRepositories(IMetadataRepositoryManager.REPOSITORIES_ALL);
-
- SubMonitor sub = SubMonitor.convert(monitor, repositories.length * 200);
- for (int i = 0; i < repositories.length; i++) {
- try {
- IMetadataRepository repository = repoMgr.loadRepository(repositories[i], sub.newChild(100));
- Collector matches = repository.query(new UpdateQuery(toUpdate), new Collector(), sub.newChild(100));
- for (Iterator it = matches.iterator(); it.hasNext();) {
- IInstallableUnit iu = (IInstallableUnit) it.next();
- String key = iu.getId() + "_" + iu.getVersion().toString(); //$NON-NLS-1$
- IInstallableUnit currentIU = (IInstallableUnit) resultsMap.get(key);
- if (currentIU == null || hasHigherFidelity(iu, currentIU))
- resultsMap.put(key, iu);
- }
- } catch (ProvisionException e) {
- //skip unreadable repositories
- }
- }
- sub.done();
- Collection results = resultsMap.values();
- return (IInstallableUnit[]) results.toArray(new IInstallableUnit[results.size()]);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Slicer.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Slicer.java
deleted file mode 100644
index 375d6b0..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Slicer.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.director;
-
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.CapabilityQuery;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.query.IQueryable;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.InvalidSyntaxException;
-
-public class Slicer {
- private static boolean DEBUG = false;
- private IQueryable possibilites;
-
- private LinkedList toProcess;
- private Set considered; //IUs to add to the slice
- private TwoTierMap slice; //The IUs that have been considered to be part of the problem
-
- private Dictionary selectionContext;
- private MultiStatus result;
-
- public Slicer(IQueryable input, Dictionary context) {
- possibilites = input;
- slice = new TwoTierMap();
- selectionContext = context;
- result = new MultiStatus(DirectorActivator.PI_DIRECTOR, IStatus.OK, Messages.Planner_Problems_resolving_plan, null);
- }
-
- public Slicer(IInstallableUnit[] installRoots, IInstallableUnit[] gatherAvailableInstallableUnits, Dictionary selectionContext) {
- this(new QueryableArray(gatherAvailableInstallableUnits), selectionContext);
- }
-
- public IQueryable slice(IInstallableUnit[] ius, IProgressMonitor monitor) {
- try {
- long start = 0;
- if (DEBUG) {
- start = System.currentTimeMillis();
- System.out.println("Start slicing: " + start); //$NON-NLS-1$
- }
-
- validateInput(ius);
- considered = new HashSet(Arrays.asList(ius));
- toProcess = new LinkedList(considered);
- while (!toProcess.isEmpty())
- processIU((IInstallableUnit) toProcess.removeFirst());
-
- if (DEBUG) {
- long stop = System.currentTimeMillis();
- System.out.println("Slicing complete: " + (stop - start)); //$NON-NLS-1$
- }
- } catch (IllegalStateException e) {
- result.add(new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, e.getMessage(), e));
- }
- if (!result.isOK())
- LogHelper.log(result);
- if (result.getSeverity() == IStatus.ERROR)
- return null;
- return new QueryableArray((IInstallableUnit[]) considered.toArray(new IInstallableUnit[considered.size()]));
- }
-
- public MultiStatus getStatus() {
- return result;
- }
-
- //This is a shortcut to simplify the error reporting when the filter of the ius we are being asked to install does not pass
- private void validateInput(IInstallableUnit[] ius) {
- for (int i = 0; i < ius.length; i++) {
- if (!isApplicable(ius[i]))
- throw new IllegalStateException("The IU " + ius[i] + " can't be installed in this environment because its filter does not match."); //$NON-NLS-1$//$NON-NLS-2$
- }
- }
-
- // Check whether the requirement is applicable
- private boolean isApplicable(RequiredCapability req) {
- String filter = req.getFilter();
- if (filter == null)
- return true;
- try {
- return DirectorActivator.context.createFilter(filter).match(selectionContext);
- } catch (InvalidSyntaxException e) {
- return false;
- }
- }
-
- private boolean isApplicable(IInstallableUnit iu) {
- String enablementFilter = iu.getFilter();
- if (enablementFilter == null)
- return true;
- try {
- return DirectorActivator.context.createFilter(enablementFilter).match(selectionContext);
- } catch (InvalidSyntaxException e) {
- return false;
- }
- }
-
- private void processIU(IInstallableUnit iu) {
- iu = iu.unresolved();
-
- slice.put(iu.getId(), iu.getVersion(), iu);
- if (!isApplicable(iu)) {
- return;
- }
-
- RequiredCapability[] reqs = getRequiredCapabilities(iu);
- if (reqs.length == 0) {
- return;
- }
- for (int i = 0; i < reqs.length; i++) {
- if (!isApplicable(reqs[i]))
- continue;
-
- if (!reqs[i].isGreedy()) {
- continue;
- }
-
- expandRequirement(iu, reqs[i]);
- }
- }
-
- private RequiredCapability[] getRequiredCapabilities(IInstallableUnit iu) {
- if (!(iu instanceof IInstallableUnitPatch)) {
- return iu.getRequiredCapabilities();
- }
- RequiredCapability[] aggregatedCapabilities;
- IInstallableUnitPatch patchIU = (IInstallableUnitPatch) iu;
- RequirementChange[] changes = patchIU.getRequirementsChange();
- int initialRequirementCount = iu.getRequiredCapabilities().length;
- aggregatedCapabilities = new RequiredCapability[initialRequirementCount + changes.length];
- System.arraycopy(iu.getRequiredCapabilities(), 0, aggregatedCapabilities, 0, initialRequirementCount);
- for (int i = 0; i < changes.length; i++) {
- aggregatedCapabilities[initialRequirementCount++] = changes[i].newValue();
- }
- return aggregatedCapabilities;
- }
-
- private void expandRequirement(IInstallableUnit iu, RequiredCapability req) {
- Collector matches = possibilites.query(new CapabilityQuery(req), new Collector(), null);
- int validMatches = 0;
- for (Iterator iterator = matches.iterator(); iterator.hasNext();) {
- IInstallableUnit match = (IInstallableUnit) iterator.next();
- if (!isApplicable(match))
- continue;
- validMatches++;
- if (!slice.containsKey(match.getId(), match.getVersion()))
- consider(match);
- }
-
- if (validMatches == 0) {
- if (req.isOptional()) {
- if (DEBUG)
- System.out.println("No IU found to satisfy optional dependency of " + iu + " on req " + req); //$NON-NLS-1$//$NON-NLS-2$
- } else {
- result.add(new Status(IStatus.WARNING, DirectorActivator.PI_DIRECTOR, NLS.bind(Messages.Planner_Unsatisfied_dependency, iu, req)));
- }
- }
- }
-
- private void consider(IInstallableUnit match) {
- if (considered.add(match))
- toProcess.addLast(match);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/TwoTierMap.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/TwoTierMap.java
deleted file mode 100644
index bd0799e..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/TwoTierMap.java
+++ /dev/null
@@ -1,354 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.director;
-
-import java.io.PrintStream;
-import java.io.Serializable;
-import java.util.*;
-
-/**
- * The purpose of this class is to provide a two-tier map.
- * MapOf(key1 => MapOf(key2 => value)).
- * Even though this class implements Map the behavior of
- * the methods aren't exactly the same as that of a real
- * Map - especially, entrySet(), keySet() etc. works off
- * the outer map while values() returns all the values of
- * all the inner maps.
- */
-public class TwoTierMap implements Map, Serializable {
-
- private static final long serialVersionUID = 362497720873186265L;
-
- private Map outerMap;
- private int policy;
-
- public static final int POLICY_NONE = 0, POLICY_BOTH_MAPS_PRESERVE_ORDERING = 1 << 0, POLICY_INNER_MAP_PRESERVE_EXISTING = 1 << 1, POLICY_INNER_MAP_SORTED_ASCENDING = 1 << 2, POLICY_INNER_MAP_SORTED_DESCENDING = 1 << 3, POLICY_INNER_MAP_ENSURE_SINGLETON = 1 << 4;
-
- private static final int POLICY_INNER_MAP_SORTED_MASK = POLICY_INNER_MAP_SORTED_ASCENDING | POLICY_INNER_MAP_SORTED_DESCENDING;
-
- public TwoTierMap() {
- this(8, POLICY_NONE);
- }
-
- public TwoTierMap(int initialCapacity) {
- this(initialCapacity, POLICY_NONE);
- }
-
- /**
- * Creates a two-tier map with the specified
- * initialCapacity and policy. The policy determines
- * whether the outer map is ordered, inner map is
- * sorted, clobber values of inner map etc.
- */
- public TwoTierMap(int initialCapacity, int policy) {
- this.policy = policy;
- this.outerMap = shouldUseOrderedMap() ? new LinkedHashMap(initialCapacity) : new HashMap(initialCapacity);
- }
-
- /**
- * Insert the value with key key1 into the inner map
- * that is obtained from the outer map with key key2.
- * If you have set POLICY_INNER_MAP_PRESERVE_EXISTING
- * at the time of creating this, it will not overwrite
- * if there is already a non-null value at key2.
- * The other POLICY_INNER_MAP_* policies determine
- * what kind of inner map is created.
- * @param key1 The key for outer map.
- * @param key2 The key for inner map.
- * @param value The value.
- * @return Existing value if any, otherwise null.
- */
- public Object put(Object key1, Object key2, Object value) {
- Map innerMap = (Map) this.outerMap.get(key1);
- if (innerMap == null) {
- if (shouldUseSingletonInnerMap()) {
- this.outerMap.put(key1, Collections.singletonMap(key2, value));
- return null;
- }
- innerMap = createInnerMap();
- this.outerMap.put(key1, innerMap);
- }
- // It is faster to check for already existing entry
- // this way instead of containsKey() check. Of course,
- // this will prevent us from recognizing a null entry,
- // which I think shouldn't be a problem.
- Object existing = innerMap.put(key2, value);
- if (existing != null && shouldPreserveExisting()) {
- innerMap.put(key2, existing);
- }
- return existing;
- }
-
- /**
- * Get the object stored in the inner map using key2
- * as key where the inner map is obtained from the
- * outer map using key1.
- * @param key1 The key for outer map.
- * @param key2 The key for inner map.
- * @return The object for key2 in inner map for key1
- * in the outer map.
- */
- public Object get(Object key1, Object key2) {
- if (key1 == null || key2 == null)
- return getAll(key1);
- Map innerMap = (Map) this.outerMap.get(key1);
- Object value = innerMap == null ? null : innerMap.get(key2);
- return value;
- }
-
- /**
- * Get all the values in the inner map for key1 in
- * the outer map.
- * @param key1 The key for outer map.
- * @return Collection of values in the inner map.
- */
- public Collection getAll(Object key1) {
- if (key1 == null)
- // return all
- return values();
- Map innerMap = (Map) this.outerMap.get(key1);
- return innerMap == null ? Collections.EMPTY_LIST : Collections.unmodifiableCollection(innerMap.values());
-
- }
-
- public Object remove(Object key1, Object key2) {
- if (key1 == null || key2 == null)
- return removeAll(key1);
- Map innerMap = (Map) this.outerMap.get(key1);
- if (innerMap == null)
- return null;
- if (shouldUseSingletonInnerMap()) {
- Object result = innerMap.get(key2);
- if (result != null) {
- this.outerMap.remove(key1);
- }
- return result;
- }
- Object result = (innerMap == null) ? null : innerMap.remove(key2);
- if (result != null && innerMap.isEmpty()) {
- this.outerMap.remove(key1);
- }
- return result;
- }
-
- public Collection removeAll(Object key1) {
- if (key1 == null)
- return Collections.EMPTY_LIST;
- Map innerMap = (Map) this.outerMap.remove(key1);
- return innerMap == null ? Collections.EMPTY_LIST : innerMap.values();
- }
-
- /**
- * Determine whether there exists a valid object for
- * key2 in the inner map for key1 in the outer map.
- * @param key1 The key for outer map.
- * @param key2 The key for inner map.
- * @return true if a non-null object exists; otherwise
- * false.
- */
- public boolean containsKey(Object key1, Object key2) {
- if (key1 == null)
- return false;
- if (key2 == null)
- return containsKey(key1);
- return get(key1, key2) != null;
- }
-
- /* (non-Javadoc)
- * @see java.util.Map#clear()
- */
- public void clear() {
- this.outerMap.clear();
- }
-
- /* (non-Javadoc)
- * @see java.util.Map#containsKey(java.lang.Object)
- */
- public boolean containsKey(Object key) {
- return this.outerMap.containsKey(key);
- }
-
- /* (non-Javadoc)
- * @see java.util.Map#containsValue(java.lang.Object)
- */
- public boolean containsValue(Object value) {
- for (Iterator it = entrySet().iterator(); it.hasNext();) {
- Map.Entry entry = (Map.Entry) it.next();
- Map innerMap = (Map) entry.getValue();
- if (innerMap.containsValue(value))
- return true;
- }
- return false;
- }
-
- /* (non-Javadoc)
- * @see java.util.Map#size()
- */
- public int size() {
- return this.outerMap.size();
- }
-
- /* (non-Javadoc)
- * @see java.util.Map#isEmpty()
- */
- public boolean isEmpty() {
- return this.size() == 0;
- }
-
- /* (non-Javadoc)
- * @see java.util.Map#entrySet()
- */
- public Set entrySet() {
- return Collections.unmodifiableSet(this.outerMap.entrySet());
- }
-
- /* (non-Javadoc)
- * @see java.util.Map#values()
- */
- public Collection values() {
- ArrayList result = new ArrayList(size());
- for (Iterator it = this.outerMap.keySet().iterator(); it.hasNext();) {
- Object key = it.next();
- // A null key will cause infinite recursion!
- if (key != null) {
- result.addAll(getAll(key));
- }
- }
- return result;
- }
-
- /* (non-Javadoc)
- * @see java.util.Map#get(java.lang.Object)
- */
- public Object get(Object key) {
- if (key instanceof Object[]) {
- Object[] keys = (Object[]) key;
- return get(keys[0], keys[1]);
- } else
- return getAll(key);
- }
-
- /* (non-Javadoc)
- * @see java.util.Map#keySet()
- */
- public Set keySet() {
- return Collections.unmodifiableSet(this.outerMap.keySet());
- }
-
- /* (non-Javadoc)
- * @see java.util.Map#put(java.lang.Object, java.lang.Object)
- */
- public Object put(Object key, Object value) {
- if (key instanceof Object[]) {
- Object[] keys = (Object[]) key;
- return put(keys[0], keys[1], value);
- }
- throw new IllegalArgumentException("First arg should be an array!"); //$NON-NLS-1$
- }
-
- /* (non-Javadoc)
- * @see java.util.Map#putAll(java.util.Map)
- */
- public void putAll(Map t) {
- throw new UnsupportedOperationException();
- }
-
- /* (non-Javadoc)
- * @see java.util.Map#remove(java.lang.Object)
- */
- public Object remove(Object key) {
- if (key instanceof Object[]) {
- Object[] keys = (Object[]) key;
- return remove(keys[0], keys[1]);
- } else
- return removeAll(key);
- }
-
- public String toString() {
- StringBuffer sb = new StringBuffer();
- if (this.outerMap.isEmpty()) {
- sb.append(" (Empty)"); //$NON-NLS-1$
- } else {
- for (Iterator it = this.outerMap.entrySet().iterator(); it.hasNext();) {
- Map.Entry entry = (Map.Entry) it.next();
- sb.append(" ").append(entry.getKey()) //$NON-NLS-1$
- .append(" = ") //$NON-NLS-1$
- .append(entry.getValue()).append('\n');
- }
- sb.setLength(sb.length() - 1);
- }
- return sb.toString();
- }
-
- public void dump(PrintStream ps) {
- if (ps == null) {
- ps = System.out;
- }
- ps.println(this.toString());
- }
-
- private Map createInnerMap() {
- Map innerMap;
- if (shouldUseSortedInnerMap()) {
- innerMap = new TreeMap(new ValueComparator(shouldSortInAscendingOrder()));
- } else if (shouldUseOrderedMap()) {
- innerMap = new LinkedHashMap(2);
- } else {
- innerMap = new HashMap(2);
- }
- return innerMap;
- }
-
- private boolean shouldPreserveExisting() {
- return (this.policy & POLICY_INNER_MAP_PRESERVE_EXISTING) == POLICY_INNER_MAP_PRESERVE_EXISTING;
- }
-
- private boolean shouldUseOrderedMap() {
- return (this.policy & POLICY_BOTH_MAPS_PRESERVE_ORDERING) == POLICY_BOTH_MAPS_PRESERVE_ORDERING;
- }
-
- private boolean shouldUseSortedInnerMap() {
- return (this.policy & POLICY_INNER_MAP_SORTED_MASK) != 0;
- }
-
- private boolean shouldSortInAscendingOrder() {
- return (this.policy & POLICY_INNER_MAP_SORTED_MASK) == POLICY_INNER_MAP_SORTED_ASCENDING;
- }
-
- private boolean shouldUseSingletonInnerMap() {
- return (this.policy & POLICY_INNER_MAP_ENSURE_SINGLETON) == POLICY_INNER_MAP_ENSURE_SINGLETON;
- }
-
- private static class ValueComparator implements Comparator, Serializable {
- private static final long serialVersionUID = 362497720873186266L;
- private boolean ascending;
-
- public ValueComparator(boolean ascending) {
- this.ascending = ascending;
- }
-
- /* (non-Javadoc)
- * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
- */
- public int compare(Object o1, Object o2) {
- try {
- if (o1 instanceof Comparable) {
- int cmp = ((Comparable) o1).compareTo(o2);
- return this.ascending ? cmp : (0 - cmp);
- }
- } catch (Exception e) {
- // Ignore
- }
- return 1;
- }
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/messages.properties b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/messages.properties
deleted file mode 100644
index c22af92..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/messages.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-Director_Revert_Problems=Problems occurred while reverting the install.
-Director_Unexpected_IU=The installable unit {0} can not be used here.
-Director_Task_Installing=Installing into {0}
-Director_Task_Updating=Updating
-Director_Task_Resolving_Dependencies=Calculating requirements and dependencies.
-
-Director_Unsatisfied_Dependencies=\
-Cannot complete the install because some dependencies are not satisfiable
-Director_Unsatisfied_Dependency=\
-Unsatisfied dependency: {0}
-Planner_Error_saving_opbfile=Exception writing problem file in: {0}.
-Planner_Format_error=Format error in file: {0}.
-Planner_Missing_opb_file=Missing file: {0}.
-Planner_Timeout=The solver timed out on problem {0}.
-Planner_Problems_resolving_plan=Problems resolving provisioning plan.
-Planner_Trivial_exception=No solution found because of a trivial contradiction in {0}.
-Planner_Unsatisfiable_problem=No solution found because the problem in {0} is unsatisfiable.
-Planner_Unsatisfied_dependency=Unable to satisfy dependency from {0} to {1}.
-
-Planner_NoSolution=Cannot complete the request. Generating details.
-
-Old_Resolver_Several_Versions=Cannot find a solution satisfying the following requirements {0}.
-Old_Resolver_Incompatible_Versions=Cannot find a solution where both {0} and {1} can be satisfied.
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/resolution/ResolutionHelper.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/resolution/ResolutionHelper.java
deleted file mode 100644
index fb7a8e6..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/resolution/ResolutionHelper.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.resolution;
-
-import java.util.*;
-import org.eclipse.equinox.internal.p2.director.DirectorActivator;
-import org.eclipse.equinox.internal.p2.director.RecommendationDescriptor;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.osgi.service.resolver.*;
-import org.osgi.framework.ServiceReference;
-
-public class ResolutionHelper {
- private static final IInstallableUnitFragment[] NO_FRAGMENTS = new IInstallableUnitFragment[0];
-
- private static boolean DEBUG = false;
-
- private Transformer transformer;
- private State state;
- private Dictionary selectionContext;
- private RecommendationDescriptor recommendations;
- /**
- * Map of IInstallableUnit->(IInstallableUnitFragment) representing the
- * mapping of IUs to the fragment they are bound to.
- */
- private Map fragmentBindings;
-
- public ResolutionHelper(Dictionary selectionContext, RecommendationDescriptor recommendations) {
- this.selectionContext = selectionContext;
- this.recommendations = recommendations;
- }
-
- private void initialize() {
- ServiceReference sr = DirectorActivator.context.getServiceReference(PlatformAdmin.class.getName());
- PlatformAdmin pa = (PlatformAdmin) DirectorActivator.context.getService(sr);
- transformer = new Transformer(pa.getFactory(), selectionContext, recommendations);
- state = pa.getFactory().createState(true);
- fragmentBindings = new HashMap();
- if (selectionContext != null)
- state.setPlatformProperties(selectionContext);
- }
-
- private void addToState(BundleDescription bd) {
- state.addBundle(bd);
- }
-
- private BundleDescription addInResolution(IInstallableUnit toAdd) {
- transformer.visitInstallableUnit(toAdd);
- BundleDescription descriptionToAdd = transformer.getResult();
- // bundleDescriptionToIU.put(descriptionToAdd, toAdd);
- addToState(descriptionToAdd);
- return descriptionToAdd;
- }
-
- /**
- * Indicates if the installable unit to install will have all their constraints satisfied when installed with other installable units.
- * @param toInstall the installable units to install
- * @param existingState the other installable units to resolve against
- * @return true if the installable unit to install resolves, return false otherwise.
- */
- public UnsatisfiedCapability[] install(Set toInstall, Set existingState) {
- initialize();
- BundleDescription[] addedBundle = new BundleDescription[toInstall.size()];
- int j = 0;
- for (Iterator iterator = toInstall.iterator(); iterator.hasNext();) {
- addedBundle[j++] = addInResolution((IInstallableUnit) iterator.next());
- }
-
- for (Iterator iterator = existingState.iterator(); iterator.hasNext();) {
- addInResolution((IInstallableUnit) iterator.next());
- }
-
- state.resolve(); //We may want to resolve in two times. first the existing state, then add the toInstall. This would allow to see what changes when dropping the new iu.
- //Also it could allow us to do an incremental resolution. however the results may differ
-
- ArrayList results = new ArrayList();
- for (int i = 0; i < addedBundle.length; i++) {
- results.addAll(createUnsatisfiedCapabilities(state.getStateHelper().getUnsatisfiedConstraints(addedBundle[i]), addedBundle[i]));
- }
- return (UnsatisfiedCapability[]) results.toArray(new UnsatisfiedCapability[results.size()]);
-
- }
-
- private ArrayList createUnsatisfiedCapabilities(VersionConstraint[] unsatisfied, BundleDescription description) {
- ArrayList results = new ArrayList();
- for (int i = 0; i < unsatisfied.length; i++) {
- RequiredCapability originalDependency = (RequiredCapability) ((StateMetadataMap) description.getUserObject()).getGenericSpecifications().get(unsatisfied[i]);
- results.add(new UnsatisfiedCapability(originalDependency, ((StateMetadataMap) description.getUserObject()).getUnit()));
- }
- return results;
- }
-
- /**
- * Associates installable unit fragments to each IU being installed.
- *
- * TODO: This method should probably be renamed to attachFragments
- */
- public Collection attachCUs(Collection toAttach) {
- initialize();
- for (Iterator iterator = toAttach.iterator(); iterator.hasNext();) {
- IInstallableUnit iu = (IInstallableUnit) iterator.next();
- if (iu != null)
- addInResolution(iu);
- }
- state.resolve();
- BundleDescription[] bds = state.getBundles();
- for (int i = 0; i < bds.length; i++) {
- if (DEBUG) {
- ResolverError[] re = state.getResolverErrors(bds[i]);
- for (int j = 0; j < re.length; j++) {
- System.out.println(re[j]);
- }
- }
- BundleDescription[] potentialIUFragments = state.getStateHelper().getDependentBundles(new BundleDescription[] {bds[i]});
- // TODO: We need to define a way to allow IUFragments to work together to do configuration work.
- // For now we will select just one fragment by preferring a fragment that matches the host
-
- IInstallableUnit hostIU = ((StateMetadataMap) bds[i].getUserObject()).getUnit();
- ArrayList applicableFragments = new ArrayList();
- for (int k = 0; k < potentialIUFragments.length; k++) {
- IInstallableUnit dependentIU = ((StateMetadataMap) potentialIUFragments[k].getUserObject()).getUnit();
- if (hostIU.equals(dependentIU) || !dependentIU.isFragment())
- continue;
-
- IInstallableUnitFragment potentialFragment = (IInstallableUnitFragment) dependentIU;
-
- // Check to make sure the host meets the requirements of the fragment
- RequiredCapability reqsFromFragment[] = potentialFragment.getHost();
- ProvidedCapability hostCapabilities[] = hostIU.getProvidedCapabilities();
- boolean match = true;
- boolean requirementMatched = false;
- for (int l = 0; l < reqsFromFragment.length && match == true; l++) {
- requirementMatched = false;
- for (int m = 0; m < hostCapabilities.length; m++) {
- if (hostCapabilities[m].isSatisfiedBy(reqsFromFragment[l])) {
- requirementMatched = true;
- break;
- }
- }
- if (requirementMatched == false) {
- match = false;
- break;
- }
-
- }
- if (match) {
- applicableFragments.add(potentialFragment);
- }
- }
-
- IInstallableUnitFragment theFragment = null;
- int specificityLevel = 0;
- for (Iterator iterator = applicableFragments.iterator(); iterator.hasNext();) {
- IInstallableUnitFragment fragment = (IInstallableUnitFragment) iterator.next();
- if (fragment.getHost().length > specificityLevel) {
- theFragment = fragment;
- specificityLevel = fragment.getHost().length;
- }
- }
- if (theFragment != null)
- fragmentBindings.put(hostIU, theFragment);
- }
- //build the collection of resolved IUs
- Collection result = new HashSet(toAttach.size());
- for (Iterator iterator = toAttach.iterator(); iterator.hasNext();) {
- IInstallableUnit iu = (IInstallableUnit) iterator.next();
- if (iu == null)
- continue;
- //just return fragments as they are
- if (iu.isFragment()) {
- result.add(iu);
- continue;
- }
- //return a new IU that combines the IU with its bound fragments
- IInstallableUnitFragment fragment = (IInstallableUnitFragment) fragmentBindings.get(iu);
- IInstallableUnitFragment[] fragments;
- if (fragment == null)
- fragments = NO_FRAGMENTS;
- else
- fragments = new IInstallableUnitFragment[] {fragment};
- result.add(MetadataFactory.createResolvedInstallableUnit(iu, fragments));
- }
- return result;
- }
-
- public boolean isResolved(IInstallableUnit iu) {
- return state.getBundle(iu.getId(), iu.getVersion()).isResolved();
- }
-
- public ArrayList getAllResolved() {
- BundleDescription[] bd = state.getResolvedBundles();
- ArrayList result = new ArrayList(bd.length);
- for (int i = 0; i < bd.length; i++) {
- result.add(extractIU(bd[i]));
- }
- return result;
- }
-
- private IInstallableUnit extractIU(BundleDescription bd) {
- return ((StateMetadataMap) bd.getUserObject()).getUnit();
- }
-
- public List getSorted() {
- BundleDescription[] toSort = state.getResolvedBundles();
- state.getStateHelper().sortBundles(toSort);
- List result = new ArrayList(toSort.length);
- for (int i = 0; i < toSort.length; i++) {
- result.add(extractIU(toSort[i]));
- }
- return result;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/resolution/StateMetadataMap.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/resolution/StateMetadataMap.java
deleted file mode 100644
index 0b294aa..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/resolution/StateMetadataMap.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.resolution;
-
-import java.util.Map;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-
-//Instances of this class are stored in the user object slot of bundlescriptions to ease navigation between the two models.
-public class StateMetadataMap {
- private IInstallableUnit unit;
- private Map correspondingSpecifications; //indexes in this array maps to the ones in the dependencies array. This is gross. TODO
-
- public StateMetadataMap(IInstallableUnit unit, Map correspondingSpecifications) {
- super();
- this.unit = unit;
- this.correspondingSpecifications = correspondingSpecifications;
- }
-
- public IInstallableUnit getUnit() {
- return unit;
- }
-
- public Map getGenericSpecifications() {
- return correspondingSpecifications;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/resolution/Transformer.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/resolution/Transformer.java
deleted file mode 100644
index 8c6ac9f..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/resolution/Transformer.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.resolution;
-
-import java.util.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.osgi.service.resolver.*;
-import org.osgi.framework.InvalidSyntaxException;
-
-public class Transformer {
- private static final byte IU_KIND = 0;
- private static final String IU_NAMESPACE = "iu.namespace";
- static long iuInternalId = 0;
-
- private Dictionary context = null;
- private StateObjectFactory factory = null;
- private ArrayList iuCapabilities;
- private Map iuDependencies;
- private byte kind = IU_KIND;
-
- private BundleDescription result = null;
-
- private RecommendationDescriptor recommendations = null;
-
- public Transformer(StateObjectFactory factory) {
- this(factory, null, null);
- }
-
- public Transformer(StateObjectFactory factory, Dictionary context, RecommendationDescriptor recommendations) {
- this.factory = factory;
- this.context = context;
- this.recommendations = recommendations;
- }
-
- private String getNamespace() {
- switch (kind) {
- case IU_KIND :
- return IU_NAMESPACE;
- default :
- throw new IllegalStateException("unknown kind"); //This should not happen
- }
- }
-
- public BundleDescription getResult() {
- return result;
- }
-
- private boolean isEnabled(RequiredCapability capability) {
- // If there is no context then be optimistic
- if (context == null)
- return true;
- String filter = capability.getFilter();
- if (filter == null)
- return true;
- try {
- return DirectorActivator.context.createFilter(filter).match(context);
- } catch (InvalidSyntaxException e) {
- // If we fail to parse the filter treat it as invalid and be optimistic
- return true;
- }
- }
-
- private String toFilter(VersionRange range) {
- if (range == null)
- return null;
- StringBuffer buf = new StringBuffer();
- buf.append("(&"); //$NON-NLS-1$
- buf.append("(version>=").append(range.getMinimum().toString()).append(')'); //$NON-NLS-1$
- if (!range.getIncludeMinimum())
- buf.append("(!(version=").append(range.getMinimum().toString()).append("))");
- buf.append("(version<=").append(range.getMaximum().toString()).append(')'); //$NON-NLS-1$
- if (!range.getIncludeMaximum())
- buf.append("(!(version=").append(range.getMaximum().toString()).append("))");
- buf.append(')');
- return buf.toString();
- }
-
- public void visitCapability(ProvidedCapability capability) {
- iuCapabilities.add(factory.createGenericDescription(capability.getName(), capability.getNamespace(), capability.getVersion(), null));
- }
-
- public void visitInstallableUnit(IInstallableUnit toTransform) {
- kind = IU_KIND;
-
- //Start with the dependencies
- RequiredCapability[] requires = toTransform.getRequiredCapabilities();
- iuDependencies = new HashMap(requires.length);
- for (int i = 0; i < requires.length; i++) {
- visitRequiredCapability(requires[i]);
- }
-
- //Do the capabilities
- ProvidedCapability[] capabilities = toTransform.getProvidedCapabilities();
- iuCapabilities = new ArrayList(requires.length + 1);
- for (int i = 0; i < capabilities.length; i++) {
- visitCapability(capabilities[i]);
- }
-
- //Add a capability representing the IU itself
- iuCapabilities.add(factory.createGenericDescription(toTransform.getId(), getNamespace(), toTransform.getVersion(), null));
-
- GenericSpecification[] genericSpecifications = new GenericSpecification[iuDependencies.size()];
- iuDependencies.keySet().toArray(genericSpecifications);
-
- GenericDescription[] genericDescriptions = new GenericDescription[iuCapabilities.size()];
- iuCapabilities.toArray(genericDescriptions);
-
- //Finally create the bundle description
- //TODO Need to create the filter for the IU itself
- result = factory.createBundleDescription(iuInternalId++, toTransform.getId(), toTransform.getVersion(), (String) null, (BundleSpecification[]) null, (HostSpecification) null, (ImportPackageSpecification[]) null, (ExportPackageDescription[]) null, toTransform.isSingleton(), true, true, toTransform.getFilter(), (String[]) null, genericSpecifications, genericDescriptions);
- result.setUserObject(new StateMetadataMap(toTransform, iuDependencies));
- }
-
- public void visitRequiredCapability(RequiredCapability capability) {
- try {
- if (isEnabled(capability)) {
- capability = rewrite(capability);
- iuDependencies.put(factory.createGenericSpecification(capability.getName(), capability.getNamespace(), toFilter(capability.getRange()), capability.isOptional(), capability.isMultiple()), capability);
- }
- } catch (InvalidSyntaxException e) {
- LogHelper.log(new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, "Invalid filter: " + e.getFilter(), e)); //$NON-NLS-1$
- }
- }
-
- private RequiredCapability rewrite(RequiredCapability match) {
- if (recommendations == null)
- return match;
- Recommendation foundRecommendation = recommendations.findRecommendation(match);
- return foundRecommendation != null ? foundRecommendation.newValue() : match;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/resolution/UnsatisfiedCapability.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/resolution/UnsatisfiedCapability.java
deleted file mode 100644
index 3180239..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/resolution/UnsatisfiedCapability.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.resolution;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.RequiredCapability;
-
-/**
- * Represents a provisioning dependency that was not satisfied during
- * resolution.
- */
-public class UnsatisfiedCapability {
- private IInstallableUnit owner;
- private RequiredCapability require;
-
- /**
- * Creates a new unresolved dependency
- * @param required The dependency that was not satisfied.
- * @param owner The installable unit whose dependency was not satisfied.
- */
- public UnsatisfiedCapability(RequiredCapability required, IInstallableUnit owner) {
- this.require = required;
- this.owner = owner;
- }
-
- public IInstallableUnit getOwner() {
- return owner;
- }
-
- /**
- * Returns the specific dependency that was not satisfied.
- */
- public RequiredCapability getRequiredCapability() {
- return require;
- }
-
- /**
- * Returns the installable unit whose dependency was not satisfied.
- */
- public IInstallableUnit getUnsatisfiedUnit() {
- return owner;
- }
-
- /**
- * For debugging purposes only.
- */
- public String toString() {
- return "[" + owner + "] " + require.toString(); //$NON-NLS-1$ //$NON-NLS-2$
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/rollback/FormerState.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/rollback/FormerState.java
deleted file mode 100644
index e39cfdd..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/rollback/FormerState.java
+++ /dev/null
@@ -1,363 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.rollback;
-
-import java.net.URL;
-import java.util.*;
-import java.util.Map.Entry;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.SynchronousProvisioningListener;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.query.*;
-import org.osgi.framework.Version;
-
-public class FormerState {
-
- public static final String IUPROP_PREFIX = "---IUPROPERTY---"; //$NON-NLS-1$
- public static final String IUPROP_POSTFIX = "---IUPROPERTYKEY---"; //$NON-NLS-1$
- private static long lastTimestamp;
- URL location = null;
-
- Hashtable generatedIUs = new Hashtable(); //key profile id, value the iu representing this profile
-
- private synchronized static long uniqueTimestamp() {
- long timewaited = 0;
- long timestamp = System.currentTimeMillis();
- while (timestamp == lastTimestamp) {
- if (timewaited > 1000)
- throw new IllegalStateException("uniquetimestamp failed"); //$NON-NLS-1$
- try {
- Thread.sleep(10);
- } catch (InterruptedException e) {
- // reset interrupted status
- Thread.currentThread().interrupt();
- }
- timewaited += 10;
- timestamp = System.currentTimeMillis();
- }
- lastTimestamp = timestamp;
- return timestamp;
- }
-
- public FormerState(URL repoLocation) {
- if (repoLocation == null)
- throw new IllegalArgumentException("Repository location can't be null"); //$NON-NLS-1$
- IProvisioningEventBus eventBus = (IProvisioningEventBus) ServiceHelper.getService(DirectorActivator.context, IProvisioningEventBus.SERVICE_NAME);
- location = repoLocation;
-
- //listen for pre-event. to snapshot the profile
- eventBus.addListener(new SynchronousProvisioningListener() {
- public void notify(EventObject o) {
- if (o instanceof BeginOperationEvent) {
- BeginOperationEvent event = (BeginOperationEvent) o;
- IInstallableUnit iuForProfile = profileToIU(event.getProfile());
- generatedIUs.put(event.getProfile().getProfileId(), iuForProfile);
- } else if (o instanceof ProfileEvent) {
- ProfileEvent event = (ProfileEvent) o;
- if (event.getReason() == ProfileEvent.CHANGED)
- getRepository().addInstallableUnits(new IInstallableUnit[] {(IInstallableUnit) generatedIUs.get(event.getProfileId())});
- return;
- } else if (o instanceof RollbackOperationEvent) {
- RollbackOperationEvent event = (RollbackOperationEvent) o;
- generatedIUs.remove(event.getProfile().getProfileId());
- return;
- }
- //TODO We need to decide what to do on profile removal
- // else if (o instanceof ProfileEvent) {
- // ProfileEvent pe = (ProfileEvent) o;
- // if (pe.getReason() == ProfileEvent.REMOVED) {
- // profileRegistries.remove(pe.getProfile().getProfileId());
- // persist();
- // }
- // }
- }
-
- });
- }
-
- IMetadataRepository getRepository() {
- IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(DirectorActivator.context, IMetadataRepositoryManager.class.getName());
- try {
- return manager.loadRepository(location, null);
- } catch (ProvisionException e) {
- //fall through and create a new repository
- }
- try {
- Map properties = new HashMap(1);
- properties.put(IRepository.PROP_SYSTEM, Boolean.TRUE.toString());
- return manager.createRepository(location, "Agent rollback repository", IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, properties); //$NON-NLS-1$
- } catch (ProvisionException e) {
- LogHelper.log(e);
- }
- throw new IllegalStateException("Unable to open or create Agent's rollback repository"); //$NON-NLS-1$
- }
-
- public static IInstallableUnit profileToIU(IProfile profile) {
- InstallableUnitDescription result = new MetadataFactory.InstallableUnitDescription();
- result.setProperty(IInstallableUnit.PROP_TYPE_PROFILE, Boolean.TRUE.toString());
- result.setId(profile.getProfileId());
- result.setVersion(new Version(0, 0, 0, Long.toString(uniqueTimestamp())));
- result.setRequiredCapabilities(IUTransformationHelper.toRequirements(profile.query(InstallableUnitQuery.ANY, new Collector(), null).iterator(), false));
- // Save the profile properties
- // TODO we aren't marking these properties in any special way to indicate they came from profile properties. Should we?
- Map properties = profile.getProperties();
- Iterator iter = properties.keySet().iterator();
- while (iter.hasNext()) {
- String key = (String) iter.next();
- result.setProperty(key, (String) properties.get(key));
- }
- // Save the IU profile properties
- Iterator allIUs = profile.query(InstallableUnitQuery.ANY, new Collector(), null).iterator();
- while (allIUs.hasNext()) {
- IInstallableUnit iu = (IInstallableUnit) allIUs.next();
- properties = profile.getInstallableUnitProperties(iu);
- iter = properties.keySet().iterator();
- while (iter.hasNext()) {
- String key = (String) iter.next();
- result.setProperty(IUPROP_PREFIX + iu.getId() + IUPROP_POSTFIX + key, (String) properties.get(key));
- }
- }
- return MetadataFactory.createInstallableUnit(result);
- }
-
- public static IProfile IUToProfile(IInstallableUnit profileIU, IProfile profile, ProvisioningContext context, IProgressMonitor monitor) throws ProvisionException {
- try {
- return new FormerStateProfile(profileIU, profile, context);
- } finally {
- if (monitor != null)
- monitor.done();
- }
- }
-
- public static ProfileChangeRequest generateProfileDeltaChangeRequest(IProfile current, IProfile target) {
- ProfileChangeRequest request = new ProfileChangeRequest(current);
-
- synchronizeProfileProperties(request, current, target);
- synchronizeMarkedIUs(request, current, target);
- synchronizeAllIUProperties(request, current, target);
-
- return request;
- }
-
- private static void synchronizeAllIUProperties(ProfileChangeRequest request, IProfile current, IProfile target) {
- Collection currentIUs = current.query(InstallableUnitQuery.ANY, new Collector(), null).toCollection();
- Collection targetIUs = target.query(InstallableUnitQuery.ANY, new Collector(), null).toCollection();
- List iusToAdd = new ArrayList(targetIUs);
- iusToAdd.remove(currentIUs);
-
- //additions
- for (Iterator iterator = iusToAdd.iterator(); iterator.hasNext();) {
- IInstallableUnit iu = (IInstallableUnit) iterator.next();
- for (Iterator it = target.getInstallableUnitProperties(iu).entrySet().iterator(); it.hasNext();) {
- Entry entry = (Entry) it.next();
- String key = (String) entry.getKey();
- String value = (String) entry.getValue();
- request.setInstallableUnitProfileProperty(iu, key, value);
- }
- }
-
- // updates
- List iusToUpdate = new ArrayList(targetIUs);
- iusToUpdate.remove(iusToAdd);
- for (Iterator iterator = iusToUpdate.iterator(); iterator.hasNext();) {
- IInstallableUnit iu = (IInstallableUnit) iterator.next();
- Map propertiesToSet = new HashMap(target.getInstallableUnitProperties(iu));
- for (Iterator it = current.getInstallableUnitProperties(iu).entrySet().iterator(); it.hasNext();) {
- Entry entry = (Entry) it.next();
- String key = (String) entry.getKey();
- String newValue = (String) propertiesToSet.get(key);
- if (newValue == null) {
- request.removeInstallableUnitProfileProperty(iu, key);
- } else if (newValue.equals(entry.getValue()))
- propertiesToSet.remove(key);
- }
-
- for (Iterator it = propertiesToSet.entrySet().iterator(); it.hasNext();) {
- Entry entry = (Entry) it.next();
- String key = (String) entry.getKey();
- String value = (String) entry.getValue();
- request.setInstallableUnitProfileProperty(iu, key, value);
- }
- }
- }
-
- private static void synchronizeMarkedIUs(ProfileChangeRequest request, IProfile current, IProfile target) {
- IInstallableUnit[] currentPlannerMarkedIUs = SimplePlanner.findPlannerMarkedIUs(current);
- IInstallableUnit[] targetPlannerMarkedIUs = SimplePlanner.findPlannerMarkedIUs(target);
-
- //additions
- List markedIUsToAdd = new ArrayList(Arrays.asList(targetPlannerMarkedIUs));
- markedIUsToAdd.removeAll(Arrays.asList(currentPlannerMarkedIUs));
- request.addInstallableUnits((IInstallableUnit[]) markedIUsToAdd.toArray(new IInstallableUnit[markedIUsToAdd.size()]));
-
- // removes
- List markedIUsToRemove = new ArrayList(Arrays.asList(currentPlannerMarkedIUs));
- markedIUsToRemove.removeAll(Arrays.asList(targetPlannerMarkedIUs));
- request.removeInstallableUnits((IInstallableUnit[]) markedIUsToRemove.toArray(new IInstallableUnit[markedIUsToRemove.size()]));
- }
-
- private static void synchronizeProfileProperties(ProfileChangeRequest request, IProfile current, IProfile target) {
- Map profilePropertiesToSet = new HashMap(target.getProperties());
- for (Iterator it = current.getProperties().entrySet().iterator(); it.hasNext();) {
- Entry entry = (Entry) it.next();
- String key = (String) entry.getKey();
-
- String newValue = (String) profilePropertiesToSet.get(key);
- if (newValue == null) {
- request.removeProfileProperty(key);
- } else if (newValue.equals(entry.getValue()))
- profilePropertiesToSet.remove(key);
- }
-
- for (Iterator it = profilePropertiesToSet.entrySet().iterator(); it.hasNext();) {
- Entry entry = (Entry) it.next();
- String key = (String) entry.getKey();
- String value = (String) entry.getValue();
- request.setProfileProperty(key, value);
- }
- }
-
- public static class FormerStateProfile implements IProfile {
-
- private String profileId;
- private HashMap profileProperties = new HashMap();
- private HashMap iuProfileProperties = new HashMap();
- private Set ius = new HashSet();
-
- public FormerStateProfile(IInstallableUnit profileIU, IProfile profile, ProvisioningContext context) throws ProvisionException {
-
- String profileTypeProperty = profileIU.getProperty(IInstallableUnit.PROP_TYPE_PROFILE);
- if (profileTypeProperty == null || !Boolean.valueOf(profileTypeProperty).booleanValue())
- throw new ProvisionException(new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, "Not a profile type IU"));
-
- profileId = profileIU.getId();
- for (Iterator it = profileIU.getProperties().entrySet().iterator(); it.hasNext();) {
- Entry entry = (Entry) it.next();
- String key = (String) entry.getKey();
- if (key.startsWith(IUPROP_PREFIX)) {
- int postIndex = key.indexOf(FormerState.IUPROP_POSTFIX, FormerState.IUPROP_PREFIX.length());
- String iuId = key.substring(FormerState.IUPROP_PREFIX.length(), postIndex);
- Map iuProperties = (Map) iuProfileProperties.get(iuId);
- if (iuProperties == null) {
- iuProperties = new HashMap();
- iuProfileProperties.put(iuId, iuProperties);
- }
- String iuPropertyKey = key.substring(postIndex + FormerState.IUPROP_POSTFIX.length());
- iuProperties.put(iuPropertyKey, entry.getValue());
- } else {
- profileProperties.put(key, entry.getValue());
- }
- }
- profileProperties.remove(IInstallableUnit.PROP_TYPE_PROFILE);
-
- List extraIUs = new ArrayList(profile.available(InstallableUnitQuery.ANY, new Collector(), null).toCollection());
- extraIUs.add(profileIU);
-
- IInstallableUnit[] availableIUs = SimplePlanner.gatherAvailableInstallableUnits((IInstallableUnit[]) extraIUs.toArray(new IInstallableUnit[extraIUs.size()]), context.getMetadataRepositories(), context, new NullProgressMonitor());
-
- Dictionary snapshotSelectionContext = SimplePlanner.createSelectionContext(profileProperties);
- IInstallableUnit[] allIUs = new IInstallableUnit[] {profileIU};
- Slicer slicer = new Slicer(allIUs, availableIUs, snapshotSelectionContext);
- IQueryable slice = slicer.slice(allIUs, new NullProgressMonitor());
- if (slice == null)
- throw new ProvisionException(slicer.getStatus());
-
- Projector projector = new Projector(slice, snapshotSelectionContext);
- projector.encode(allIUs, new NullProgressMonitor());
- IStatus s = projector.invokeSolver(new NullProgressMonitor());
-
- if (s.getSeverity() == IStatus.ERROR) {
- //log the error from the new solver so it is not lost
- LogHelper.log(s);
- if (!"true".equalsIgnoreCase(context == null ? null : context.getProperty("org.eclipse.equinox.p2.disable.error.reporting"))) {
- //We invoke the old resolver to get explanations for now
- IStatus oldResolverStatus = new NewDependencyExpander(allIUs, null, availableIUs, snapshotSelectionContext, false).expand(new NullProgressMonitor());
- if (!oldResolverStatus.isOK())
- s = oldResolverStatus;
- }
- throw new ProvisionException(s);
- }
- ius.addAll(projector.extractSolution());
- ius.remove(profileIU);
- }
-
- public Map getInstallableUnitProperties(IInstallableUnit iu) {
- Map iuProperties = (Map) iuProfileProperties.get(iu.getId());
- if (iuProperties == null) {
- return Collections.EMPTY_MAP;
- }
- return Collections.unmodifiableMap(iuProperties);
- }
-
- public String getInstallableUnitProperty(IInstallableUnit iu, String key) {
- return (String) getInstallableUnitProperties(iu).get(key);
- }
-
- public Map getLocalProperties() {
- return Collections.unmodifiableMap(profileProperties);
- }
-
- public String getLocalProperty(String key) {
- return (String) profileProperties.get(key);
- }
-
- public IProfile getParentProfile() {
- return null;
- }
-
- public String getProfileId() {
- return profileId;
- }
-
- public Map getProperties() {
- return Collections.unmodifiableMap(profileProperties);
- }
-
- public String getProperty(String key) {
- return (String) profileProperties.get(key);
- }
-
- public String[] getSubProfileIds() {
- return null;
- }
-
- public long getTimestamp() {
- return 0;
- }
-
- public boolean hasSubProfiles() {
- return false;
- }
-
- public boolean isRootProfile() {
- return true;
- }
-
- public Collector query(Query query, Collector collector, IProgressMonitor monitor) {
- return query.perform(ius.iterator(), collector);
- }
-
- public Collector available(Query query, Collector collector, IProgressMonitor monitor) {
- return query(query, collector, monitor);
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/IDirector.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/IDirector.java
deleted file mode 100644
index ce844ed..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/IDirector.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.director;
-
-import java.net.URL;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningContext;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-
-/**
- * Directors are responsible for determining what should be done to a given
- * profile to reshape it as requested. That is, given the current state of a
- * profile, a description of the desired end state of that profile and metadata
- * describing the available IUs, a director produces a list of provisioning
- * operations (e.g., install, update or uninstall) to perform on the related IUs.
- * Directors are also able to validate profiles and assist in the diagnosis of
- * configuration errors. Note that directors may range in complexity from
- * very simple (e.g., reading a list of bundles from a static file) to very complex.
- */
-public interface IDirector {
-
- /**
- * performs the change request with the given context.
- *
- * @param profileChangeRequest The change request
- * @param context The provisioning context used for finding resources
- * @param monitor a progress monitor, or <code>null</code> if progress
- * reporting is not desired
- */
- public IStatus provision(ProfileChangeRequest profileChangeRequest, ProvisioningContext context, IProgressMonitor monitor);
-
- /**
- * Reverts the profile to a previous state described in the give InstallableUnit.
- *
- * @param previous The installable unit that describes the previous state of the profile
- * @param profile The profile to revert
- * @param context The provisioning context used for finding resources
- * @param monitor a progress monitor, or <code>null</code> if progress
- * reporting is not desired
- */
- public IStatus revert(IInstallableUnit previous, IProfile profile, ProvisioningContext context, IProgressMonitor monitor);
-
- /**
- * Returns the location of the director's rollback repository, where information about
- * previous profile states is stored.
- */
- public URL getRollbackRepositoryLocation();
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/IPlanner.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/IPlanner.java
deleted file mode 100644
index ab5fba4..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/IPlanner.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.director;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningContext;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-
-/**
- * Planners are responsible for determining what should be done to a given
- * profile to reshape it as requested. That is, given the current state of a
- * profile, a description of the desired end state of that profile and metadata
- * describing the available IUs, a planner produces a plan that lists the
- * provisioning operands that the engine should perform.
- */
-public interface IPlanner {
- public ProvisioningPlan getProvisioningPlan(ProfileChangeRequest profileChangeRequest, ProvisioningContext context, IProgressMonitor monitor);
-
- public ProvisioningPlan getRevertPlan(IInstallableUnit profileSnapshot, ProvisioningContext context, IProgressMonitor monitor);
-
- public IInstallableUnit[] updatesFor(IInstallableUnit toUpdate, ProvisioningContext context, IProgressMonitor monitor);
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/IUProfilePropertyQuery.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/IUProfilePropertyQuery.java
deleted file mode 100644
index fc36cec..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/IUProfilePropertyQuery.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.director;
-
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.IUPropertyQuery;
-
-/**
- * A query that searches for {@link IInstallableUnit} instances that have
- * a property associated with the specified profile, whose value matches the provided value.
- */
-public class IUProfilePropertyQuery extends IUPropertyQuery {
- private IProfile profile;
-
- /**
- * Creates a new query on the given property name and value.
- * Because the queryable for this query is typically the profile
- * instance, we use a reference to the profile rather than the
- * profile id for performance reasons.
- */
- public IUProfilePropertyQuery(IProfile profile, String propertyName, String propertyValue) {
- super(propertyName, propertyValue);
- this.profile = profile;
- }
-
- protected String getProperty(IInstallableUnit iu, String name) {
- return profile.getInstallableUnitProperty(iu, name);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/PlannerHelper.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/PlannerHelper.java
deleted file mode 100644
index 2acc9b8..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/PlannerHelper.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.director;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-
-public class PlannerHelper {
- public static String createOptionalInclusionRule(IInstallableUnit iu) {
- return "OPTIONAL";
- }
-
- public static String createStrictInclusionRule(IInstallableUnit iu) {
- return "STRICT";
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/ProfileChangeRequest.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/ProfileChangeRequest.java
deleted file mode 100644
index 74ab2c2..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/ProfileChangeRequest.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.director;
-
-import java.util.*;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.director.DirectorActivator;
-import org.eclipse.equinox.internal.p2.director.SimplePlanner;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfileRegistry;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-
-public class ProfileChangeRequest {
-
- private final IProfile profile;
- private ArrayList iusToRemove = null; // list of ius to remove
- private ArrayList iusToAdd = null; // list of ius to add
- private ArrayList propertiesToRemove = null; // list of keys for properties to be removed
- private HashMap propertiesToAdd = null; // map of key->value for properties to be added
- private Map iuPropertiesToAdd = null; // map iu->map of key->value pairs for properties to be added for an iu
- private Map iuPropertiesToRemove = null; // map of iu->list of property keys to be removed for an iu
-
- public static ProfileChangeRequest createByProfileId(String profileId) {
- IProfileRegistry profileRegistry = (IProfileRegistry) ServiceHelper.getService(DirectorActivator.context, IProfileRegistry.class.getName());
- if (profileRegistry == null)
- throw new IllegalStateException("ProfileRegistry unavailable");
- IProfile profile = profileRegistry.getProfile(profileId);
- if (profile == null)
- throw new IllegalArgumentException("Profile id " + profileId + " is not registered.");
- return new ProfileChangeRequest(profile);
- }
-
- public ProfileChangeRequest(IProfile profile) {
- if (profile == null)
- throw new IllegalArgumentException("Profile cannot be null.");
- this.profile = profile;
- }
-
- public IProfile getProfile() {
- return profile;
- }
-
- public Map getProfileProperties() {
- Map result = new HashMap(profile.getProperties());
- if (propertiesToRemove != null) {
- for (Iterator it = propertiesToRemove.iterator(); it.hasNext();) {
- result.remove(it.next());
- }
- }
- if (propertiesToAdd != null)
- result.putAll(propertiesToAdd);
-
- return result;
- }
-
- public String getProfileProperty(String key) {
- return (String) getProfileProperties().get(key);
- }
-
- public void addInstallableUnits(IInstallableUnit[] toInstall) {
- if (iusToAdd == null)
- iusToAdd = new ArrayList(toInstall.length);
- for (int i = 0; i < toInstall.length; i++)
- iusToAdd.add(toInstall[i]);
- }
-
- public void removeInstallableUnits(IInstallableUnit[] toUninstall) {
- if (iusToRemove == null)
- iusToRemove = new ArrayList(toUninstall.length);
- for (int i = 0; i < toUninstall.length; i++)
- iusToRemove.add(toUninstall[i]);
- }
-
- public void setProfileProperty(String key, Object value) {
- if (propertiesToAdd == null)
- propertiesToAdd = new HashMap();
- propertiesToAdd.put(key, value);
- }
-
- public void removeProfileProperty(String key) {
- if (propertiesToRemove == null)
- propertiesToRemove = new ArrayList(1);
- propertiesToRemove.add(key);
- }
-
- public void setInstallableUnitProfileProperty(IInstallableUnit iu, String key, Object value) {
- if (iuPropertiesToAdd == null)
- iuPropertiesToAdd = new HashMap();
- Map properties = (Map) iuPropertiesToAdd.get(iu);
- if (properties == null) {
- properties = new HashMap();
- iuPropertiesToAdd.put(iu, properties);
- }
- properties.put(key, value);
- }
-
- public void removeInstallableUnitProfileProperty(IInstallableUnit iu, String key) {
- if (iuPropertiesToRemove == null)
- iuPropertiesToRemove = new HashMap();
- List keys = (List) iuPropertiesToRemove.get(iu);
- if (keys == null) {
- keys = new ArrayList();
- iuPropertiesToRemove.put(iu, keys);
- }
- keys.add(key);
- }
-
- public IInstallableUnit[] getRemovedInstallableUnits() {
- if (iusToRemove == null)
- return new IInstallableUnit[0];
- return (IInstallableUnit[]) iusToRemove.toArray(new IInstallableUnit[iusToRemove.size()]);
- }
-
- public IInstallableUnit[] getAddedInstallableUnits() {
- if (iusToAdd == null)
- return new IInstallableUnit[0];
- return (IInstallableUnit[]) iusToAdd.toArray(new IInstallableUnit[iusToAdd.size()]);
- }
-
- // String [key, key, key] names of properties to remove
- public String[] getPropertiesToRemove() {
- if (propertiesToRemove == null)
- return new String[0];
- return (String[]) propertiesToRemove.toArray(new String[propertiesToRemove.size()]);
- }
-
- // map of key value pairs
- public Map getPropertiesToAdd() {
- if (propertiesToAdd == null)
- return new HashMap();
- return propertiesToAdd;
- }
-
- // map of iu->list of property keys to be removed for an iu
- public Map getInstallableUnitProfilePropertiesToRemove() {
- if (iuPropertiesToRemove == null)
- return new HashMap();
- return iuPropertiesToRemove;
- }
-
- // TODO This can be represented and returned in whatever way makes most sense for planner/engine
- // map iu->map of key->value pairs for properties to be added for an iu
- public Map getInstallableUnitProfilePropertiesToAdd() {
- if (iuPropertiesToAdd == null)
- return new HashMap();
- return iuPropertiesToAdd;
- }
-
- public void setInstallableUnitInclusionRules(IInstallableUnit iu, String value) {
- if (iuPropertiesToAdd == null)
- iuPropertiesToAdd = new HashMap();
- Map properties = (Map) iuPropertiesToAdd.get(iu);
- if (properties == null) {
- properties = new HashMap();
- iuPropertiesToAdd.put(iu, properties);
- }
- properties.put(SimplePlanner.INCLUSION_RULES, value);
- }
-
- public void removeInstallableUnitInclusionRules(IInstallableUnit iu) {
- if (iuPropertiesToRemove == null)
- iuPropertiesToRemove = new HashMap();
- List keys = (List) iuPropertiesToRemove.get(iu);
- if (keys == null) {
- keys = new ArrayList();
- iuPropertiesToRemove.put(iu, keys);
- }
- keys.add(SimplePlanner.INCLUSION_RULES);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/ProvisioningPlan.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/ProvisioningPlan.java
deleted file mode 100644
index 4ba2477..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/ProvisioningPlan.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.director;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.engine.Operand;
-
-public class ProvisioningPlan {
- private IStatus status;
- private Operand[] operands;
-
- public ProvisioningPlan(IStatus status) {
- this(status, new Operand[0]);
- }
-
- public ProvisioningPlan(IStatus status, Operand[] operands) {
- this.status = status;
- this.operands = operands;
- }
-
- public IStatus getStatus() {
- return status;
- }
-
- /**
- * The operands to pass to the engine.
- * @return the operands to be executed. This may be an empty array if the
- * plan has errors or if there is nothing to do.
- */
- public Operand[] getOperands() {
- return operands;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/.classpath b/bundles/org.eclipse.equinox.p2.directorywatcher/.classpath
deleted file mode 100644
index ce0c7a5..0000000
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.0%Foundation-1.0"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/.project b/bundles/org.eclipse.equinox.p2.directorywatcher/.project
deleted file mode 100644
index b26a90d..0000000
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.equinox.p2.directorywatcher</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.directorywatcher/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 78523cd..0000000
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,331 +0,0 @@
-#Thu Aug 16 11:00:59 EDT 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.directorywatcher/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 1546d82..0000000
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,58 +0,0 @@
-#Tue Aug 21 11:27:48 CDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-internal.default.compliance=user
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=99
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.directorywatcher/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 6904bd9..0000000
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Sat Aug 11 20:17:52 EDT 2007
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.directorywatcher/META-INF/MANIFEST.MF
deleted file mode 100644
index c118e81..0000000
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,30 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.directorywatcher;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 1.0.2.qualifier
-Import-Package: org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.p2.metadata.generator.features,
- org.eclipse.equinox.internal.provisional.p2.artifact.repository,
- org.eclipse.equinox.internal.provisional.p2.core,
- org.eclipse.equinox.internal.provisional.p2.core.eventbus,
- org.eclipse.equinox.internal.provisional.p2.core.repository,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.internal.provisional.p2.metadata.generator,
- org.eclipse.equinox.internal.provisional.p2.metadata.query,
- org.eclipse.equinox.internal.provisional.p2.metadata.repository,
- org.eclipse.equinox.internal.provisional.p2.query,
- org.eclipse.osgi.service.resolver;version="1.1.0",
- org.eclipse.osgi.util,
- org.osgi.framework;version="1.4.0",
- org.osgi.service.cm;version="1.2.0";resolution:=optional,
- org.osgi.service.packageadmin;version="1.2.0",
- org.osgi.util.tracker;version="1.3.0"
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,
- J2SE-1.3
-Export-Package: org.eclipse.equinox.internal.provisional.p2.directorywatcher;x-friends:="org.eclipse.equinox.p2.reconciler.dropins,org.eclipse.equinox.p2.extensionlocation"
-Require-Bundle: org.eclipse.equinox.common;bundle-version="[3.3.0,4.0)"
-Bundle-Activator: org.eclipse.equinox.internal.provisional.p2.directorywatcher.Activator
-Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/about.html b/bundles/org.eclipse.equinox.p2.directorywatcher/about.html
deleted file mode 100644
index d62785d..0000000
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/about.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 2, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
- <h3>Third Party Content</h3>
- <p>The Content includes items that have been sourced from third parties as set out below. If you
- did not receive this Content directly from the Eclipse Foundation, the following is provided
- for informational purposes only, and you should look to the Redistributor's license for
- terms and conditions of use.</p>
-
- <h4>FileInstall 1.0</h4>
- <p>The bundle includes derivative works of software originally developed by Peter Kriens (aQute).
- That original work was licensed under the EPL v1.0 and this derivative work is similarly licensed.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/build.properties b/bundles/org.eclipse.equinox.p2.directorywatcher/build.properties
deleted file mode 100644
index dc77b9c..0000000
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- about.html,\
- plugin.properties
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/plugin.properties b/bundles/org.eclipse.equinox.p2.directorywatcher/plugin.properties
deleted file mode 100644
index 7db69f3..0000000
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Equinox Provisioning Directory Watcher
-providerName = Eclipse.org
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/Activator.java b/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/Activator.java
deleted file mode 100644
index e3bf2c4..0000000
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/Activator.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.directorywatcher;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-/**
- * Bundle activator for directory watcher bundle.
- */
-public class Activator implements BundleActivator {
- public static final String ID = "org.eclipse.equinox.p2.directorywatcher"; //$NON-NLS-1$
-
- private static BundleContext context;
-
- public static BundleContext getContext() {
- return context;
- }
-
- /* (non-Javadoc)
- * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
- */
- public void start(BundleContext aContext) throws Exception {
- context = aContext;
- }
-
- /* (non-Javadoc)
- * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
- */
- public void stop(BundleContext aContext) throws Exception {
- context = null;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/DirectoryChangeListener.java b/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/DirectoryChangeListener.java
deleted file mode 100644
index 295d1b6..0000000
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/DirectoryChangeListener.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial implementation and ideas
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.directorywatcher;
-
-import java.io.File;
-
-/*
- * Abstract class which contains stub methods. Sub-classes to over-ride
- * methods which they are interested in.
- */
-public abstract class DirectoryChangeListener {
-
- public void startPoll() {
- // do nothing
- }
-
- public void stopPoll() {
- // do nothing
- }
-
- public boolean isInterested(File file) {
- return false;
- }
-
- public boolean added(File file) {
- return false;
- }
-
- public boolean removed(File file) {
- return false;
- }
-
- public boolean changed(File file) {
- return false;
- }
-
- public Long getSeenFile(File file) {
- return null;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/DirectoryWatcher.java b/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/DirectoryWatcher.java
deleted file mode 100644
index 9cbd6ef..0000000
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/DirectoryWatcher.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 aQute, IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * aQute - initial implementation and ideas
- * IBM Corporation - initial adaptation to Equinox provisioning use
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.directorywatcher;
-
-import java.io.File;
-import java.util.*;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.BundleContext;
-
-public class DirectoryWatcher {
- private static final String DEL_EXT = ".del"; //$NON-NLS-1$
-
- public class WatcherThread extends Thread {
-
- private final long pollFrequency;
- private boolean done = false;
-
- public WatcherThread(long pollFrequency) {
- super("Directory Watcher"); //$NON-NLS-1$
- this.pollFrequency = pollFrequency;
- }
-
- public void run() {
- do {
- try {
- poll();
- synchronized (this) {
- wait(pollFrequency);
- }
- } catch (InterruptedException e) {
- // ignore
- } catch (Throwable e) {
- log(Messages.error_main_loop, e);
- done = true;
- }
- } while (!done);
- }
-
- public synchronized void done() {
- done = true;
- notify();
- }
- }
-
- public final static String POLL = "eclipse.p2.directory.watcher.poll"; //$NON-NLS-1$
- public final static String DIR = "eclipse.p2.directory.watcher.dir"; //$NON-NLS-1$
- private static final long DEFAULT_POLL_FREQUENCY = 2000;
-
- public static void log(String string, Throwable e) {
- System.err.println(string + ": " + e); //$NON-NLS-1$
- }
-
- final File[] directories;
-
- long poll = 2000;
- private Set listeners = new HashSet();
- private HashSet scannedFiles = new HashSet();
- private HashSet removals;
- private Set pendingDeletions;
- private WatcherThread watcher;
-
- public DirectoryWatcher(Dictionary properties, BundleContext context) {
- String dir = (String) properties.get(DIR);
- if (dir == null)
- dir = "./load"; //$NON-NLS-1$
-
- File targetDirectory = new File(dir);
- targetDirectory.mkdirs();
- directories = new File[] {targetDirectory};
- }
-
- public DirectoryWatcher(File directory) {
- if (directory == null)
- throw new IllegalArgumentException(Messages.null_folder);
-
- this.directories = new File[] {directory};
- }
-
- public DirectoryWatcher(File[] directories) {
- if (directories == null)
- throw new IllegalArgumentException(Messages.null_folder);
- this.directories = directories;
- }
-
- public synchronized void addListener(DirectoryChangeListener listener) {
- listeners.add(listener);
- }
-
- public synchronized void removeListener(DirectoryChangeListener listener) {
- listeners.remove(listener);
- }
-
- public void start() {
- start(DEFAULT_POLL_FREQUENCY);
- }
-
- public synchronized void poll() {
- startPoll();
- scanDirectories();
- stopPoll();
- }
-
- public synchronized void start(final long pollFrequency) {
- if (watcher != null)
- throw new IllegalStateException(Messages.thread_started);
-
- watcher = new WatcherThread(pollFrequency);
- watcher.start();
- }
-
- public synchronized void stop() {
- if (watcher == null)
- throw new IllegalStateException(Messages.thread_not_started);
-
- watcher.done();
- watcher = null;
- }
-
- public File[] getDirectories() {
- return directories;
- }
-
- private void startPoll() {
- removals = scannedFiles;
- scannedFiles = new HashSet();
- pendingDeletions = new HashSet();
- for (Iterator i = listeners.iterator(); i.hasNext();)
- ((DirectoryChangeListener) i.next()).startPoll();
- }
-
- private void scanDirectories() {
- for (int index = 0; index < directories.length; index++) {
- File directory = directories[index];
- File list[] = directory.listFiles();
- if (list == null)
- continue;
- for (int i = 0; i < list.length; i++) {
- File file = list[i];
- // if this is a deletion marker then add to the list of pending deletions.
- if (list[i].getPath().endsWith(DEL_EXT)) {
- File target = new File(file.getPath().substring(0, file.getPath().length() - 4));
- removals.add(target);
- pendingDeletions.add(target);
- } else {
- // else remember that we saw the file and remove it from this list of files to be
- // removed at the end. Then notify all the listeners as needed.
- scannedFiles.add(file);
- removals.remove(file);
- for (Iterator iterator = listeners.iterator(); iterator.hasNext();) {
- DirectoryChangeListener listener = (DirectoryChangeListener) iterator.next();
- if (isInterested(listener, file))
- processFile(file, listener);
- }
- }
- }
- }
- }
-
- private void stopPoll() {
- notifyRemovals();
- removals = scannedFiles;
- for (Iterator i = listeners.iterator(); i.hasNext();)
- ((DirectoryChangeListener) i.next()).stopPoll();
- processPendingDeletions();
- }
-
- private boolean isInterested(DirectoryChangeListener listener, File file) {
- return listener.isInterested(file);
- }
-
- /**
- * Notify the listeners of the files that have been deleted or marked for deletion.
- */
- private void notifyRemovals() {
- Set removed = removals;
- for (Iterator i = listeners.iterator(); i.hasNext();) {
- DirectoryChangeListener listener = (DirectoryChangeListener) i.next();
- for (Iterator j = removed.iterator(); j.hasNext();) {
- File file = (File) j.next();
- if (isInterested(listener, file))
- listener.removed(file);
- }
- }
- }
-
- private void processFile(File file, DirectoryChangeListener listener) {
- try {
- Long oldTimestamp = listener.getSeenFile(file);
- if (oldTimestamp == null) {
- // The file is new
- listener.added(file);
- } else {
- // The file is not new but may have changed
- long lastModified = file.lastModified();
- if (oldTimestamp.longValue() != lastModified)
- listener.changed(file);
- }
- } catch (Exception e) {
- log(NLS.bind(Messages.error_processing, listener), e);
- }
- }
-
- /**
- * Try to remove the files that have been marked for deletion.
- */
- private void processPendingDeletions() {
- for (Iterator iterator = pendingDeletions.iterator(); iterator.hasNext();) {
- File file = (File) iterator.next();
- if (!file.exists() || file.delete())
- iterator.remove();
- new File(file.getPath() + DEL_EXT).delete();
- }
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/Messages.java b/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/Messages.java
deleted file mode 100644
index 1c5ded9..0000000
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/Messages.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package org.eclipse.equinox.internal.provisional.p2.directorywatcher;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.provisional.p2.directorywatcher.messages"; //$NON-NLS-1$
- public static String artifact_repo_manager_not_registered;
- public static String error_main_loop;
- public static String error_processing;
- public static String failed_create_artifact_repo;
- public static String failed_create_metadata_repo;
- public static String metadata_repo_manager_not_registered;
- public static String multiple_bundle_ius;
- public static String null_folder;
- public static String platformadmin_not_registered;
- public static String thread_not_started;
- public static String thread_started;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- //
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/RepositoryListener.java b/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/RepositoryListener.java
deleted file mode 100644
index 04132b7..0000000
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/RepositoryListener.java
+++ /dev/null
@@ -1,441 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved.
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial implementation and ideas
- ******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.directorywatcher;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.metadata.generator.features.FeatureParser;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.RepositoryEvent;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.query.Query;
-import org.eclipse.osgi.service.resolver.*;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-
-public class RepositoryListener extends DirectoryChangeListener {
- private static final String ARTIFACT_FOLDER = "artifact.folder"; //$NON-NLS-1$
- private static final String ARTIFACT_REFERENCE = "artifact.reference"; //$NON-NLS-1$
- private static final String FILE_LAST_MODIFIED = "file.lastModified"; //$NON-NLS-1$
- private static final String FILE_NAME = "file.name"; //$NON-NLS-1$
- private final IMetadataRepository metadataRepository;
- private final IArtifactRepository artifactRepository;
- private final BundleDescriptionFactory bundleDescriptionFactory;
- private final Map currentFiles = new HashMap();
-
- private Collection polledSeenFiles = new HashSet();
- private Collection polledIUsToAdd = new ArrayList();
- private Collection polledArtifactsToAdd = new ArrayList();
-
- /**
- * Create a repository listener that watches the specified folder and generates repositories
- * for its content.
- * @param context the bundle context
- * @param repositoryName the repository name to use for the repository
- * @param repositoryFolder the target folder for the repository, or <code>null</code> if a folder based on the
- * bundle's data location should be used.
- * @param hidden <code>true</code> if the repository should be hidden, <code>false</code> if not.
- */
- public RepositoryListener(BundleContext context, String repositoryName, File repositoryFolder, boolean hidden) {
- File stateDir;
- if (repositoryFolder == null) {
- String stateDirName = "listener_" + repositoryName.hashCode(); //$NON-NLS-1$
- stateDir = context.getDataFile(stateDirName);
- stateDir.mkdirs();
- } else {
- stateDir = repositoryFolder;
- }
-
- URL stateDirURL;
- try {
- stateDirURL = stateDir.toURL();
- } catch (MalformedURLException e) {
- throw new IllegalStateException(e.getMessage());
- }
-
- metadataRepository = initializeMetadataRepository(context, repositoryName, stateDirURL, hidden);
- artifactRepository = initializeArtifactRepository(context, repositoryName, stateDirURL, hidden);
- bundleDescriptionFactory = initializeBundleDescriptionFactory(context);
- synchronizeCurrentFiles();
- }
-
- public RepositoryListener(BundleContext context, IMetadataRepository metadataRepository, IArtifactRepository artifactRepository) {
- this.artifactRepository = artifactRepository;
- this.metadataRepository = metadataRepository;
- bundleDescriptionFactory = initializeBundleDescriptionFactory(context);
- synchronizeCurrentFiles();
- }
-
- /**
- * Broadcast events for any discovery sites associated with the feature
- * so the repository managers add them to their list of known repositories.
- */
- private void publishSites(Feature feature) {
- IProvisioningEventBus bus = (IProvisioningEventBus) ServiceHelper.getService(Activator.getContext(), IProvisioningEventBus.SERVICE_NAME);
- if (bus == null)
- return;
- URLEntry[] discoverySites = feature.getDiscoverySites();
- for (int i = 0; i < discoverySites.length; i++)
- publishSite(feature, bus, discoverySites[i].getURL(), false);
- String updateSite = feature.getUpdateSiteURL();
- if (updateSite != null)
- publishSite(feature, bus, updateSite, true);
- }
-
- /**
- * Broadcast a discovery event for the given repository location.
- */
- private void publishSite(Feature feature, IProvisioningEventBus bus, String locationString, boolean isEnabled) {
- try {
- URL location = new URL(locationString);
- bus.publishEvent(new RepositoryEvent(location, IRepository.TYPE_METADATA, RepositoryEvent.DISCOVERED, isEnabled));
- bus.publishEvent(new RepositoryEvent(location, IRepository.TYPE_ARTIFACT, RepositoryEvent.DISCOVERED, isEnabled));
- } catch (MalformedURLException e) {
- LogHelper.log(new Status(IStatus.WARNING, Activator.ID, "Feature references invalid site: " + feature.getId(), e)); //$NON-NLS-1$
- }
- }
-
- private BundleDescriptionFactory initializeBundleDescriptionFactory(BundleContext context) {
- ServiceReference reference = context.getServiceReference(PlatformAdmin.class.getName());
- if (reference == null)
- throw new IllegalStateException(Messages.platformadmin_not_registered);
- PlatformAdmin platformAdmin = (PlatformAdmin) context.getService(reference);
- if (platformAdmin == null)
- throw new IllegalStateException(Messages.platformadmin_not_registered);
-
- try {
- StateObjectFactory stateObjectFactory = platformAdmin.getFactory();
- return new BundleDescriptionFactory(stateObjectFactory, null);
- } finally {
- context.ungetService(reference);
- }
- }
-
- private IArtifactRepository initializeArtifactRepository(BundleContext context, String repositoryName, URL stateDirURL, boolean hidden) {
- ServiceReference reference = context.getServiceReference(IArtifactRepositoryManager.class.getName());
- IArtifactRepositoryManager manager = null;
- if (reference != null)
- manager = (IArtifactRepositoryManager) context.getService(reference);
- if (manager == null)
- throw new IllegalStateException(Messages.artifact_repo_manager_not_registered);
-
- try {
- try {
- return manager.loadRepository(stateDirURL, null);
- } catch (ProvisionException e) {
- //fall through and create a new repository
- }
- try {
- String name = repositoryName;
- Map properties = new HashMap(1);
- if (hidden) {
- properties.put(IRepository.PROP_SYSTEM, Boolean.TRUE.toString());
- name = "artifact listener " + repositoryName; //$NON-NLS-1$
- }
- return manager.createRepository(stateDirURL, name, IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, properties);
- } catch (ProvisionException e) {
- LogHelper.log(e);
- throw new IllegalStateException(NLS.bind(Messages.failed_create_artifact_repo, stateDirURL));
- }
- } finally {
- context.ungetService(reference);
- }
- }
-
- private IMetadataRepository initializeMetadataRepository(BundleContext context, String repositoryName, URL stateDirURL, boolean hidden) {
- ServiceReference reference = context.getServiceReference(IMetadataRepositoryManager.class.getName());
- IMetadataRepositoryManager manager = null;
- if (reference != null)
- manager = (IMetadataRepositoryManager) context.getService(reference);
- if (manager == null)
- throw new IllegalStateException(Messages.metadata_repo_manager_not_registered);
-
- try {
- try {
- return manager.loadRepository(stateDirURL, null);
- } catch (ProvisionException e) {
- //fall through and create new repository
- }
- String name = repositoryName;
- Map properties = new HashMap(1);
- if (hidden) {
- properties.put(IRepository.PROP_SYSTEM, Boolean.TRUE.toString());
- name = "metadata listener " + repositoryName; //$NON-NLS-1$
- }
- return manager.createRepository(stateDirURL, name, IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, properties);
- } catch (ProvisionException e) {
- LogHelper.log(e);
- throw new IllegalStateException(NLS.bind(Messages.failed_create_metadata_repo, stateDirURL));
- } finally {
- context.ungetService(reference);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.directorywatcher.IDirectoryChangeListener#added(java.io.File)
- */
- public boolean added(File file) {
- return process(file);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.directorywatcher.IDirectoryChangeListener#changed(java.io.File)
- */
- public boolean changed(File file) {
- // this sequence will trigger removal and then addition during stopPoll
- polledSeenFiles.remove(file);
- return process(file);
- }
-
- public boolean removed(File file) {
- // this file will get removed in stopPoll
- return currentFiles.containsKey(file);
- }
-
- private boolean process(File file) {
- boolean isDirectory = file.isDirectory();
- // is it a feature ?
- if (isDirectory && file.getParentFile() != null && file.getParentFile().getName().equals("features") && new File(file, "feature.xml").exists()) //$NON-NLS-1$ //$NON-NLS-2$)
- return processFeature(file);
-
- // is it a bundle ?
- if (isDirectory || file.getName().endsWith(".jar")) //$NON-NLS-1$
- return processBundle(file, isDirectory);
-
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.directorywatcher.IDirectoryChangeListener#removed(java.io.File)
- */
-
- private boolean processBundle(File file, boolean isDirectory) {
- BundleDescription bundleDescription = bundleDescriptionFactory.getBundleDescription(file);
- if (bundleDescription == null)
- return false;
-
- String fileName = file.getAbsolutePath();
- String lastModified = Long.toString(file.lastModified());
-
- // Add Bundle IU
- Properties props = new Properties();
- props.setProperty(FILE_NAME, fileName);
- props.setProperty(FILE_LAST_MODIFIED, lastModified);
-
- IArtifactKey key = MetadataGeneratorHelper.createBundleArtifactKey(bundleDescription.getSymbolicName(), bundleDescription.getVersion().toString());
- IInstallableUnit[] ius = MetadataGeneratorHelper.createEclipseIU(bundleDescription, (Map) bundleDescription.getUserObject(), isDirectory, key, props);
-
- // see bug 222370
- // we only want to return the bundle IU so must exclude all fragment IUs
- IInstallableUnit bundleIU = null;
- for (int i = 0; i < ius.length; i++) {
- if (!ius[i].isFragment()) {
- bundleIU = ius[i];
- break;
- }
- }
-
- if (bundleIU == null) {
- if (ius.length == 0)
- return false;
- throw new IllegalStateException(Messages.multiple_bundle_ius);
- }
- polledIUsToAdd.add(bundleIU);
-
- // Add Bundle Artifact
- ArtifactDescriptor descriptor = new ArtifactDescriptor(MetadataGeneratorHelper.createArtifactDescriptor(key, file, true, false));
- try {
- descriptor.setRepositoryProperty(ARTIFACT_REFERENCE, file.toURL().toExternalForm());
- } catch (MalformedURLException e) {
- // unexpected
- e.printStackTrace();
- return false;
- }
- if (isDirectory)
- descriptor.setRepositoryProperty(ARTIFACT_FOLDER, Boolean.TRUE.toString());
- descriptor.setRepositoryProperty(FILE_NAME, fileName);
- descriptor.setRepositoryProperty(FILE_LAST_MODIFIED, lastModified);
-
- polledArtifactsToAdd.add(descriptor);
- return true;
- }
-
- private boolean processFeature(File file) {
- FeatureParser parser = new FeatureParser();
- Feature feature = parser.parse(file);
- if (feature == null)
- return false;
-
- publishSites(feature);
-
- String fileName = file.getAbsolutePath();
- String lastModified = Long.toString(file.lastModified());
-
- // Add Feature IUs
- Properties props = new Properties();
- props.setProperty(FILE_NAME, fileName);
- props.setProperty(FILE_LAST_MODIFIED, lastModified);
-
- IInstallableUnit featureIU = MetadataGeneratorHelper.createFeatureJarIU(feature, true, props);
- IInstallableUnit groupIU = MetadataGeneratorHelper.createGroupIU(feature, featureIU, props);
-
- polledIUsToAdd.add(featureIU);
- polledIUsToAdd.add(groupIU);
-
- // Add Feature Artifact
- IArtifactKey featureKey = MetadataGeneratorHelper.createFeatureArtifactKey(feature.getId(), feature.getVersion());
- ArtifactDescriptor descriptor = new ArtifactDescriptor(featureKey);
-
- try {
- descriptor.setRepositoryProperty(ARTIFACT_REFERENCE, file.toURL().toExternalForm());
- } catch (MalformedURLException e) {
- // unexpected
- e.printStackTrace();
- return false;
- }
- descriptor.setRepositoryProperty(ARTIFACT_FOLDER, Boolean.TRUE.toString());
- descriptor.setRepositoryProperty(FILE_NAME, fileName);
- descriptor.setRepositoryProperty(FILE_LAST_MODIFIED, lastModified);
-
- polledArtifactsToAdd.add(descriptor);
- return true;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.directorywatcher.DirectoryChangeListener#isInterested(java.io.File)
- */
- public boolean isInterested(File file) {
- return true;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.directorywatcher.IDirectoryChangeListener#getSeenFile(java.io.File)
- */
- public Long getSeenFile(File file) {
- Long lastSeen = (Long) currentFiles.get(file);
- if (lastSeen != null)
- polledSeenFiles.add(file);
- return lastSeen;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.directorywatcher.IDirectoryChangeListener#startPoll()
- */
- public void startPoll() {
- // do nothing
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.directorywatcher.IDirectoryChangeListener#stopPoll()
- */
- public void stopPoll() {
- final Set removedFiles = new HashSet(currentFiles.keySet());
- removedFiles.removeAll(polledSeenFiles);
- polledSeenFiles.clear();
-
- if (removedFiles.isEmpty() && polledIUsToAdd.isEmpty() && polledArtifactsToAdd.isEmpty())
- return;
-
- if (metadataRepository != null)
- synchronizeMetadataRepository(removedFiles);
-
- if (artifactRepository != null)
- synchronizeArtifactRepository(removedFiles);
-
- synchronizeCurrentFiles();
-
- polledIUsToAdd.clear();
- polledArtifactsToAdd.clear();
- }
-
- private void synchronizeMetadataRepository(final Set removedFiles) {
- Query removeQuery = new Query() {
- public boolean isMatch(Object candidate) {
- if (!(candidate instanceof IInstallableUnit))
- return false;
- IInstallableUnit iu = (IInstallableUnit) candidate;
- File iuFile = new File(iu.getProperty(FILE_NAME));
- return removedFiles.contains(iuFile);
- }
- };
- metadataRepository.removeInstallableUnits(removeQuery, null);
-
- if (!polledIUsToAdd.isEmpty())
- metadataRepository.addInstallableUnits((IInstallableUnit[]) polledIUsToAdd.toArray(new IInstallableUnit[polledIUsToAdd.size()]));
- }
-
- private void synchronizeArtifactRepository(final Set removedFiles) {
- final List keys = new ArrayList(Arrays.asList(artifactRepository.getArtifactKeys()));
- for (Iterator it = keys.iterator(); it.hasNext();) {
- IArtifactKey key = (IArtifactKey) it.next();
- IArtifactDescriptor[] descriptors = artifactRepository.getArtifactDescriptors(key);
- for (int i = 0; i < descriptors.length; i++) {
- ArtifactDescriptor descriptor = (ArtifactDescriptor) descriptors[i];
- File artifactFile = new File(descriptor.getRepositoryProperty(FILE_NAME));
- if (removedFiles.contains(artifactFile))
- artifactRepository.removeDescriptor(descriptor);
- }
- }
-
- if (!polledArtifactsToAdd.isEmpty())
- artifactRepository.addDescriptors((IArtifactDescriptor[]) polledArtifactsToAdd.toArray(new IArtifactDescriptor[polledArtifactsToAdd.size()]));
- }
-
- private void synchronizeCurrentFiles() {
- currentFiles.clear();
- if (metadataRepository != null) {
- Collector ius = metadataRepository.query(InstallableUnitQuery.ANY, new Collector(), null);
- for (Iterator it = ius.iterator(); it.hasNext();) {
- IInstallableUnit iu = (IInstallableUnit) it.next();
- File iuFile = new File(iu.getProperty(FILE_NAME));
- Long iuLastModified = new Long(iu.getProperty(FILE_LAST_MODIFIED));
- currentFiles.put(iuFile, iuLastModified);
- }
- }
-
- if (artifactRepository != null) {
- final List keys = new ArrayList(Arrays.asList(artifactRepository.getArtifactKeys()));
- for (Iterator it = keys.iterator(); it.hasNext();) {
- IArtifactKey key = (IArtifactKey) it.next();
- IArtifactDescriptor[] descriptors = artifactRepository.getArtifactDescriptors(key);
- for (int i = 0; i < descriptors.length; i++) {
- ArtifactDescriptor descriptor = (ArtifactDescriptor) descriptors[i];
- File artifactFile = new File(descriptor.getRepositoryProperty(FILE_NAME));
- Long artifactLastModified = new Long(descriptor.getRepositoryProperty(FILE_LAST_MODIFIED));
- currentFiles.put(artifactFile, artifactLastModified);
- }
- }
- }
- }
-
- public IMetadataRepository getMetadataRepository() {
- return metadataRepository;
- }
-
- public IArtifactRepository getArtifactRepository() {
- return artifactRepository;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/messages.properties b/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/messages.properties
deleted file mode 100644
index 858807a..0000000
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/messages.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-artifact_repo_manager_not_registered=ArtifactRepositoryManager not registered.
-error_main_loop=Error in watcher thread main loop.
-error_processing=Error Processing: {0}
-failed_create_artifact_repo=Could not create artifact repository for: {0}
-failed_create_metadata_repo=Could not create metadata repository for: {0}
-metadata_repo_manager_not_registered=MetadataRepositoryManager not registered.
-multiple_bundle_ius=There should be exactly one Bundle IU
-null_folder=Folder must not be null
-platformadmin_not_registered=PlatformAdmin not registered.
-thread_not_started=Watcher thread not Started
-thread_started=Watcher thread already Started
diff --git a/bundles/org.eclipse.equinox.p2.engine/.classpath b/bundles/org.eclipse.equinox.p2.engine/.classpath
deleted file mode 100644
index 2fbb7a2..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.engine/.project b/bundles/org.eclipse.equinox.p2.engine/.project
deleted file mode 100644
index 527b916..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.equinox.p2.engine</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.engine/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.engine/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index c98c987..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,330 +0,0 @@
-#Fri Feb 22 09:19:01 EST 2008
-eclipse.preferences.version=1
-instance/org.eclipse.core.net/org.eclipse.core.net.hasMigrated=true
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.engine/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.engine/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 56bcc3e..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:58:07 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.engine/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.engine/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 7913d20..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.engine/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.engine/META-INF/MANIFEST.MF
deleted file mode 100644
index e84ef9c..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,56 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.engine;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 1.0.1.qualifier
-Export-Package: org.eclipse.equinox.internal.p2.engine;x-friends:="org.eclipse.equinox.p2.touchpoint.eclipse,org.eclipse.equinox.p2.touchpoint.natives",
- org.eclipse.equinox.internal.provisional.p2.engine;
- x-friends:="org.eclipse.equinox.p2.director.app,
- org.eclipse.equinox.p2.ui,
- org.eclipse.equinox.p2.reconciler.dropins,
- org.eclipse.equinox.p2.console,
- org.eclipse.equinox.p2.director,
- org.eclipse.equinox.p2.ui.sdk,
- org.eclipse.equinox.p2.updatechecker,
- org.eclipse.equinox.p2.installer,
- org.eclipse.equinox.p2.ui.admin,
- org.eclipse.equinox.p2.touchpoint.eclipse,
- org.eclipse.equinox.p2.touchpoint.natives,
- org.eclipse.equinox.p2.extensionlocation,
- org.eclipse.equinox.p2.garbagecollector,
- org.eclipse.pde.p2.ui",
- org.eclipse.equinox.internal.provisional.p2.engine.phases;x-friends:="org.eclipse.equinox.p2.ui"
-Import-Package: javax.xml.parsers,
- org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.p2.metadata,
- org.eclipse.equinox.internal.p2.metadata.repository,
- org.eclipse.equinox.internal.p2.metadata.repository.io,
- org.eclipse.equinox.internal.p2.persistence,
- org.eclipse.equinox.internal.provisional.p2.artifact.repository,
- org.eclipse.equinox.internal.provisional.p2.core,
- org.eclipse.equinox.internal.provisional.p2.core.eventbus,
- org.eclipse.equinox.internal.provisional.p2.core.location,
- org.eclipse.equinox.internal.provisional.p2.core.repository,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.internal.provisional.p2.metadata.query,
- org.eclipse.equinox.internal.provisional.p2.metadata.repository,
- org.eclipse.equinox.internal.provisional.p2.query,
- org.eclipse.equinox.internal.provisional.spi.p2.core.repository,
- org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository,
- org.eclipse.osgi.service.datalocation;version="1.0.0",
- org.eclipse.osgi.service.resolver;version="1.1.0",
- org.eclipse.osgi.signedcontent;version="1.0.0",
- org.eclipse.osgi.util;version="1.0.0",
- org.osgi.framework;version="1.3.0",
- org.osgi.util.tracker;version="1.3.3",
- org.xml.sax
-Bundle-Activator: org.eclipse.equinox.internal.p2.engine.EngineActivator
-Eclipse-LazyStart: true
-Eclipse-RegisterBuddy: org.eclipse.equinox.p2.metadata.repository
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,
- CDC-1.1/Foundation-1.1
-Require-Bundle: org.eclipse.equinox.common,
- org.eclipse.equinox.registry,
- org.eclipse.osgi
diff --git a/bundles/org.eclipse.equinox.p2.engine/about.html b/bundles/org.eclipse.equinox.p2.engine/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 2, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.engine/build.properties b/bundles/org.eclipse.equinox.p2.engine/build.properties
deleted file mode 100644
index 1e585bd..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.xml,\
- about.html,\
- plugin.properties
-src.includes = about.html,\
- schema/
diff --git a/bundles/org.eclipse.equinox.p2.engine/plugin.properties b/bundles/org.eclipse.equinox.p2.engine/plugin.properties
deleted file mode 100644
index 0dfb0db..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Equinox Provisioning Engine
-providerName = Eclipse.org
diff --git a/bundles/org.eclipse.equinox.p2.engine/plugin.xml b/bundles/org.eclipse.equinox.p2.engine/plugin.xml
deleted file mode 100644
index d206906..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<plugin>
-<extension-point
- id="touchpoints"
- name="Touchpoints"
- schema="schema/touchpoints.exsd"/>
-
- <extension point="org.eclipse.equinox.p2.engine.touchpoints" id="null" name="Null Touchpoint">
- <touchpoint
- type="null"
- class="org.eclipse.equinox.internal.p2.engine.NullTouchpoint"
- version="1.0.0"/>
- </extension>
-</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.engine/schema/touchpoints.exsd b/bundles/org.eclipse.equinox.p2.engine/schema/touchpoints.exsd
deleted file mode 100644
index 1748a81..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/schema/touchpoints.exsd
+++ /dev/null
@@ -1,158 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.equinox.p2.engine">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.equinox.p2.engine" id="touchpoints" name="Touchpoints"/>
- </appInfo>
- <documentation>
- [Enter description of this extension point.]
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="touchpoint" minOccurs="0" maxOccurs="1"/>
- <element ref="data" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- <appInfo>
- <meta.attribute translatable="true"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="touchpoint">
- <complexType>
- <attribute name="type" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- <appInfo>
- <meta.attribute kind="java" basedOn="org.eclipse.equinox.p2.engine.ITouchpoint"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="version" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="data">
- <complexType>
- <attribute name="name" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="type" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="description" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- <appInfo>
- <meta.attribute translatable="true"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- [Enter the first release in which this extension point appears.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- <p>
- <pre>
- <extension point="org.eclipse.equinox.p2.engine.installAdaptors" id="eclipse" name="Eclipse Install Adaptor">
- <installAdaptor
- type="eclipse"
- class="org.eclipse.equinox.internal.p2.eclipseAdaptor.EclipseInstallAdaptor"
- version="1.0.0"/>
- </extension>
- </pre>
-</p>
- </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/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/DownloadManager.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/DownloadManager.java
deleted file mode 100644
index 2aae80c..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/DownloadManager.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * WindRiver - https://bugs.eclipse.org/bugs/show_bug.cgi?id=227372
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine;
-
-import java.net.URL;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningContext;
-
-public class DownloadManager {
- private ProvisioningContext provContext = null;
- ArrayList requestsToProcess = new ArrayList();
-
- private static final String FILE_PROTOCOL = "file"; //$NON-NLS-1$
-
- /**
- * This Comparator sorts the repositories such that ´local´ repositories are first
- */
- private static final Comparator LOCAL_FIRST_COMPARATOR = new Comparator() {
-
- public int compare(Object arg0, Object arg1) {
- Assert.isTrue(arg0 instanceof URL);
- Assert.isTrue(arg1 instanceof URL);
-
- String protocol0 = ((URL) arg0).getProtocol();
- String protocol1 = ((URL) arg1).getProtocol();
-
- if (protocol0.equals(FILE_PROTOCOL) && !protocol1.equals(FILE_PROTOCOL))
- return -1;
- if (!protocol0.equals(FILE_PROTOCOL) && protocol1.equals(FILE_PROTOCOL))
- return 1;
- return 0;
- }
- };
-
- public DownloadManager(ProvisioningContext context) {
- provContext = context;
- }
-
- /*
- * Add the given artifact to the download queue. When it
- * is downloaded, put it in the specified location.
- */
- public void add(IArtifactRequest toAdd) {
- requestsToProcess.add(toAdd);
- }
-
- public void add(IArtifactRequest[] toAdd) {
- for (int i = 0; i < toAdd.length; i++) {
- add(toAdd[i]);
- }
- }
-
- private void filterUnfetched() {
- for (Iterator iterator = requestsToProcess.iterator(); iterator.hasNext();) {
- IArtifactRequest request = (IArtifactRequest) iterator.next();
- if (request.getResult() != null && request.getResult().isOK()) {
- iterator.remove();
- }
- }
- }
-
- /*
- * Start the downloads. Return a status message indicating success or failure of the overall operation
- */
- public IStatus start(IProgressMonitor monitor) {
- SubMonitor subMonitor = SubMonitor.convert(monitor, Messages.download_artifact, requestsToProcess.size());
- try {
- if (requestsToProcess.isEmpty())
- return Status.OK_STATUS;
-
- IArtifactRepositoryManager repoMgr = (IArtifactRepositoryManager) ServiceHelper.getService(EngineActivator.getContext(), IArtifactRepositoryManager.class.getName());
- URL[] repositories = null;
- if (provContext == null || provContext.getArtifactRepositories() == null)
- repositories = repoMgr.getKnownRepositories(IArtifactRepositoryManager.REPOSITORIES_ALL);
- else
- repositories = provContext.getArtifactRepositories();
- if (repositories.length == 0)
- return new Status(IStatus.ERROR, EngineActivator.ID, Messages.download_no_repository);
- Arrays.sort(repositories, LOCAL_FIRST_COMPARATOR);
- fetch(repoMgr, repositories, subMonitor);
- return overallStatus(monitor);
- } finally {
- subMonitor.done();
- }
- }
-
- private void fetch(IArtifactRepositoryManager repoMgr, URL[] repositories, SubMonitor monitor) {
- for (int i = 0; i < repositories.length && !requestsToProcess.isEmpty() && !monitor.isCanceled(); i++) {
- try {
- IArtifactRepository current = repoMgr.loadRepository(repositories[i], monitor.newChild(0));
- IArtifactRequest[] requests = getRequestsForRepository(current);
- IStatus dlStatus = current.getArtifacts(requests, monitor.newChild(requests.length));
- if (dlStatus.getSeverity() == IStatus.CANCEL)
- return;
- filterUnfetched();
- monitor.setWorkRemaining(requestsToProcess.size());
- } catch (ProvisionException e) {
- //skip unreachable repositories
- }
- }
- }
-
- private IArtifactRequest[] getRequestsForRepository(IArtifactRepository repository) {
- ArrayList applicable = new ArrayList();
- for (Iterator it = requestsToProcess.iterator(); it.hasNext();) {
- IArtifactRequest request = (IArtifactRequest) it.next();
- if (repository.contains(request.getArtifactKey()))
- applicable.add(request);
- }
- return (IArtifactRequest[]) applicable.toArray(new IArtifactRequest[applicable.size()]);
- }
-
- // private void notifyFetched() {
- // ProvisioningEventBus bus = (ProvisioningEventBus) ServiceHelper.getService(DownloadActivator.context, ProvisioningEventBus.class);
- // bus.publishEvent();
- // }
-
- private IStatus overallStatus(IProgressMonitor monitor) {
- if (monitor.isCanceled())
- return Status.CANCEL_STATUS;
-
- if (requestsToProcess.size() == 0)
- return Status.OK_STATUS;
-
- MultiStatus result = new MultiStatus(EngineActivator.ID, IStatus.OK, null, null);
- for (Iterator iterator = requestsToProcess.iterator(); iterator.hasNext();) {
- IStatus failed = ((IArtifactRequest) iterator.next()).getResult();
- if (failed != null && !failed.isOK())
- result.add(failed);
- }
- return result;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/EngineActivator.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/EngineActivator.java
deleted file mode 100644
index bcab1eb..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/EngineActivator.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine;
-
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus;
-import org.eclipse.equinox.internal.provisional.p2.engine.Engine;
-import org.eclipse.equinox.internal.provisional.p2.engine.IEngine;
-import org.osgi.framework.*;
-import org.osgi.util.tracker.ServiceTracker;
-import org.osgi.util.tracker.ServiceTrackerCustomizer;
-
-public class EngineActivator implements BundleActivator, ServiceTrackerCustomizer {
- private static BundleContext context;
- public static final String ID = "org.eclipse.equinox.p2.engine"; //$NON-NLS-1$
-
- private ServiceRegistration registration;
-
- private ServiceTracker tracker;
-
- public static BundleContext getContext() {
- return context;
- }
-
- public Object addingService(ServiceReference reference) {
- if (registration == null) {
- IProvisioningEventBus eventBus = (IProvisioningEventBus) context.getService(reference);
- registration = context.registerService(IEngine.SERVICE_NAME, new Engine(eventBus), null);
- return eventBus;
- }
- return null;
- }
-
- public void modifiedService(ServiceReference reference, Object service) {
- // nothing to do
- }
-
- public void removedService(ServiceReference reference, Object service) {
- if (registration != null) {
- registration.unregister();
- registration = null;
- }
- }
-
- public void start(BundleContext aContext) throws Exception {
- EngineActivator.context = aContext;
- tracker = new ServiceTracker(aContext, IProvisioningEventBus.SERVICE_NAME, this);
- tracker.open();
- }
-
- public void stop(BundleContext aContext) throws Exception {
- tracker.close();
- tracker = null;
-
- EngineActivator.context = null;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/InstructionParser.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/InstructionParser.java
deleted file mode 100644
index 947f6dc..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/InstructionParser.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine;
-
-import java.util.*;
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-import org.eclipse.osgi.util.NLS;
-
-public class InstructionParser {
-
- InstallableUnitPhase phase;
- Touchpoint touchpoint;
-
- public InstructionParser(InstallableUnitPhase phase, Touchpoint touchpoint) {
- Assert.isNotNull(phase);
- Assert.isNotNull(touchpoint);
- this.phase = phase;
- this.touchpoint = touchpoint;
- }
-
- public ProvisioningAction[] parseActions(String instruction) {
- List actions = new ArrayList();
- StringTokenizer tokenizer = new StringTokenizer(instruction, ";"); //$NON-NLS-1$
- while (tokenizer.hasMoreTokens()) {
- actions.add(parseAction(tokenizer.nextToken()));
- }
-
- return (ProvisioningAction[]) actions.toArray(new ProvisioningAction[actions.size()]);
- }
-
- private ProvisioningAction parseAction(String statement) {
- int openBracket = statement.indexOf('(');
- int closeBracket = statement.lastIndexOf(')');
- String actionName = statement.substring(0, openBracket).trim();
- ProvisioningAction action = lookupAction(actionName);
-
- String nameValuePairs = statement.substring(openBracket + 1, closeBracket);
- StringTokenizer tokenizer = new StringTokenizer(nameValuePairs, ","); //$NON-NLS-1$
- Map parameters = new HashMap();
- while (tokenizer.hasMoreTokens()) {
- String nameValuePair = tokenizer.nextToken();
- int colonIndex = nameValuePair.indexOf(":"); //$NON-NLS-1$
- String name = nameValuePair.substring(0, colonIndex).trim();
- String value = nameValuePair.substring(colonIndex + 1).trim();
- parameters.put(name, value);
- }
- return new ParameterizedProvisioningAction(action, parameters);
- }
-
- private ProvisioningAction lookupAction(String actionId) {
-
- ProvisioningAction action = phase.getAction(actionId);
- if (action == null)
- action = touchpoint.getAction(actionId);
-
- if (action == null)
- throw new IllegalArgumentException(NLS.bind(Messages.action_not_found, actionId));
-
- return action;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/Messages.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/Messages.java
deleted file mode 100644
index ff04105..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/Messages.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine;
-
-import org.eclipse.osgi.util.NLS;
-
-class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.engine.messages"; //$NON-NLS-1$
-
- public static String action_not_found;
-
- public static String download_artifact;
- public static String download_no_repository;
-
- public static String error_parsing_profile;
-
- public static String error_persisting_profile;
-
- public static String failed_creating_metadata_cache;
-
- public static String ParameterizedProvisioningAction_action_or_parameters_null;
-
- public static String profile_does_not_exist;
-
- public static String profile_not_current;
-
- public static String profile_not_registered;
-
- public static String Profile_Duplicate_Root_Profile_Id;
- public static String Profile_Null_Profile_Id;
- public static String Profile_Parent_Not_Found;
-
- public static String reg_dir_not_available;
-
- public static String SimpleProfileRegistry_Parser_Error_Parsing_Registry;
- public static String SimpleProfileRegistry_Parser_Has_Incompatible_Version;
-
- public static String thread_not_owner;
-
- public static String TouchpointManager_Attribute_Not_Specified;
- public static String TouchpointManager_Conflicting_Touchpoint_Types;
- public static String TouchpointManager_Exception_Creating_Touchpoint_Extension;
- public static String TouchpointManager_Incorrectly_Named_Extension;
- public static String TouchpointManager_No_Extension_Point;
- public static String TouchpointManager_Null_Creating_Touchpoint_Extension;
- public static String TouchpointManager_Null_Touchpoint_Type_Argument;
- public static String TouchpointManager_Required_Touchpoint_Not_Found;
- public static String TouchpointManager_Touchpoint_Type_Mismatch;
-
- public static String shared_profile_not_found;
-
- static {
- // initialize resource bundles
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- // Do not instantiate
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/MetadataCache.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/MetadataCache.java
deleted file mode 100644
index 0b5b52a..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/MetadataCache.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine;
-
-import java.net.URL;
-import java.util.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.ProvisioningListener;
-import org.eclipse.equinox.internal.provisional.p2.core.location.AgentLocation;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager;
-import org.osgi.framework.ServiceReference;
-
-public class MetadataCache {
- static final private String REPOSITORY_NAME = "Agent Metadata Cache"; //$NON-NLS-1$
- private ServiceReference busReference;
- private IProvisioningEventBus bus;
- private URL location;
- //tracks the IUs that have been installed but not yet committed
- //TODO: This will work if a single profile is being modified but we should consider how to handle multiple concurrent profile changes.OD
- final ArrayList toAdd = new ArrayList();
-
- public MetadataCache() {
- AgentLocation agentLocation = (AgentLocation) ServiceHelper.getService(EngineActivator.getContext(), AgentLocation.class.getName());
- location = (agentLocation != null ? agentLocation.getMetadataRepositoryURL() : null);
- hookListener();
- }
-
- IMetadataRepository getRepository() {
- IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(EngineActivator.getContext(), IMetadataRepositoryManager.class.getName());
- try {
- return manager.loadRepository(location, null);
- } catch (ProvisionException e) {
- //fall through and create a new repository
- }
- try {
- Map properties = new HashMap(1);
- properties.put(IRepository.PROP_SYSTEM, Boolean.TRUE.toString());
- return manager.createRepository(location, REPOSITORY_NAME, IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, properties);
- } catch (ProvisionException e) {
- LogHelper.log(e);
- throw new IllegalStateException(Messages.failed_creating_metadata_cache);
- }
- }
-
- private void hookListener() {
- // TODO: We should check for writing permission here, otherwise it may be too late
- busReference = EngineActivator.getContext().getServiceReference(IProvisioningEventBus.SERVICE_NAME);
- bus = (IProvisioningEventBus) EngineActivator.getContext().getService(busReference);
- bus.addListener(new ProvisioningListener() {
- public void notify(EventObject o) {
- if (o instanceof InstallableUnitEvent) { //TODO This dependency on InstallableUnitEvent is not great
- InstallableUnitEvent event = (InstallableUnitEvent) o;
- if (event.isPre())
- return;
- // TODO: what about uninstall??
- if (event.isPost() && event.getResult().isOK() && event.isInstall()) {
- IInstallableUnit installedIU = event.getOperand().second();
- if (installedIU != null)
- toAdd.add(installedIU.unresolved());
- return;
- }
- }
- if (o instanceof CommitOperationEvent) {
- IInstallableUnit[] toAddArray = (IInstallableUnit[]) toAdd.toArray(new IInstallableUnit[toAdd.size()]);
- toAdd.clear();
- getRepository().addInstallableUnits(toAddArray);
- }
- if (o instanceof RollbackOperationEvent)
- toAdd.clear();
- }
- });
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/NullTouchpoint.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/NullTouchpoint.java
deleted file mode 100644
index 3ede1f4..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/NullTouchpoint.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine;
-
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningAction;
-import org.eclipse.equinox.internal.provisional.p2.engine.Touchpoint;
-import org.eclipse.equinox.internal.provisional.p2.metadata.TouchpointType;
-
-/**
- * A touchpoint that performs no processing.
- */
-public class NullTouchpoint extends Touchpoint {
- public static final Touchpoint INSTANCE = new NullTouchpoint();
-
- /**
- * Public constructor only intended to be called by extension registry.
- */
- public NullTouchpoint() {
- super();
- }
-
- public TouchpointType getTouchpointType() {
- return TouchpointType.NONE;
- }
-
- public boolean supports(String phaseId) {
- if (phaseId.equals("install") || phaseId.equals("uninstall")) //$NON-NLS-1$ //$NON-NLS-2$
- return true;
- return false;
- }
-
- public ProvisioningAction getAction(String actionId) {
- return new ProvisioningAction() {
- public IStatus execute(Map parameters) {
- return Status.OK_STATUS;
- }
-
- public IStatus undo(Map parameters) {
- return Status.OK_STATUS;
- }
- };
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ParameterizedProvisioningAction.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ParameterizedProvisioningAction.java
deleted file mode 100644
index f211017..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ParameterizedProvisioningAction.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine;
-
-import java.util.*;
-import java.util.Map.Entry;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningAction;
-
-public class ParameterizedProvisioningAction extends ProvisioningAction {
-
- private ProvisioningAction action;
- private Map actionParameters;
-
- public ParameterizedProvisioningAction(ProvisioningAction action, Map actionParameters) {
- if (action == null || actionParameters == null)
- throw new IllegalArgumentException(Messages.ParameterizedProvisioningAction_action_or_parameters_null);
- this.action = action;
- this.actionParameters = actionParameters;
- }
-
- public IStatus execute(Map parameters) {
- parameters = processActionParameters(parameters);
- return action.execute(parameters);
- }
-
- public IStatus undo(Map parameters) {
- parameters = processActionParameters(parameters);
- return action.undo(parameters);
- }
-
- private Map processActionParameters(Map parameters) {
- Map result = new HashMap(parameters);
- for (Iterator it = actionParameters.entrySet().iterator(); it.hasNext();) {
- Entry entry = (Entry) it.next();
- String name = (String) entry.getKey();
- String value = processVariables((String) entry.getValue(), parameters);
- result.put(name, value);
- }
- return Collections.unmodifiableMap(result);
- }
-
- private String processVariables(String parameterValue, Map parameters) {
-
- int variableBeginIndex = parameterValue.indexOf("${"); //$NON-NLS-1$
- if (variableBeginIndex == -1)
- return parameterValue;
-
- int variableEndIndex = parameterValue.indexOf('}', variableBeginIndex + 2);
- if (variableEndIndex == -1)
- return parameterValue;
-
- String preVariable = parameterValue.substring(0, variableBeginIndex);
- String variableName = parameterValue.substring(variableBeginIndex + 2, variableEndIndex);
- Object value = parameters.get(variableName);
-
- // try to replace this parameter with a character
- if (value == null && variableName.charAt(0) == '#') {
- try {
- int code = Integer.parseInt(variableName.substring(1));
- if (code >= 0 && code < 65536)
- value = Character.toString((char) code);
- } catch (Throwable t) {
- // ignore and leave value as null
- }
- }
-
- String variableValue = value == null ? "" : value.toString(); //$NON-NLS-1$
- String postVariable = processVariables(parameterValue.substring(variableEndIndex + 1), parameters);
- return preVariable + variableValue + postVariable;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/Profile.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/Profile.java
deleted file mode 100644
index 79a5734..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/Profile.java
+++ /dev/null
@@ -1,338 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine;
-
-import java.util.*;
-import java.util.Map.Entry;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.internal.p2.core.helpers.OrderedProperties;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.engine.ISurrogateProfileHandler;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.query.*;
-import org.eclipse.osgi.util.NLS;
-
-public class Profile implements IQueryable, IProfile {
-
- //Internal id of the profile
- private final String profileId;
-
- private Profile parentProfile;
-
- /**
- * A collection of child profiles.
- */
- private List subProfileIds; // child profile ids
-
- private static final String[] noSubProfiles = new String[0];
- /**
- * This storage is to be used by the touchpoints to store data.
- */
- private OrderedProperties storage = new OrderedProperties();
-
- private Set ius = new HashSet();
- private Map iuProperties = new HashMap();
- private boolean changed = false;
-
- private long timestamp;
- private ISurrogateProfileHandler surrogateProfileHandler;
-
- public Profile(String profileId, Profile parent, Map properties) {
- if (profileId == null || profileId.length() == 0) {
- throw new IllegalArgumentException(NLS.bind(Messages.Profile_Null_Profile_Id, null));
- }
- this.profileId = profileId;
- setParent(parent);
- if (properties != null)
- storage.putAll(properties);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.engine.IProfile#getProfileId()
- */
- public String getProfileId() {
- return profileId;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.engine.IProfile#getParentProfile()
- */
- public IProfile getParentProfile() {
- return parentProfile;
- }
-
- public void setParent(Profile profile) {
- if (profile == parentProfile)
- return;
-
- if (parentProfile != null)
- parentProfile.removeSubProfile(profileId);
-
- parentProfile = profile;
- if (parentProfile != null)
- parentProfile.addSubProfile(profileId);
- }
-
- /*
- * A profile is a root profile if it is not a sub-profile
- * of another profile.
- */
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.engine.IProfile#isRootProfile()
- */
- public boolean isRootProfile() {
- return parentProfile == null;
- }
-
- public void addSubProfile(String subProfileId) throws IllegalArgumentException {
- if (subProfileIds == null)
- subProfileIds = new ArrayList();
-
- if (!subProfileIds.contains(subProfileId))
- subProfileIds.add(subProfileId);
-
- // if (!subProfileIds.add(subProfileId))
- // throw new IllegalArgumentException(NLS.bind(Messages.Profile_Duplicate_Child_Profile_Id, new String[] {subProfileId, this.getProfileId()}));
- }
-
- public void removeSubProfile(String subProfileId) throws IllegalArgumentException {
- if (subProfileIds != null)
- subProfileIds.remove(subProfileId);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.engine.IProfile#hasSubProfiles()
- */
- public boolean hasSubProfiles() {
- return subProfileIds == null || subProfileIds.isEmpty();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.engine.IProfile#getSubProfileIds()
- */
- public String[] getSubProfileIds() {
- if (subProfileIds == null)
- return noSubProfiles;
-
- return (String[]) subProfileIds.toArray(new String[subProfileIds.size()]);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.engine.IProfile#getProperty(java.lang.String)
- */
- public String getProperty(String key) {
- String value = storage.getProperty(key);
- if (value == null && parentProfile != null) {
- value = parentProfile.getProperty(key);
- }
- return value;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.engine.IProfile#getLocalProperty(java.lang.String)
- */
- public String getLocalProperty(String key) {
- return storage.getProperty(key);
- }
-
- /**
- * Associate the given value with the given key
- * in the local storage of this profile.
- */
- public void setProperty(String key, String value) {
- storage.setProperty(key, value);
- changed = true;
- }
-
- public void removeProperty(String key) {
- storage.remove(key);
- changed = true;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.engine.IProfile#query(org.eclipse.equinox.internal.provisional.p2.query.Query, org.eclipse.equinox.internal.provisional.p2.query.Collector, org.eclipse.core.runtime.IProgressMonitor)
- */
- public Collector query(Query query, Collector collector, IProgressMonitor monitor) {
- return query.perform(ius.iterator(), collector);
- }
-
- public Collector available(Query query, Collector collector, IProgressMonitor monitor) {
- if (surrogateProfileHandler != null)
- return surrogateProfileHandler.queryProfile(this, query, collector, monitor);
- return query.perform(ius.iterator(), collector);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.engine.IProfile#getInstallableUnitProperty(org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit, java.lang.String)
- */
- public String getInstallableUnitProperty(IInstallableUnit iu, String key) {
- OrderedProperties properties = (OrderedProperties) iuProperties.get(createIUKey(iu));
- if (properties == null)
- return null;
-
- return properties.getProperty(key);
- }
-
- public String setInstallableUnitProperty(IInstallableUnit iu, String key, String value) {
- String iuKey = createIUKey(iu);
- OrderedProperties properties = (OrderedProperties) iuProperties.get(iuKey);
- if (properties == null) {
- properties = new OrderedProperties();
- iuProperties.put(iuKey, properties);
- }
-
- changed = true;
- return (String) properties.setProperty(key, value);
- }
-
- public String removeInstallableUnitProperty(IInstallableUnit iu, String key) {
- String iuKey = createIUKey(iu);
- OrderedProperties properties = (OrderedProperties) iuProperties.get(iuKey);
- if (properties == null)
- return null;
-
- String oldValue = (String) properties.remove(key);
- if (properties.isEmpty())
- iuProperties.remove(iuKey);
-
- changed = true;
- return oldValue;
- }
-
- private static String createIUKey(IInstallableUnit iu) {
- return iu.getId() + "_" + iu.getVersion().toString(); //$NON-NLS-1$
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.engine.IProfile#getLocalProperties()
- */
- public Map getLocalProperties() {
- return OrderedProperties.unmodifiableProperties(storage);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.engine.IProfile#getProperties()
- */
- public Map getProperties() {
- if (parentProfile == null)
- return getLocalProperties();
-
- Map properties = new HashMap(parentProfile.getProperties());
- properties.putAll(storage);
- return OrderedProperties.unmodifiableProperties(properties);
- }
-
- /**
- * Add all the properties in the map to the local properties
- * of the profile.
- */
- public void addProperties(Map properties) {
- storage.putAll(properties);
- changed = true;
- }
-
- public void addInstallableUnit(IInstallableUnit iu) {
- iu = iu.unresolved();
- if (ius.contains(iu))
- return;
-
- ius.add(iu);
- changed = true;
- }
-
- public void removeInstallableUnit(IInstallableUnit iu) {
- iu = iu.unresolved();
- ius.remove(iu);
- changed = true;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.engine.IProfile#getInstallableUnitProperties(org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit)
- */
- public Map getInstallableUnitProperties(IInstallableUnit iu) {
- OrderedProperties properties = (OrderedProperties) iuProperties.get(createIUKey(iu));
- if (properties == null)
- properties = new OrderedProperties();
-
- return OrderedProperties.unmodifiableProperties(properties);
- }
-
- public void clearLocalProperties() {
- storage.clear();
- changed = true;
- }
-
- public boolean isChanged() {
- return changed;
- }
-
- public void setChanged(boolean isChanged) {
- changed = isChanged;
- }
-
- public void clearInstallableUnits() {
- ius.clear();
- iuProperties.clear();
- changed = true;
- }
-
- public Profile snapshot() {
- Profile parentSnapshot = null;
- if (parentProfile != null)
- parentSnapshot = parentProfile.snapshot();
-
- Profile snapshot = new Profile(profileId, parentSnapshot, storage);
- if (surrogateProfileHandler != null)
- snapshot.setSurrogateProfileHandler(surrogateProfileHandler);
- snapshot.setTimestamp(timestamp);
-
- if (subProfileIds != null) {
- for (Iterator it = subProfileIds.iterator(); it.hasNext();) {
- String subProfileId = (String) it.next();
- snapshot.addSubProfile(subProfileId);
- }
- }
-
- for (Iterator it = ius.iterator(); it.hasNext();) {
- IInstallableUnit iu = (IInstallableUnit) it.next();
- snapshot.addInstallableUnit(iu);
- Map properties = getInstallableUnitProperties(iu);
- if (properties != null)
- snapshot.addInstallableUnitProperties(iu, properties);
- }
- snapshot.setChanged(false);
- return snapshot;
- }
-
- public void addInstallableUnitProperties(IInstallableUnit iu, Map properties) {
- for (Iterator it = properties.entrySet().iterator(); it.hasNext();) {
- Entry entry = (Entry) it.next();
- String key = (String) entry.getKey();
- String value = (String) entry.getValue();
- setInstallableUnitProperty(iu, key, value);
- }
- }
-
- public void clearInstallableUnitProperties(IInstallableUnit iu) {
- iuProperties.remove(createIUKey(iu));
- changed = true;
- }
-
- public long getTimestamp() {
- return timestamp;
- }
-
- public void setTimestamp(long millis) {
- timestamp = millis;
- }
-
- public void setSurrogateProfileHandler(ISurrogateProfileHandler surrogateProfileHandler) {
- this.surrogateProfileHandler = surrogateProfileHandler;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfileParser.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfileParser.java
deleted file mode 100644
index d4507fd..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfileParser.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine;
-
-import java.util.LinkedHashMap;
-import java.util.Map;
-import org.eclipse.equinox.internal.p2.metadata.repository.io.MetadataParser;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.Version;
-import org.xml.sax.Attributes;
-
-/**
- * An abstract XML parser class for parsing profiles as written by the ProfileWriter.
- */
-public abstract class ProfileParser extends MetadataParser implements ProfileXMLConstants {
-
- public ProfileParser(BundleContext context, String bundleId) {
- super(context, bundleId);
- }
-
- protected class ProfileHandler extends RootHandler {
-
- private final String[] required = new String[] {ID_ATTRIBUTE};
-
- private String profileId;
- private String parentId;
- private String timestamp;
- private PropertiesHandler propertiesHandler;
- private InstallableUnitsHandler unitsHandler;
- private IUsPropertiesHandler iusPropertiesHandler;
-
- public ProfileHandler() {
- // default
- }
-
- protected void handleRootAttributes(Attributes attributes) {
- profileId = parseRequiredAttributes(attributes, required)[0];
- parentId = parseOptionalAttribute(attributes, PARENT_ID_ATTRIBUTE);
- timestamp = parseOptionalAttribute(attributes, TIMESTAMP_ATTRIBUTE);
-
- }
-
- public void startElement(String name, Attributes attributes) {
- if (PROPERTIES_ELEMENT.equals(name)) {
- if (propertiesHandler == null) {
- propertiesHandler = new PropertiesHandler(this, attributes);
- } else {
- duplicateElement(this, name, attributes);
- }
- } else if (INSTALLABLE_UNITS_ELEMENT.equals(name)) {
- if (unitsHandler == null) {
- unitsHandler = new InstallableUnitsHandler(this, attributes);
- } else {
- duplicateElement(this, name, attributes);
- }
- } else if (IUS_PROPERTIES_ELEMENT.equals(name)) {
- if (iusPropertiesHandler == null) {
- iusPropertiesHandler = new IUsPropertiesHandler(this, attributes);
- } else {
- duplicateElement(this, name, attributes);
- }
- } else {
- invalidElement(name, attributes);
- }
- }
-
- public String getProfileId() {
- return profileId;
- }
-
- public String getParentId() {
- return parentId;
- }
-
- public long getTimestamp() {
- if (timestamp != null) {
- try {
- return Long.parseLong(timestamp);
- } catch (NumberFormatException e) {
- // TODO: log
- }
- }
- return 0;
- }
-
- public Map getProperties() {
- if (propertiesHandler == null)
- return null;
- return propertiesHandler.getProperties();
- }
-
- public IInstallableUnit[] getInstallableUnits() {
- if (unitsHandler == null)
- return null;
- return unitsHandler.getUnits();
- }
-
- public Map getIUProperties(IInstallableUnit iu) {
- if (iusPropertiesHandler == null)
- return null;
-
- Map iusPropertiesMap = iusPropertiesHandler.getIUsPropertiesMap();
- if (iusPropertiesMap == null)
- return null;
-
- String iuIdentity = iu.getId() + "_" + iu.getVersion().toString(); //$NON-NLS-1$
- return (Map) iusPropertiesMap.get(iuIdentity);
- }
- }
-
- protected class IUPropertiesHandler extends AbstractHandler {
-
- private final String[] required = new String[] {ID_ATTRIBUTE, VERSION_ATTRIBUTE};
-
- private String iuIdentity;
- private Map iusPropertiesMap;
- private PropertiesHandler propertiesHandler;
-
- public IUPropertiesHandler(AbstractHandler parentHandler, Attributes attributes, Map iusPropertiesMap) {
- super(parentHandler, IU_PROPERTIES_ELEMENT);
- this.iusPropertiesMap = iusPropertiesMap;
-
- String values[] = parseRequiredAttributes(attributes, required);
- String id = values[0];
- Version version = checkVersion(IU_PROPERTIES_ELEMENT, VERSION_ATTRIBUTE, values[1]);
- iuIdentity = id + "_" + version.toString(); //$NON-NLS-1$
- }
-
- protected void finished() {
- if (isValidXML() && iuIdentity != null && propertiesHandler != null) {
- iusPropertiesMap.put(iuIdentity, propertiesHandler.getProperties());
- }
- }
-
- public void startElement(String name, Attributes attributes) {
- if (name.equals(PROPERTIES_ELEMENT)) {
- propertiesHandler = new PropertiesHandler(this, attributes);
- } else {
- invalidElement(name, attributes);
- }
- }
- }
-
- protected class IUsPropertiesHandler extends AbstractHandler {
-
- private Map iusPropertiesMap;
-
- public IUsPropertiesHandler(AbstractHandler parentHandler, Attributes attributes) {
- super(parentHandler, IUS_PROPERTIES_ELEMENT);
- String size = parseOptionalAttribute(attributes, COLLECTION_SIZE_ATTRIBUTE);
- iusPropertiesMap = (size != null ? new LinkedHashMap(new Integer(size).intValue()) : new LinkedHashMap(4));
- }
-
- public Map getIUsPropertiesMap() {
- return iusPropertiesMap;
- }
-
- public void startElement(String name, Attributes attributes) {
- if (name.equals(IU_PROPERTIES_ELEMENT)) {
- new IUPropertiesHandler(this, attributes, iusPropertiesMap);
- } else {
- invalidElement(name, attributes);
- }
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfileWriter.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfileWriter.java
deleted file mode 100644
index 2644fa4..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfileWriter.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.util.Iterator;
-import java.util.Map;
-import org.eclipse.equinox.internal.p2.metadata.repository.io.MetadataWriter;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-
-public class ProfileWriter extends MetadataWriter implements ProfileXMLConstants {
-
- public ProfileWriter(OutputStream output, ProcessingInstruction[] processingInstructions) throws IOException {
- super(output, processingInstructions);
- }
-
- public void writeProfile(IProfile profile) {
- start(PROFILE_ELEMENT);
- attribute(ID_ATTRIBUTE, profile.getProfileId());
- attribute(TIMESTAMP_ATTRIBUTE, Long.toString(profile.getTimestamp()));
- IProfile parentProfile = profile.getParentProfile();
- if (parentProfile != null)
- attribute(PARENT_ID_ATTRIBUTE, parentProfile.getProfileId());
- writeProperties(profile.getLocalProperties());
- Collector collector = profile.query(InstallableUnitQuery.ANY, new Collector(), null);
- writeInstallableUnits(collector.iterator(), collector.size());
- writeInstallableUnitsProperties(collector.iterator(), collector.size(), profile);
- end(PROFILE_ELEMENT);
- flush();
- }
-
- private void writeInstallableUnitsProperties(Iterator it, int size, IProfile profile) {
- if (size == 0)
- return;
- start(IUS_PROPERTIES_ELEMENT);
- attribute(COLLECTION_SIZE_ATTRIBUTE, size);
- while (it.hasNext()) {
- IInstallableUnit iu = (IInstallableUnit) it.next();
- Map properties = profile.getInstallableUnitProperties(iu);
- if (properties.isEmpty())
- continue;
-
- start(IU_PROPERTIES_ELEMENT);
- attribute(ID_ATTRIBUTE, iu.getId());
- attribute(VERSION_ATTRIBUTE, iu.getVersion().toString());
- writeProperties(properties);
- end(IU_PROPERTIES_ELEMENT);
- }
- end(IUS_PROPERTIES_ELEMENT);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfileXMLConstants.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfileXMLConstants.java
deleted file mode 100644
index 6f61026..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfileXMLConstants.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine;
-
-import org.eclipse.equinox.internal.p2.persistence.XMLConstants;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-/**
- * Constants defining the structure of the XML for a Profile
- */
-public interface ProfileXMLConstants extends XMLConstants {
-
- // A format version number for profile XML.
- public static final Version CURRENT_VERSION = new Version(0, 0, 2);
- public static final Version COMPATIBLE_VERSION = new Version(0, 0, 1);
- public static final VersionRange XML_TOLERANCE = new VersionRange(COMPATIBLE_VERSION, true, new Version(2, 0, 0), false);
-
- // Constants for profile elements
-
- public static final String PROFILE_ELEMENT = "profile"; //$NON-NLS-1$
- public static final String TIMESTAMP_ATTRIBUTE = "timestamp"; //$NON-NLS-1$
- public static final String IUS_PROPERTIES_ELEMENT = "iusProperties"; //$NON-NLS-1$
- public static final String IU_PROPERTIES_ELEMENT = "iuProperties"; //$NON-NLS-1$
- public static final String PROFILE_TARGET = "profile"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/SimpleProfileRegistry.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/SimpleProfileRegistry.java
deleted file mode 100644
index c4d016c..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/SimpleProfileRegistry.java
+++ /dev/null
@@ -1,599 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine;
-
-import java.io.*;
-import java.lang.ref.SoftReference;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import java.util.Map.Entry;
-import javax.xml.parsers.ParserConfigurationException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.core.helpers.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus;
-import org.eclipse.equinox.internal.provisional.p2.core.location.AgentLocation;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.osgi.service.datalocation.Location;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.Version;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-public class SimpleProfileRegistry implements IProfileRegistry {
-
- static class Lock {
-
- private Thread lockHolder;
- private int lockedCount;
-
- protected void lock(Object monitor) {
- Thread current = Thread.currentThread();
- if (lockHolder != current) {
- boolean interrupted = false;
- try {
- while (lockedCount != 0)
- try {
- monitor.wait();
- } catch (InterruptedException e) {
- // although we don't handle an interrupt we should still
- // save and restore the interrupt for others further up the stack
- interrupted = true;
- }
- } finally {
- if (interrupted)
- current.interrupt(); // restore interrupted status
- }
- }
- lockedCount++;
- lockHolder = current;
- }
-
- protected void unlock(Object monitor) {
- Thread current = Thread.currentThread();
- if (lockHolder != current)
- throw new IllegalStateException(Messages.thread_not_owner);
-
- lockedCount--;
- if (lockedCount == 0) {
- lockHolder = null;
- monitor.notifyAll();
- }
- }
-
- protected synchronized void checkLocked() {
- Thread current = Thread.currentThread();
- if (lockHolder != current)
- throw new IllegalStateException(Messages.thread_not_owner);
- }
-
- }
-
- private static final String PROFILE_EXT = ".profile"; //$NON-NLS-1$
- public static final String DEFAULT_STORAGE_DIR = "profileRegistry"; //$NON-NLS-1$
- /**
- * Reference to Map of String(Profile id)->Profile.
- */
- private SoftReference profiles;
- private Map profileLocks = new HashMap();
-
- private String self;
-
- //Whether the registry should update the self profile when the registry is restored
- private boolean updateSelfProfile = true;
-
- private File store;
-
- ISurrogateProfileHandler surrogateProfileHandler;
-
- public SimpleProfileRegistry(File registryDirectory, ISurrogateProfileHandler handler, boolean updateSelfProfile) {
- store = (registryDirectory != null) ? registryDirectory : getDefaultRegistryDirectory();
- surrogateProfileHandler = handler;
- self = EngineActivator.getContext().getProperty("eclipse.p2.profile"); //$NON-NLS-1$
- this.updateSelfProfile = updateSelfProfile;
- }
-
- public SimpleProfileRegistry() {
- store = getDefaultRegistryDirectory();
- surrogateProfileHandler = new SurrogateProfileHandler();
- self = EngineActivator.getContext().getProperty("eclipse.p2.profile"); //$NON-NLS-1$
- }
-
- private static File getDefaultRegistryDirectory() {
- File registryDirectory = null;
- AgentLocation agent = (AgentLocation) ServiceHelper.getService(EngineActivator.getContext(), AgentLocation.class.getName());
- try {
- URL registryURL = new URL(agent.getDataArea(EngineActivator.ID), DEFAULT_STORAGE_DIR);
- registryDirectory = new File(registryURL.getPath());
- registryDirectory.mkdirs();
-
- } catch (MalformedURLException e) {
- //this is not possible because we know the above URL is valid
- }
- return registryDirectory;
- }
-
- /**
- * If the current profile for self is marked as a roaming profile, we need
- * to update its install and bundle pool locations.
- */
- private void updateSelfProfile(Map profileMap) {
- if (profileMap == null)
- return;
- Profile selfProfile = (Profile) profileMap.get(self);
- if (selfProfile == null)
- return;
-
- boolean changed = false;
- //only update if self is a roaming profile
- if (Boolean.valueOf(selfProfile.getProperty(IProfile.PROP_ROAMING)).booleanValue())
- changed = updateRoamingProfile(selfProfile);
-
- if (surrogateProfileHandler != null && surrogateProfileHandler.isSurrogate(selfProfile))
- changed = changed || surrogateProfileHandler.updateProfile(selfProfile);
-
- if (changed)
- saveProfile(selfProfile);
- }
-
- private boolean updateRoamingProfile(Profile selfProfile) {
- Location installLocation = (Location) ServiceHelper.getService(EngineActivator.getContext(), Location.class.getName(), Location.INSTALL_FILTER);
- File location = new File(installLocation.getURL().getPath());
- boolean changed = false;
- if (!location.equals(new File(selfProfile.getProperty(IProfile.PROP_INSTALL_FOLDER)))) {
- selfProfile.setProperty(IProfile.PROP_INSTALL_FOLDER, location.getAbsolutePath());
- changed = true;
- }
- if (!location.equals(new File(selfProfile.getProperty(IProfile.PROP_CACHE)))) {
- selfProfile.setProperty(IProfile.PROP_CACHE, location.getAbsolutePath());
- changed = true;
- }
- return changed;
- }
-
- public synchronized String toString() {
- return getProfileMap().toString();
- }
-
- public synchronized IProfile getProfile(String id) {
- Profile profile = internalGetProfile(id);
- if (profile == null)
- return null;
- return profile.snapshot();
- }
-
- private Profile internalGetProfile(String id) {
- if (SELF.equals(id))
- id = self;
- Profile profile = (Profile) getProfileMap().get(id);
- if (profile == null && self != null && self.equals(id))
- profile = createSurrogateProfile(id);
-
- return profile;
- }
-
- private Profile createSurrogateProfile(String id) {
- if (surrogateProfileHandler == null)
- return null;
-
- Profile profile = surrogateProfileHandler.createProfile(id);
- if (profile == null)
- return null;
-
- saveProfile(profile);
-
- // reset profile cache
- profiles = null;
- updateSelfProfile = true;
- return (Profile) getProfileMap().get(id);
- }
-
- public synchronized IProfile[] getProfiles() {
- Map profileMap = getProfileMap();
- Profile[] result = new Profile[profileMap.size()];
- int i = 0;
- for (Iterator it = profileMap.values().iterator(); it.hasNext(); i++) {
- Profile profile = (Profile) it.next();
- result[i] = profile.snapshot();
- }
- return result;
- }
-
- /**
- * Returns an initialized map of String(Profile id)->Profile.
- */
- protected Map getProfileMap() {
- if (profiles != null) {
- Map result = (Map) profiles.get();
- if (result != null)
- return result;
- }
- Map result = restore();
- if (result == null)
- result = new LinkedHashMap(8);
- profiles = new SoftReference(result);
- if (updateSelfProfile) {
- //update self profile on first load
- updateSelfProfile = false;
- updateSelfProfile(result);
- }
- return result;
- }
-
- public synchronized void updateProfile(Profile profile) {
- String id = profile.getProfileId();
- Profile current = internalGetProfile(id);
- if (current == null)
- throw new IllegalArgumentException(NLS.bind(Messages.profile_does_not_exist, id));
-
- Lock lock = (Lock) profileLocks.get(id);
- lock.checkLocked();
-
- current.clearLocalProperties();
- current.clearInstallableUnits();
-
- current.addProperties(profile.getLocalProperties());
- Collector collector = profile.query(InstallableUnitQuery.ANY, new Collector(), null);
- for (Iterator collectorIt = collector.iterator(); collectorIt.hasNext();) {
- IInstallableUnit iu = (IInstallableUnit) collectorIt.next();
- current.addInstallableUnit(iu);
- Map iuProperties = profile.getInstallableUnitProperties(iu);
- if (iuProperties != null)
- current.addInstallableUnitProperties(iu, iuProperties);
- }
- saveProfile(current);
- profile.setTimestamp(current.getTimestamp());
- broadcastChangeEvent(id, ProfileEvent.CHANGED);
- }
-
- public IProfile addProfile(String id) throws ProvisionException {
- return addProfile(id, null, null);
- }
-
- public IProfile addProfile(String id, Map profileProperties) throws ProvisionException {
- return addProfile(id, profileProperties, null);
- }
-
- public synchronized IProfile addProfile(String id, Map profileProperties, String parentId) throws ProvisionException {
- if (SELF.equals(id))
- id = self;
- Map profileMap = getProfileMap();
- if (profileMap.get(id) != null)
- throw new ProvisionException(NLS.bind(Messages.Profile_Duplicate_Root_Profile_Id, id));
-
- Profile parent = null;
- if (parentId != null) {
- if (SELF.equals(parentId))
- parentId = self;
- parent = (Profile) profileMap.get(parentId);
- if (parent == null)
- throw new ProvisionException(NLS.bind(Messages.Profile_Parent_Not_Found, parentId));
- }
-
- Profile profile = new Profile(id, parent, profileProperties);
- if (surrogateProfileHandler != null && surrogateProfileHandler.isSurrogate(profile))
- profile.setSurrogateProfileHandler(surrogateProfileHandler);
- profileMap.put(id, profile);
- saveProfile(profile);
- broadcastChangeEvent(id, ProfileEvent.ADDED);
- return profile.snapshot();
- }
-
- public synchronized void removeProfile(String profileId) {
- if (SELF.equals(profileId))
- profileId = self;
- //note we need to maintain a reference to the profile map until it is persisted to prevent gc
- Map profileMap = getProfileMap();
- Profile profile = (Profile) profileMap.get(profileId);
- if (profile == null)
- return;
-
- String[] subProfileIds = profile.getSubProfileIds();
- for (int i = 0; i < subProfileIds.length; i++) {
- removeProfile(subProfileIds[i]);
- }
- internalLockProfile(profile);
- try {
- profile.setParent(null);
- } finally {
- internalUnlockProfile(profile);
- }
- profileMap.remove(profileId);
- profileLocks.remove(profileId);
- deleteProfile(profileId);
- broadcastChangeEvent(profileId, ProfileEvent.REMOVED);
- }
-
- private void broadcastChangeEvent(String profileId, byte reason) {
- ((IProvisioningEventBus) ServiceHelper.getService(EngineActivator.getContext(), IProvisioningEventBus.class.getName())).publishEvent(new ProfileEvent(profileId, reason));
- }
-
- /**
- * Restores the profile registry from disk, and returns the loaded profile map.
- * Returns <code>null</code> if unable to read the registry.
- */
- private Map restore() {
-
- if (store == null || !store.isDirectory())
- throw new IllegalStateException(Messages.reg_dir_not_available);
-
- Parser parser = new Parser(EngineActivator.getContext(), EngineActivator.ID);
- File[] profileDirectories = store.listFiles();
- for (int i = 0; i < profileDirectories.length; i++) {
- File profileFile = findLatestProfileFile(profileDirectories[i]);
- if (profileFile != null) {
- try {
- parser.parse(profileFile);
- } catch (IOException e) {
- LogHelper.log(new Status(IStatus.ERROR, EngineActivator.ID, NLS.bind(Messages.error_parsing_profile, profileFile), e));
- }
- }
- }
- return parser.getProfileMap();
- }
-
- private File findLatestProfileFile(File profileDirectory) {
-
- File latest = null;
- long latestTimestamp = 0;
- File[] profileFiles = profileDirectory.listFiles(new FileFilter() {
- public boolean accept(File pathname) {
- return pathname.getName().endsWith(PROFILE_EXT) && !pathname.isDirectory();
- }
- });
- for (int i = 0; i < profileFiles.length; i++) {
- File profileFile = profileFiles[i];
- String fileName = profileFile.getName();
- try {
- long timestamp = Long.parseLong(fileName.substring(0, fileName.indexOf(PROFILE_EXT)));
- if (timestamp > latestTimestamp) {
- latestTimestamp = timestamp;
- latest = profileFile;
- }
- } catch (NumberFormatException e) {
- // ignore
- }
- }
- return latest;
- }
-
- private void saveProfile(Profile profile) {
-
- File profileDirectory = new File(store, escape(profile.getProfileId()) + PROFILE_EXT);
- profileDirectory.mkdir();
-
- long previousTimestamp = profile.getTimestamp();
- long currentTimestamp = System.currentTimeMillis();
- File profileFile = new File(profileDirectory, Long.toString(currentTimestamp) + PROFILE_EXT);
-
- profile.setTimestamp(currentTimestamp);
- profile.setChanged(false);
- OutputStream os = null;
- try {
- os = new BufferedOutputStream(new FileOutputStream(profileFile));
- Writer writer = new Writer(os);
- writer.writeProfile(profile);
- } catch (IOException e) {
- profile.setTimestamp(previousTimestamp);
- profileFile.delete();
- LogHelper.log(new Status(IStatus.ERROR, EngineActivator.ID, NLS.bind(Messages.error_persisting_profile, profile.getProfileId()), e));
- } finally {
- try {
- if (os != null)
- os.close();
- } catch (IOException e) {
- // ignore
- }
- }
- }
-
- private void deleteProfile(String profileId) {
- File profileDirectory = new File(store, escape(profileId) + PROFILE_EXT);
- FileUtils.deleteAll(profileDirectory);
- }
-
- private static String escape(String toEscape) {
- StringBuffer buffer = new StringBuffer();
- int length = toEscape.length();
- for (int i = 0; i < length; ++i) {
- char ch = toEscape.charAt(i);
- switch (ch) {
- case '\\' :
- case '/' :
- case ':' :
- case '*' :
- case '?' :
- case '"' :
- case '<' :
- case '>' :
- case '|' :
- case '%' :
- buffer.append("%" + (int) ch + ";"); //$NON-NLS-1$ //$NON-NLS-2$
- break;
- default :
- buffer.append(ch);
- }
- }
- return buffer.toString();
- }
-
- static class Writer extends ProfileWriter {
-
- public Writer(OutputStream output) throws IOException {
- super(output, new ProcessingInstruction[] {ProcessingInstruction.makeClassVersionInstruction(PROFILE_TARGET, Profile.class, ProfileXMLConstants.CURRENT_VERSION)});
- }
- }
-
- /*
- * Parser for the contents of a SimpleProfileRegistry,
- * as written by the Writer class.
- */
- class Parser extends ProfileParser {
- private final Map profileHandlers = new HashMap();
-
- public Parser(BundleContext context, String bundleId) {
- super(context, bundleId);
- }
-
- public void parse(File file) throws IOException {
- parse(new BufferedInputStream(new FileInputStream(file)));
- }
-
- public synchronized void parse(InputStream stream) throws IOException {
- this.status = null;
- try {
- // TODO: currently not caching the parser since we make no assumptions
- // or restrictions on concurrent parsing
- getParser();
- ProfileHandler profileHandler = new ProfileHandler();
- xmlReader.setContentHandler(new ProfileDocHandler(PROFILE_ELEMENT, profileHandler));
- xmlReader.parse(new InputSource(stream));
- profileHandlers.put(profileHandler.getProfileId(), profileHandler);
- } catch (SAXException e) {
- throw new IOException(e.getMessage());
- } catch (ParserConfigurationException e) {
- throw new IOException(e.getMessage());
- } finally {
- stream.close();
- }
- }
-
- protected Object getRootObject() {
- return this;
- }
-
- public Map getProfileMap() {
- Map profileMap = new HashMap();
- for (Iterator it = profileHandlers.keySet().iterator(); it.hasNext();) {
- String profileId = (String) it.next();
- addProfile(profileId, profileMap);
- }
- return profileMap;
- }
-
- private void addProfile(String profileId, Map profileMap) {
- if (profileMap.containsKey(profileId))
- return;
-
- ProfileHandler profileHandler = (ProfileHandler) profileHandlers.get(profileId);
- Profile parentProfile = null;
-
- String parentId = profileHandler.getParentId();
- if (parentId != null) {
- addProfile(parentId, profileMap);
- parentProfile = (Profile) profileMap.get(parentId);
- }
-
- Profile profile = new Profile(profileId, parentProfile, profileHandler.getProperties());
- if (surrogateProfileHandler != null && surrogateProfileHandler.isSurrogate(profile))
- profile.setSurrogateProfileHandler(surrogateProfileHandler);
-
- profile.setTimestamp(profileHandler.getTimestamp());
-
- IInstallableUnit[] ius = profileHandler.getInstallableUnits();
- if (ius != null) {
- for (int i = 0; i < ius.length; i++) {
- IInstallableUnit iu = ius[i];
- profile.addInstallableUnit(iu);
- Map iuProperties = profileHandler.getIUProperties(iu);
- if (iuProperties != null) {
- for (Iterator it = iuProperties.entrySet().iterator(); it.hasNext();) {
- Entry entry = (Entry) it.next();
- String key = (String) entry.getKey();
- String value = (String) entry.getValue();
- profile.setInstallableUnitProperty(iu, key, value);
- }
- }
- }
- }
- profile.setChanged(false);
- profileMap.put(profileId, profile);
- }
-
- private final class ProfileDocHandler extends DocHandler {
-
- public ProfileDocHandler(String rootName, RootHandler rootHandler) {
- super(rootName, rootHandler);
- }
-
- public void processingInstruction(String target, String data) throws SAXException {
- if (ProfileXMLConstants.PROFILE_TARGET.equals(target)) {
- Version repositoryVersion = extractPIVersion(target, data);
- if (!ProfileXMLConstants.XML_TOLERANCE.isIncluded(repositoryVersion)) {
- throw new SAXException(NLS.bind(Messages.SimpleProfileRegistry_Parser_Has_Incompatible_Version, repositoryVersion, ProfileXMLConstants.XML_TOLERANCE));
- }
- }
- }
- }
-
- protected String getErrorMessage() {
- return Messages.SimpleProfileRegistry_Parser_Error_Parsing_Registry;
- }
-
- public String toString() {
- // TODO:
- return null;
- }
-
- }
-
- public synchronized void lockProfile(Profile profile) {
- Profile internalProfile = internalGetProfile(profile.getProfileId());
- if (internalProfile == null)
- throw new IllegalArgumentException(NLS.bind(Messages.profile_not_registered, profile.getProfileId()));
-
- if (profile.isChanged() || !checkTimestamps(profile, internalProfile))
- throw new IllegalArgumentException(NLS.bind(Messages.profile_not_current, profile.getProfileId()));
-
- internalLockProfile(internalProfile);
- }
-
- private void internalLockProfile(IProfile profile) {
- Lock lock = (Lock) profileLocks.get(profile.getProfileId());
- if (lock == null) {
- lock = new Lock();
- profileLocks.put(profile.getProfileId(), lock);
- }
- lock.lock(this);
- if (profile.getParentProfile() != null)
- internalLockProfile(profile.getParentProfile());
- }
-
- private boolean checkTimestamps(IProfile profile, IProfile internalProfile) {
- if (profile.getTimestamp() == internalProfile.getTimestamp()) {
- if (profile.getParentProfile() == null)
- return true;
-
- return checkTimestamps(profile.getParentProfile(), internalProfile.getParentProfile());
- }
- return false;
- }
-
- public synchronized void unlockProfile(IProfile profile) {
- Profile internalProfile = internalGetProfile(profile.getProfileId());
- if (internalProfile == null)
- throw new IllegalArgumentException(NLS.bind(Messages.profile_not_registered, profile.getProfileId()));
- internalUnlockProfile(internalProfile);
- }
-
- private void internalUnlockProfile(IProfile profile) {
- if (profile.getParentProfile() != null)
- internalUnlockProfile(profile.getParentProfile());
-
- Lock lock = (Lock) profileLocks.get(profile.getProfileId());
- lock.unlock(this);
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/SurrogateProfileHandler.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/SurrogateProfileHandler.java
deleted file mode 100644
index 4fe495f..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/SurrogateProfileHandler.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Iterator;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.engine.ISurrogateProfileHandler;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.query.Query;
-import org.eclipse.osgi.service.datalocation.Location;
-import org.eclipse.osgi.util.NLS;
-
-public class SurrogateProfileHandler implements ISurrogateProfileHandler {
-
- private static final String NATIVE_TOUCHPOINT_TYPE = "org.eclipse.equinox.p2.native"; //$NON-NLS-1$
- private static final String PROP_TYPE_ROOT = "org.eclipse.equinox.p2.type.root"; //$NON-NLS-1$
- private static final String P2_ENGINE_DIR = "p2/" + EngineActivator.ID + "/"; //$NON-NLS-1$//$NON-NLS-2$
- private static final String OSGI_INSTALL_AREA = "osgi.install.area"; //$NON-NLS-1$
- private static final String ECLIPSE_INI_IGNORED = "eclipse.ini.ignored"; //$NON-NLS-1$
- private static final String IU_LOCKED = Integer.toString(IInstallableUnit.LOCK_UNINSTALL | IInstallableUnit.LOCK_UPDATE);
- private static final String PROP_SURROGATE = "org.eclipse.equinox.p2.surrogate"; //$NON-NLS-1$
- private static final String PROP_SHARED_TIMESTAMP = "org.eclipse.equinox.p2.shared.timestamp"; //$NON-NLS-1$
- private static final String PROP_BASE = "org.eclipse.equinox.p2.base"; //$NON-NLS-1$
- private static final String PROP_RESOLVE = "org.eclipse.equinox.p2.resolve"; //$NON-NLS-1$
- private static final String OPTIONAL = "OPTIONAL"; //$NON-NLS-1$
- private static final String PROP_INCLUSION_RULES = "org.eclipse.equinox.p2.internal.inclusion.rules"; //$NON-NLS-1$
-
- private SimpleProfileRegistry profileRegistry;
-
- private static void addSharedProfileBaseIUs(final IProfile sharedProfile, final Profile userProfile) {
- Query rootIUQuery = new Query() {
- public boolean isMatch(Object candidate) {
- if (candidate instanceof IInstallableUnit) {
- IInstallableUnit iu = (IInstallableUnit) candidate;
- if (Boolean.valueOf(sharedProfile.getInstallableUnitProperty(iu, PROP_TYPE_ROOT)).booleanValue())
- return true;
- if (iu.getTouchpointType().getId().equals(NATIVE_TOUCHPOINT_TYPE))
- return true;
- }
- return false;
- }
- };
- Collector rootIUs = sharedProfile.query(rootIUQuery, new Collector(), null);
- for (Iterator iterator = rootIUs.iterator(); iterator.hasNext();) {
- IInstallableUnit iu = (IInstallableUnit) iterator.next();
- userProfile.addInstallableUnit(iu);
- userProfile.addInstallableUnitProperties(iu, sharedProfile.getInstallableUnitProperties(iu));
- userProfile.setInstallableUnitProperty(iu, IInstallableUnit.PROP_PROFILE_LOCKED_IU, IU_LOCKED);
- userProfile.setInstallableUnitProperty(iu, PROP_BASE, Boolean.TRUE.toString());
- }
- }
-
- private static void removeUserProfileBaseIUs(final Profile userProfile) {
- Query rootIUQuery = new Query() {
- public boolean isMatch(Object candidate) {
- if (candidate instanceof IInstallableUnit) {
- IInstallableUnit iu = (IInstallableUnit) candidate;
- if (Boolean.valueOf(userProfile.getInstallableUnitProperty(iu, PROP_BASE)).booleanValue())
- return true;
- }
- return false;
- }
- };
- Collector rootIUs = userProfile.query(rootIUQuery, new Collector(), null);
- for (Iterator iterator = rootIUs.iterator(); iterator.hasNext();) {
- IInstallableUnit iu = (IInstallableUnit) iterator.next();
- userProfile.removeInstallableUnit(iu);
- }
- }
-
- private static void markRootsOptional(final Profile userProfile) {
- Query rootIUQuery = new Query() {
- public boolean isMatch(Object candidate) {
- if (candidate instanceof IInstallableUnit) {
- IInstallableUnit iu = (IInstallableUnit) candidate;
- if (Boolean.valueOf(userProfile.getInstallableUnitProperty(iu, PROP_TYPE_ROOT)).booleanValue())
- return true;
- }
- return false;
- }
- };
- Collector rootIUs = userProfile.query(rootIUQuery, new Collector(), null);
- for (Iterator iterator = rootIUs.iterator(); iterator.hasNext();) {
- IInstallableUnit iu = (IInstallableUnit) iterator.next();
- userProfile.setInstallableUnitProperty(iu, PROP_INCLUSION_RULES, OPTIONAL);
- }
- }
-
- private static void updateProperties(final IProfile sharedProfile, Profile userProfile) {
- userProfile.setProperty(PROP_SHARED_TIMESTAMP, Long.toString(sharedProfile.getTimestamp()));
- Location installLocation = (Location) ServiceHelper.getService(EngineActivator.getContext(), Location.class.getName(), Location.INSTALL_FILTER);
- File installFolder = new File(installLocation.getURL().getPath());
-
- if (Boolean.valueOf(sharedProfile.getProperty(IProfile.PROP_ROAMING)).booleanValue()) {
- userProfile.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.getAbsolutePath());
- userProfile.setProperty(IProfile.PROP_SHARED_CACHE, installFolder.getAbsolutePath());
- userProfile.setProperty(IProfile.PROP_ROAMING, Boolean.FALSE.toString());
- } else {
- String cache = sharedProfile.getProperty(IProfile.PROP_CACHE);
- if (cache != null)
- userProfile.setProperty(IProfile.PROP_SHARED_CACHE, cache);
- }
-
- Location configurationLocation = (Location) ServiceHelper.getService(EngineActivator.getContext(), Location.class.getName(), Location.CONFIGURATION_FILTER);
- File configurationFolder = new File(configurationLocation.getURL().getPath());
-
- userProfile.setProperty(IProfile.PROP_CACHE, configurationFolder.getParentFile().getAbsolutePath());
- userProfile.setProperty(IProfile.PROP_CONFIGURATION_FOLDER, configurationFolder.getAbsolutePath());
-
- File launcherConfigFile = new File(configurationFolder, ECLIPSE_INI_IGNORED);
- userProfile.setProperty(IProfile.PROP_LAUNCHER_CONFIGURATION, launcherConfigFile.getAbsolutePath());
- }
-
- private synchronized SimpleProfileRegistry getProfileRegistry() {
- if (profileRegistry == null) {
- String installArea = EngineActivator.getContext().getProperty(OSGI_INSTALL_AREA);
- try {
- URL registryURL = new URL(installArea + P2_ENGINE_DIR + SimpleProfileRegistry.DEFAULT_STORAGE_DIR);
- File sharedRegistryDirectory = new File(registryURL.getPath());
- profileRegistry = new SimpleProfileRegistry(sharedRegistryDirectory, null, false);
- } catch (MalformedURLException e) {
- //this is not possible because we know the above URL is valid
- }
- }
- return profileRegistry;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.p2.engine.ISurrogateProfileHandler#createProfile(java.lang.String)
- */
- public Profile createProfile(String id) {
- final IProfile sharedProfile = getProfileRegistry().getProfile(id);
- if (sharedProfile == null)
- return null;
-
- Profile userProfile = new Profile(id, null, sharedProfile.getProperties());
- userProfile.setProperty(PROP_SURROGATE, Boolean.TRUE.toString());
- userProfile.setSurrogateProfileHandler(this);
- updateProperties(sharedProfile, userProfile);
- addSharedProfileBaseIUs(sharedProfile, userProfile);
- return userProfile;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.p2.engine.ISurrogateProfileHandler#isSurrogate(org.eclipse.equinox.internal.provisional.p2.engine.IProfile)
- */
- public boolean isSurrogate(IProfile profile) {
- return Boolean.valueOf(profile.getProperty(PROP_SURROGATE)).booleanValue();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.p2.engine.ISurrogateProfileHandler#queryProfile(org.eclipse.equinox.internal.provisional.p2.engine.IProfile, org.eclipse.equinox.internal.provisional.p2.query.Query, org.eclipse.equinox.internal.provisional.p2.query.Collector, org.eclipse.core.runtime.IProgressMonitor)
- */
- public Collector queryProfile(IProfile profile, Query query, Collector collector, IProgressMonitor monitor) {
- IProfile sharedProfile = getProfileRegistry().getProfile(profile.getProfileId());
- if (sharedProfile != null)
- sharedProfile.query(query, collector, monitor);
-
- return profile.query(query, collector, monitor);
- }
-
- public boolean updateProfile(Profile userProfile) {
- final IProfile sharedProfile = getProfileRegistry().getProfile(userProfile.getProfileId());
- if (sharedProfile == null)
- throw new IllegalStateException(NLS.bind(Messages.shared_profile_not_found, userProfile.getProfileId()));
-
- String sharedTimeStamp = Long.toString(sharedProfile.getTimestamp());
- String userSharedTimeStamp = userProfile.getProperty(PROP_SHARED_TIMESTAMP);
-
- if (userSharedTimeStamp != null && userSharedTimeStamp.equals(sharedTimeStamp))
- return false;
-
- updateProperties(sharedProfile, userProfile);
- removeUserProfileBaseIUs(userProfile);
- if (!userProfile.query(InstallableUnitQuery.ANY, new Collector(), null).isEmpty()) {
- userProfile.setProperty(PROP_RESOLVE, Boolean.TRUE.toString());
- markRootsOptional(userProfile);
- }
- addSharedProfileBaseIUs(sharedProfile, userProfile);
- return true;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/TouchpointManager.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/TouchpointManager.java
deleted file mode 100644
index 73aef23..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/TouchpointManager.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine;
-
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.provisional.p2.engine.Touchpoint;
-import org.eclipse.equinox.internal.provisional.p2.metadata.TouchpointType;
-import org.eclipse.osgi.util.NLS;
-
-//TODO This needs to support multiple version of each touchpoint and have a lookup that supports version semantics
-public class TouchpointManager implements IRegistryChangeListener {
-
- private static TouchpointManager instance;
-
- public static TouchpointManager getInstance() {
- if (instance == null) {
- instance = new TouchpointManager();
- }
- return instance;
- }
-
- private static final String PT_TOUCHPOINTS = "touchpoints"; //$NON-NLS-1$
- private static final String ELEMENT_TOUCHPOINT = "touchpoint"; //$NON-NLS-1$
- private static final String ELEMENT_TOUCHPOINT_DATA = "data"; //$NON-NLS-1$
- private static final String ATTRIBUTE_CLASS = "class"; //$NON-NLS-1$
- private static final String ATTRIBUTE_TYPE = "type"; //$NON-NLS-1$
-
- private class TouchpointEntry {
-
- private IConfigurationElement element;
- private boolean createdExtension;
- private Touchpoint touchpoint;
-
- public TouchpointEntry(IConfigurationElement element) {
- super();
- this.element = element;
- this.touchpoint = null;
- this.createdExtension = false;
- }
-
- public TouchpointEntry(IConfigurationElement element, Touchpoint touchpoint) {
- super();
- this.element = element;
- this.touchpoint = touchpoint;
- this.createdExtension = (touchpoint != null ? true : false);
- }
-
- public boolean hasTouchpoint() {
- return (this.touchpoint != null);
- }
-
- public Touchpoint getTouchpoint() {
- if (!createdExtension) {
- String id = element.getAttribute(ATTRIBUTE_TYPE);
- try {
- Touchpoint touchpointInstance = (Touchpoint) element.createExecutableExtension(ATTRIBUTE_CLASS);
- if (touchpointInstance != null) {
- if (!id.equals(touchpointInstance.getTouchpointType().getId())) {
- reportError(NLS.bind(Messages.TouchpointManager_Touchpoint_Type_Mismatch, id, touchpointInstance.getTouchpointType().getId()), null);
- }
- this.touchpoint = touchpointInstance;
- } else {
- String errorMsg = NLS.bind(Messages.TouchpointManager_Null_Creating_Touchpoint_Extension, id);
- throw new CoreException(new Status(IStatus.ERROR, EngineActivator.ID, 1, errorMsg, null));
- }
- } catch (CoreException cexcpt) {
- LogHelper.log(new Status(IStatus.ERROR, EngineActivator.ID, NLS.bind(Messages.TouchpointManager_Exception_Creating_Touchpoint_Extension, id), cexcpt));
- } catch (ClassCastException ccexcpt) {
- LogHelper.log(new Status(IStatus.ERROR, EngineActivator.ID, NLS.bind(Messages.TouchpointManager_Exception_Creating_Touchpoint_Extension, id), ccexcpt));
- }
- // Mark as created even in error cases,
- // so exceptions are not logged multiple times
- createdExtension = true;
- }
- return this.touchpoint;
- }
-
- public String toString() {
- StringBuffer result = new StringBuffer(element.toString());
- if (createdExtension) {
- String touchpointString = touchpoint != null ? touchpoint.toString() : "not created"; //$NON-NLS-1$
- result.append(" => " + touchpointString); //$NON-NLS-1$
- }
- return result.toString();
- }
- }
-
- // TODO: Do we really want to store the touchpoints? The danger is
- // that if two installations are performed simultaneously, then...
- // TODO: Figure out locking, concurrency requirements for touchpoints.
- private Map touchpointEntries;
-
- private TouchpointManager() {
- RegistryFactory.getRegistry().addRegistryChangeListener(this, EngineActivator.ID);
- }
-
- /*
- * Return the touchpoint which is registered for the given id,
- * or <code>null</code> if none are registered.
- */
- public Touchpoint getTouchpoint(TouchpointType id) {
- if (id == null || "".equals(id.getId())) //$NON-NLS-1$
- throw new IllegalArgumentException(Messages.TouchpointManager_Null_Touchpoint_Type_Argument);
- if (touchpointEntries == null) {
- initializeTouchpoints();
- }
- TouchpointEntry entry = (TouchpointEntry) touchpointEntries.get(id.getId());
- return entry == null ? null : entry.getTouchpoint();
- }
-
- public Touchpoint[] getAllTouchpoints() {
- if (touchpointEntries == null) {
- initializeTouchpoints();
- }
- Collection adapters = touchpointEntries.values();
-
- ArrayList touchpoints = new ArrayList(adapters.size());
- for (Iterator iter = adapters.iterator(); iter.hasNext();) {
- TouchpointEntry entry = (TouchpointEntry) iter.next();
- Touchpoint touchpoint = entry.getTouchpoint();
- if (touchpoint != null) {
- touchpoints.add(touchpoint);
- }
- }
- return (Touchpoint[]) touchpoints.toArray(new Touchpoint[touchpoints.size()]);
- }
-
- public Touchpoint[] getCreatedTouchpoints() {
- if (touchpointEntries == null)
- return new Touchpoint[0];
- Collection adapters = touchpointEntries.values();
-
- ArrayList touchpoints = new ArrayList(adapters.size());
- for (Iterator iter = adapters.iterator(); iter.hasNext();) {
- TouchpointEntry entry = (TouchpointEntry) iter.next();
- if (entry.hasTouchpoint()) {
- Touchpoint touchpoint = entry.getTouchpoint();
- if (touchpoint != null) {
- touchpoints.add(touchpoint);
- }
- }
- }
- return (Touchpoint[]) touchpoints.toArray(new Touchpoint[touchpoints.size()]);
- }
-
- public IStatus validateTouchpoints(String[] requiredTypes) {
- MultiStatus status = touchpointEntries == null ? initializeTouchpoints() : new MultiStatus(EngineActivator.ID, IStatus.OK, null, null);
-
- for (int i = 0; i < requiredTypes.length; i++) {
- TouchpointEntry entry = (TouchpointEntry) touchpointEntries.get(requiredTypes[i]);
- if (entry == null) {
- reportError(NLS.bind(Messages.TouchpointManager_Required_Touchpoint_Not_Found, requiredTypes[i]), status);
- }
- }
- return status;
- }
-
- /*
- * Construct a map of the extensions that implement the touchpoints extension point.
- */
- private MultiStatus initializeTouchpoints() {
- MultiStatus status = new MultiStatus(EngineActivator.ID, IStatus.OK, null, null);
- IExtensionPoint point = RegistryFactory.getRegistry().getExtensionPoint(EngineActivator.ID, PT_TOUCHPOINTS);
- if (point == null) {
- reportError(NLS.bind(Messages.TouchpointManager_No_Extension_Point, EngineActivator.ID, PT_TOUCHPOINTS), status);
- touchpointEntries = new HashMap(0);
- return status;
- }
-
- IExtension[] extensions = point.getExtensions();
- touchpointEntries = new HashMap(extensions.length);
- for (int i = 0; i < extensions.length; i++) {
- IConfigurationElement[] elements = extensions[i].getConfigurationElements();
- for (int j = 0; j < elements.length; j++) {
- String elementName = elements[j].getName();
- if (!ELEMENT_TOUCHPOINT.equalsIgnoreCase(elements[j].getName())) {
- if (!ELEMENT_TOUCHPOINT_DATA.equals(elementName)) { // TODO: are 'data' elements still needed?
- reportError(NLS.bind(Messages.TouchpointManager_Incorrectly_Named_Extension, elements[j].getName(), ELEMENT_TOUCHPOINT), status);
- }
- continue;
- }
- String id = elements[j].getAttribute(ATTRIBUTE_TYPE);
- if (id == null) {
- reportError(NLS.bind(Messages.TouchpointManager_Attribute_Not_Specified, ATTRIBUTE_TYPE), status);
- continue;
- }
- if (touchpointEntries.get(id) == null) {
- touchpointEntries.put(id, new TouchpointEntry(elements[j]));
- } else {
- reportError(NLS.bind(Messages.TouchpointManager_Conflicting_Touchpoint_Types, ATTRIBUTE_TYPE, id), status);
- }
- }
- }
- return status;
- }
-
- static void reportError(String errorMsg, MultiStatus status) {
- Status errorStatus = new Status(IStatus.ERROR, EngineActivator.ID, 1, errorMsg, null);
- if (status != null && !status.isOK())
- status.add(errorStatus);
- LogHelper.log(errorStatus);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.core.runtime.IRegistryChangeListener#registryChanged(org.eclipse.core.runtime.IRegistryChangeEvent)
- */
- public void registryChanged(IRegistryChangeEvent event) {
- // just flush the cache when something changed. It will be recomputed on demand.
- touchpointEntries = null;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/messages.properties b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/messages.properties
deleted file mode 100644
index 94cf942..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/messages.properties
+++ /dev/null
@@ -1,45 +0,0 @@
-###############################################################################
-# Copyright (c) 2007, 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-action_not_found=No action found for: {0}.
-download_artifact=Downloading artifacts
-download_no_repository=No artifact repository available.
-
-error_parsing_profile=Error parsing profile {0}.
-error_persisting_profile=Error persisting profile {0}.
-failed_creating_metadata_cache=Metadata cache could not be created.
-
-TouchpointManager_Null_Touchpoint_Type_Argument=A null or empty string was passed as the type of a touchpoint.
-TouchpointManager_Required_Touchpoint_Not_Found=The required {0} touchpoint is not included in the installation manager configuration.
-TouchpointManager_No_Extension_Point=The extension point {0}.{1} was not found in the platform extension registry.
-TouchpointManager_Incorrectly_Named_Extension=A touchpoint extension is incorrectly named {0} instead of {1}.
-TouchpointManager_Attribute_Not_Specified=The required attribute {0} is not specified for the touchpoints extension point.
-TouchpointManager_Conflicting_Touchpoint_Types=Two or more touchpoint extensions of type {0} are defined.
-TouchpointManager_Touchpoint_Type_Mismatch=The touchpoint registered for type {0} reports its type as {1}.
-TouchpointManager_Exception_Creating_Touchpoint_Extension=An exception was thrown and caught when creating the extension point instance for the {0} touchpoint.
-TouchpointManager_Null_Creating_Touchpoint_Extension=A null object was returned when creating the extension point instance for the {0} touchpoint.
-
-ParameterizedProvisioningAction_action_or_parameters_null=Both action and action pararameters must not be null.
-Profile_Null_Profile_Id=A profile must have an non-empty id.
-Profile_Duplicate_Root_Profile_Id=Adding a profile with duplicate id: {0}.
-Profile_Parent_Not_Found=Parent profile not found: {0}.
-
-SimpleProfileRegistry_Parser_Error_Parsing_Registry=\
- Error parsing the profile registry.
-SimpleProfileRegistry_Parser_Has_Incompatible_Version=\
- The profile registry has incompatible version {0}; expected {1}.
-
-profile_does_not_exist=Profile to be updated does not exist: {0}.
-profile_not_current=Profile {0} is not current.
-profile_not_registered=Profile {0} not registered.
-reg_dir_not_available=Registry Directory not available.
-thread_not_owner=Thread not lock owner.
-shared_profile_not_found=Shared profile {0} not found.
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/BeginOperationEvent.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/BeginOperationEvent.java
deleted file mode 100644
index d9de82c..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/BeginOperationEvent.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.engine;
-
-public class BeginOperationEvent extends TransactionEvent {
-
- private static final long serialVersionUID = 6389318375739324865L;
-
- public BeginOperationEvent(IProfile profile, PhaseSet phaseSet, Operand[] operands, IEngine engine) {
- super(profile, phaseSet, operands, engine);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/CertificateChecker.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/CertificateChecker.java
deleted file mode 100644
index 46c5f03..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/CertificateChecker.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.engine;
-
-import java.io.File;
-import java.io.IOException;
-import java.security.GeneralSecurityException;
-import java.security.cert.Certificate;
-import java.util.ArrayList;
-import java.util.Iterator;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.engine.EngineActivator;
-import org.eclipse.equinox.internal.provisional.p2.core.IServiceUI;
-import org.eclipse.osgi.service.security.TrustEngine;
-import org.eclipse.osgi.signedcontent.*;
-import org.osgi.util.tracker.ServiceTracker;
-
-public class CertificateChecker {
- private ArrayList artifacts;
- private ServiceTracker trustEngineTracker;
-
- public CertificateChecker() {
- artifacts = new ArrayList();
- trustEngineTracker = new ServiceTracker(EngineActivator.getContext(), TrustEngine.class.getName(), null);
- trustEngineTracker.open();
- }
-
- public IStatus start() {
- return checkCertificates();
- }
-
- private IStatus checkCertificates() {
- SignedContentFactory verifierFactory = (SignedContentFactory) ServiceHelper.getService(EngineActivator.getContext(), SignedContentFactory.class.getName());
- IServiceUI serviceUI = (IServiceUI) ServiceHelper.getService(EngineActivator.getContext(), IServiceUI.class.getName());
- SignedContent content = null;
- SignerInfo[] signerInfo = null;
- ArrayList untrusted = new ArrayList();
- ArrayList untrustedChain = new ArrayList();
- IStatus status = Status.OK_STATUS;
- if (artifacts.size() == 0 || serviceUI == null)
- return status;
- Iterator artifact = artifacts.iterator();
- TrustEngine trustEngine = (TrustEngine) trustEngineTracker.getService();
- while (artifact.hasNext()) {
- try {
- content = verifierFactory.getSignedContent((File) artifact.next());
- if (!content.isSigned())
- continue;
- signerInfo = content.getSignerInfos();
- } catch (GeneralSecurityException e) {
- return new Status(IStatus.ERROR, EngineActivator.ID, Messages.CertificateChecker_SignedContentError, e);
- } catch (IOException e) {
- return new Status(IStatus.ERROR, EngineActivator.ID, Messages.CertificateChecker_SignedContentIOError, e);
- }
- for (int i = 0; i < signerInfo.length; i++) {
- Certificate[] certificateChain = signerInfo[i].getCertificateChain();
- try {
- Certificate trustAnchor = trustEngine.findTrustAnchor(certificateChain);
- if (trustAnchor == null) {
- if (!untrusted.contains(certificateChain[0])) {
- untrusted.add(certificateChain[0]);
- untrustedChain.add(certificateChain);
- }
- }
- } catch (IOException e) {
- return new Status(IStatus.ERROR, EngineActivator.ID, Messages.CertificateChecker_KeystoreConnectionError, e);
- }
- }
- }
- if (untrusted.size() > 0) {
- Certificate[][] certificates;
- certificates = new Certificate[untrustedChain.size()][];
- for (int i = 0; i < untrustedChain.size(); i++) {
- certificates[i] = (Certificate[]) untrustedChain.get(i);
- }
- Certificate[] trustedCertificates = serviceUI.showCertificates(certificates);
- if (trustedCertificates == null) {
- return new Status(IStatus.ERROR, EngineActivator.ID, Messages.CertificateChecker_CertificateRejected);
- }
- for (int i = 0; i < trustedCertificates.length; i++) {
- untrusted.remove(trustedCertificates[i]);
- }
- if (untrusted.size() > 0)
- return new Status(IStatus.ERROR, EngineActivator.ID, Messages.CertificateChecker_CertificateRejected);
- // add newly trusted certificates to trust engine
- for (int i = 0; i < trustedCertificates.length; i++) {
- try {
- trustEngine.addTrustAnchor(trustedCertificates[i], trustedCertificates[i].toString());
- } catch (IOException e) {
- //just return an INFO so the user can proceed with the install
- return new Status(IStatus.INFO, EngineActivator.ID, Messages.CertificateChecker_KeystoreConnectionError, e);
- } catch (GeneralSecurityException e) {
- return new Status(IStatus.INFO, EngineActivator.ID, Messages.CertificateChecker_CertificateError, e);
- }
- }
- }
-
- return status;
- }
-
- public void add(File toAdd) {
- artifacts.add(toAdd);
- }
-
- public void add(Object[] toAdd) {
- for (int i = 0; i < toAdd.length; i++) {
- if (toAdd[i] instanceof File)
- add((File) toAdd[i]);
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/CommitOperationEvent.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/CommitOperationEvent.java
deleted file mode 100644
index 00f89a1..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/CommitOperationEvent.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.engine;
-
-public class CommitOperationEvent extends TransactionEvent {
- private static final long serialVersionUID = -523967775426133720L;
-
- public CommitOperationEvent(IProfile profile, PhaseSet phaseSet, Operand[] operands, IEngine engine) {
- super(profile, phaseSet, operands, engine);
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/DefaultPhaseSet.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/DefaultPhaseSet.java
deleted file mode 100644
index d279b77..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/DefaultPhaseSet.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.engine;
-
-import java.util.ArrayList;
-import org.eclipse.equinox.internal.provisional.p2.engine.phases.*;
-
-public class DefaultPhaseSet extends PhaseSet {
-
- public static int PHASE_CHECK_TRUST = 0x01;
- public static int PHASE_COLLECT = 0x02;
- public static int PHASE_CONFIGURE = 0x04;
- public static int PHASE_INSTALL = 0x08;
- public static int PHASE_PROPERTY = 0x10;
- public static int PHASE_UNCONFIGURE = 0x20;
- public static int PHASE_UNINSTALL = 0x40;
-
- public DefaultPhaseSet() {
- super(new Phase[] {new Collect(100), new Unconfigure(10), new Uninstall(50), new Property(1), new CheckTrust(10), new Install(50), new Configure(10)});
- }
-
- private DefaultPhaseSet(Phase[] phases) {
- super(phases);
- }
-
- /**
- * Creates a default phase set that covers all the provisioning operations.
- * Phases can be specified for exclusion.
- *
- * @param exclude - A set of bit options that specify the phases to exclude.
- * See {@link DefaultPhaseSet} for possible options
- * @return the {@link PhaseSet}
- */
- public static final PhaseSet createDefaultPhaseSet(int exclude) {
- ArrayList phases = new ArrayList();
- if ((PHASE_COLLECT & exclude) != PHASE_COLLECT)
- phases.add(new Collect(100));
- if ((PHASE_UNCONFIGURE & exclude) != PHASE_UNCONFIGURE)
- phases.add(new Unconfigure(10));
- if ((PHASE_UNINSTALL & exclude) != PHASE_UNINSTALL)
- phases.add(new Uninstall(50));
- if ((PHASE_PROPERTY & exclude) != PHASE_PROPERTY)
- phases.add(new Property(1));
- if ((PHASE_CHECK_TRUST & exclude) != PHASE_CHECK_TRUST)
- phases.add(new CheckTrust(10));
- if ((PHASE_INSTALL & exclude) != PHASE_INSTALL)
- phases.add(new Install(50));
- if ((PHASE_CONFIGURE & exclude) != PHASE_CONFIGURE)
- phases.add(new Configure(10));
- return new DefaultPhaseSet((Phase[]) phases.toArray(new Phase[phases.size()]));
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/Engine.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/Engine.java
deleted file mode 100644
index c9d7169..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/Engine.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.engine;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus;
-
-public class Engine implements IEngine {
-
- private final IProvisioningEventBus eventBus;
-
- public Engine(IProvisioningEventBus eventBus) {
- this.eventBus = eventBus;
- }
-
- public IStatus perform(IProfile iprofile, PhaseSet phaseSet, Operand[] operands, ProvisioningContext context, IProgressMonitor monitor) {
-
- // TODO -- Messages
- if (iprofile == null)
- throw new IllegalArgumentException(Messages.null_profile);
-
- if (phaseSet == null)
- throw new IllegalArgumentException(Messages.null_phaseset);
-
- if (operands == null)
- throw new IllegalArgumentException(Messages.null_operands);
-
- if (context == null)
- context = new ProvisioningContext();
-
- if (monitor == null)
- monitor = new NullProgressMonitor();
-
- Profile profile = (Profile) iprofile;
- SimpleProfileRegistry profileRegistry = (SimpleProfileRegistry) ServiceHelper.getService(EngineActivator.getContext(), IProfileRegistry.class.getName());
-
- profileRegistry.lockProfile(profile);
- try {
- eventBus.publishEvent(new BeginOperationEvent(profile, phaseSet, operands, this));
-
- EngineSession session = new EngineSession(profile, context);
-
- MultiStatus result = phaseSet.perform(session, profile, operands, context, monitor);
- if (result.matches(IStatus.ERROR | IStatus.CANCEL)) {
- eventBus.publishEvent(new RollbackOperationEvent(profile, phaseSet, operands, this, result));
- session.rollback();
- } else {
- if (profile.isChanged()) {
- profileRegistry.updateProfile(profile);
- }
- eventBus.publishEvent(new CommitOperationEvent(profile, phaseSet, operands, this));
- session.commit();
- }
- //if there is only one child status, return that status instead because it will have more context
- IStatus[] children = result.getChildren();
- return children.length == 1 ? children[0] : result;
- } finally {
- profileRegistry.unlockProfile(profile);
- profile.setChanged(false);
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/EngineSession.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/EngineSession.java
deleted file mode 100644
index a35862e..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/EngineSession.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.engine;
-
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.engine.EngineActivator;
-
-public class EngineSession {
-
- private static class ActionsRecord {
- Operand operand;
- List actions = new ArrayList();
-
- ActionsRecord(Operand operand) {
- this.operand = operand;
- }
- }
-
- private List phaseActionRecordsPairs = new ArrayList();
-
- private Phase currentPhase;
- private List currentActionRecords;
- private ActionsRecord currentRecord;
-
- private IProfile profile;
-
- private ProvisioningContext context;
-
- public EngineSession(IProfile profile, ProvisioningContext context) {
- this.profile = profile;
- this.context = context;
- }
-
- public void commit() {
- phaseActionRecordsPairs.clear();
- }
-
- public MultiStatus rollback() {
- MultiStatus result = new MultiStatus(EngineActivator.ID, IStatus.OK, null, null);
- if (currentPhase != null) {
- rollBackPhase(currentPhase, currentActionRecords);
- currentPhase = null;
- currentActionRecords = null;
- currentRecord = null;
- }
-
- for (ListIterator it = phaseActionRecordsPairs.listIterator(phaseActionRecordsPairs.size()); it.hasPrevious();) {
- Object[] pair = (Object[]) it.previous();
- Phase phase = (Phase) pair[0];
- List actionRecords = (List) pair[1];
- rollBackPhase(phase, actionRecords);
- }
- phaseActionRecordsPairs.clear();
- return result;
- }
-
- private MultiStatus rollBackPhase(Phase phase, List actionRecords) {
- MultiStatus result = new MultiStatus(EngineActivator.ID, IStatus.OK, null, null);
-
- if (phase != currentPhase)
- phase.prePerform(result, profile, context, new NullProgressMonitor());
-
- for (ListIterator it = actionRecords.listIterator(actionRecords.size()); it.hasPrevious();) {
- ActionsRecord record = (ActionsRecord) it.previous();
- ProvisioningAction[] actions = (ProvisioningAction[]) record.actions.toArray(new ProvisioningAction[record.actions.size()]);
- phase.undo(result, this, profile, record.operand, actions, context);
- }
- phase.postPerform(result, profile, context, new NullProgressMonitor());
- return result;
- }
-
- void recordPhaseStart(Phase phase) {
- if (phase == null)
- throw new IllegalArgumentException(Messages.null_phase);
-
- if (currentPhase != null)
- throw new IllegalStateException(Messages.phase_started);
-
- currentPhase = phase;
- currentActionRecords = new ArrayList();
- }
-
- void recordPhaseEnd(Phase phase) {
- if (currentPhase == null)
- throw new IllegalStateException(Messages.phase_not_started);
-
- if (currentPhase != phase)
- throw new IllegalArgumentException(Messages.not_current_phase);
-
- phaseActionRecordsPairs.add(new Object[] {currentPhase, currentActionRecords});
- currentPhase = null;
- currentActionRecords = null;
- currentRecord = null;
- }
-
- void recordAction(ProvisioningAction action, Operand operand) {
- if (action == null || operand == null)
- throw new IllegalArgumentException(Messages.action_or_iu_operand_null);
-
- if (currentRecord == null || operand != currentRecord.operand) {
- currentRecord = new ActionsRecord(operand);
- currentActionRecords.add(currentRecord);
- }
- currentRecord.actions.add(action);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/IEngine.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/IEngine.java
deleted file mode 100644
index b0eb399..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/IEngine.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Band XI International, LLC and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Band XI - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.engine;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-
-public interface IEngine {
- public static final String SERVICE_NAME = IEngine.class.getName();
-
- public IStatus perform(IProfile profile, PhaseSet phaseSet, Operand[] operands, ProvisioningContext context, IProgressMonitor monitor);
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/IProfile.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/IProfile.java
deleted file mode 100644
index c509ca0..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/IProfile.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.engine;
-
-import java.util.Map;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.query.*;
-
-public interface IProfile extends IQueryable {
-
- /**
- * Profile property constant indicating the flavor for the profile.
- */
- public static final String PROP_FLAVOR = "org.eclipse.equinox.p2.flavor"; //$NON-NLS-1$
- /**
- * Profile property constant indicating the install folder for the profile.
- */
- public static final String PROP_INSTALL_FOLDER = "org.eclipse.equinox.p2.installFolder"; //$NON-NLS-1$
- /**
- * Profile property constant indicating the configuration folder for the profile.
- */
- public static final String PROP_CONFIGURATION_FOLDER = "org.eclipse.equinox.p2.configurationFolder"; //$NON-NLS-1$
- /**
- * Profile property constant indicating the location of the launcher configuration file for the profile.
- */
- public static final String PROP_LAUNCHER_CONFIGURATION = "org.eclipse.equinox.p2.launcherConfiguration"; //$NON-NLS-1$
-
- /**
- * Profile property constant indicating the installed language(s) for the profile.
- */
- public static final String PROP_NL = "org.eclipse.equinox.p2.nl"; //$NON-NLS-1$
- /**
- * Profile property constant for a string property indicating a user visible short
- * textual description of this profile. May be empty or <code>null</code>, and
- * generally will be for non-top level install contexts.
- */
- public static final String PROP_DESCRIPTION = "org.eclipse.equinox.p2.description"; //$NON-NLS-1$
- /**
- * Profile property constant for a string property indicating a user visible name of this profile.
- * May be empty or <code>null</code>, and generally will be for non-top level
- * install contexts.
- */
- public static final String PROP_NAME = "org.eclipse.equinox.p2.name"; //$NON-NLS-1$
- /**
- * Profile property constant indicating the list of environments
- * (e.g., OS, WS, ...) in which a profile can operate. The value of the property
- * is a comma-delimited string of key/value pairs.
- */
- public static final String PROP_ENVIRONMENTS = "org.eclipse.equinox.p2.environments"; //$NON-NLS-1$
- /**
- * Profile property constant for a boolean property indicating if the profiling
- * is roaming. A roaming profile is one whose physical install location varies
- * and is updated whenever it runs.
- */
- public static final String PROP_ROAMING = "org.eclipse.equinox.p2.roaming"; //$NON-NLS-1$
- /**
- * Profile property constant indicating the bundle pool cache location.
- */
- public static final String PROP_CACHE = "org.eclipse.equinox.p2.cache"; //$NON-NLS-1$
-
- /**
- * Profile property constant indicating a shared read-only bundle pool cache location.
- */
- public static final String PROP_SHARED_CACHE = "org.eclipse.equinox.p2.cache.shared"; //$NON-NLS-1$
-
- /**
- * Profile property constant for a boolean property indicating if update features should
- * be installed in this profile
- */
- public static final String PROP_INSTALL_FEATURES = "org.eclipse.update.install.features"; //$NON-NLS-1$
-
- public String getProfileId();
-
- public IProfile getParentProfile();
-
- /*
- * A profile is a root profile if it is not a sub-profile
- * of another profile.
- */
- public boolean isRootProfile();
-
- public boolean hasSubProfiles();
-
- public String[] getSubProfileIds();
-
- /**
- * Get the stored value associated with the given key.
- * If the profile is a sub-profile and there is no value
- * locally associated with the key, then the chain
- * of parent profiles will be traversed to get an associated
- * value from the nearest ancestor.
- *
- * <code>null</code> is return if none of this profile
- * or its ancestors associates a value with the key.
- */
- public String getProperty(String key);
-
- /**
- * Get the stored value associated with the given key
- * in this profile.
- * No traversal of the ancestor hierarchy is done
- * for sub-profiles.
- */
- public String getLocalProperty(String key);
-
- public String getInstallableUnitProperty(IInstallableUnit iu, String key);
-
- /**
- * Get an <i>unmodifiable copy</i> of the local properties
- * associated with the profile.
- *
- * @return an <i>unmodifiable copy</i> of the Profile properties.
- */
- public Map getLocalProperties();
-
- public Map getProperties();
-
- public Map getInstallableUnitProperties(IInstallableUnit iu);
-
- public long getTimestamp();
-
- public Collector available(Query query, Collector collector, IProgressMonitor monitor);
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/IProfileRegistry.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/IProfileRegistry.java
deleted file mode 100644
index 2a03ffe..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/IProfileRegistry.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.engine;
-
-import java.util.Map;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-
-/**
- * This encapsulates the access to the profile registry.
- * It deals with persistence in a transparent way.
- */
-public interface IProfileRegistry {
- public static final String SELF = "_SELF_"; //$NON-NLS-1$
-
- /**
- * Return the profile in the registry that has the given id. If it does not exist,
- * then return <code>null</code>.
- *
- * @param id the profile identifier
- * @return the profile or <code>null</code>
- */
- IProfile getProfile(String id);
-
- /**
- * Return an array of profiles known to this registry. If there are none, then
- * return an empty array.
- *
- * @return the array of profiles
- */
- IProfile[] getProfiles();
-
- /**
- * Add the given profile to this profile registry.
- *
- * @param id the profile id
- *
- * @throws ProvisionException if a profile
- * with the same id is already present in the registry.
- */
- IProfile addProfile(String id) throws ProvisionException;
-
- /**
- * Add the given profile to this profile registry.
- *
- * @param id the profile id
- * @param properties the profile properties
- *
- * @throws ProvisionException if a profile
- * with the same id is already present in the registry.
- */
- IProfile addProfile(String id, Map properties) throws ProvisionException;
-
- /**
- * Add the given profile to this profile registry.
- *
- * @param id the profile id
- * @param properties the profile properties
- * @param parentId the id of a parent profile
- *
- * @throws ProvisionException if a profile
- * with the same id is already present in the registry or the parentId is not a registered Profile.
- */
- IProfile addProfile(String id, Map properties, String parentId) throws ProvisionException;
-
- /**
- * Remove the given profile from this profile registry.
- *
- * @param id the profile to remove
- */
- void removeProfile(String id);
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/ISurrogateProfileHandler.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/ISurrogateProfileHandler.java
deleted file mode 100644
index 02d6e33..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/ISurrogateProfileHandler.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package org.eclipse.equinox.internal.provisional.p2.engine;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.internal.p2.engine.Profile;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.query.Query;
-
-public interface ISurrogateProfileHandler {
-
- public abstract Profile createProfile(String id);
-
- public abstract boolean isSurrogate(IProfile profile);
-
- public abstract Collector queryProfile(IProfile profile, Query query, Collector collector, IProgressMonitor monitor);
-
- public abstract boolean updateProfile(Profile selfProfile);
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/InstallableUnitEvent.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/InstallableUnitEvent.java
deleted file mode 100644
index 38fd92a..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/InstallableUnitEvent.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.engine;
-
-import java.util.EventObject;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-public class InstallableUnitEvent extends EventObject {
- public static final int UNINSTALL = 0;
- public static final int INSTALL = 1;
- private static final long serialVersionUID = 3318712818811459886L;
-
- private String phaseId;
- private boolean prePhase;
-
- private IProfile profile;
- private InstallableUnitOperand operand;
- private Touchpoint touchpoint;
- private IStatus result;
- private int type;
-
- public InstallableUnitEvent(String phaseId, boolean prePhase, IProfile profile, InstallableUnitOperand operand, int type, Touchpoint touchpoint) {
- this(phaseId, prePhase, profile, operand, type, touchpoint, null);
- }
-
- public InstallableUnitEvent(String phaseId, boolean prePhase, IProfile profile, InstallableUnitOperand operand, int type, Touchpoint touchpoint, IStatus result) {
- super(touchpoint); //TODO not sure if the touchpoint should be the source
- this.phaseId = phaseId;
- this.prePhase = prePhase;
- this.profile = profile;
- this.operand = operand;
- if (type != UNINSTALL && type != INSTALL)
- throw new IllegalArgumentException(Messages.InstallableUnitEvent_type_not_install_or_uninstall);
- this.type = type;
- this.result = result;
-
- }
-
- public Touchpoint getTouchpoint() {
- return touchpoint;
- }
-
- public IProfile getProfile() {
- return profile;
- }
-
- public InstallableUnitOperand getOperand() {
- return operand;
- }
-
- public String getPhase() {
- return phaseId;
- }
-
- public boolean isPre() {
- return prePhase;
- }
-
- public boolean isPost() {
- return !prePhase;
- }
-
- public IStatus getResult() {
- return (result != null ? result : Status.OK_STATUS);
- }
-
- public boolean isInstall() {
- return type == INSTALL;
- }
-
- public boolean isUninstall() {
- return type == UNINSTALL;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/InstallableUnitOperand.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/InstallableUnitOperand.java
deleted file mode 100644
index f469d48..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/InstallableUnitOperand.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.engine;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-
-public class InstallableUnitOperand extends Operand {
- private final IInstallableUnit first;
- private final IInstallableUnit second;
-
- /**
- * Creates a new operand that represents replacing an installable unit
- * with another. At least one of the provided installable units must be
- * non-null.
- *
- * @param first The installable unit being removed, or <code>null</code>
- * @param second The installable unit being added, or <code>null</code>
- */
- public InstallableUnitOperand(IInstallableUnit first, IInstallableUnit second) {
- //the operand must have at least one non-null units
- Assert.isTrue(first != null || second != null);
- this.first = first;
- this.second = second;
- }
-
- public IInstallableUnit first() {
- return first;
- }
-
- public IInstallableUnit second() {
- return second;
- }
-
- public String toString() {
- return first + " --> " + second; //$NON-NLS-1$
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/InstallableUnitPhase.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/InstallableUnitPhase.java
deleted file mode 100644
index ec9add3..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/InstallableUnitPhase.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * WindRiver - https://bugs.eclipse.org/bugs/show_bug.cgi?id=227372
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.engine;
-
-import java.util.*;
-import java.util.Map.Entry;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.osgi.util.NLS;
-
-public abstract class InstallableUnitPhase extends Phase {
- protected static final String PARM_ARTIFACT_REQUESTS = "artifactRequests"; //$NON-NLS-1$
- protected static final String PARM_ARTIFACT = "artifact"; //$NON-NLS-1$
- protected static final String PARM_IU = "iu"; //$NON-NLS-1$
- protected static final String PARM_TOUCHPOINT = "touchpoint"; //$NON-NLS-1$
-
- protected ProvisioningContext provContext = null;
- private Map touchpointToTouchpointParameters;
-
- protected InstallableUnitPhase(String phaseId, int weight) {
- super(phaseId, weight);
- }
-
- void perform(MultiStatus status, EngineSession session, IProfile profile, Operand[] operands, ProvisioningContext context, IProgressMonitor monitor) {
- provContext = context;
- touchpointToTouchpointParameters = new HashMap();
- for (int i = 0; i < operands.length; i++) {
- if (!(operands[i] instanceof InstallableUnitOperand))
- continue;
-
- InstallableUnitOperand iuOperand = (InstallableUnitOperand) operands[i];
- TouchpointType type = getTouchpointType(iuOperand);
- Touchpoint touchpoint = TouchpointManager.getInstance().getTouchpoint(type);
- //abort the entire phase if any required touchpoint is missing
- if (touchpoint == null) {
- status.add(new Status(IStatus.ERROR, EngineActivator.ID, NLS.bind(Messages.required_touchpoint_not_found, type), null));
- return;
- }
- if (!touchpointToTouchpointParameters.containsKey(touchpoint)) {
- touchpointToTouchpointParameters.put(touchpoint, null);
- }
- }
- super.perform(status, session, profile, operands, context, monitor);
- }
-
- protected IStatus initializePhase(IProgressMonitor monitor, IProfile profile, Map parameters) {
- MultiStatus status = new MultiStatus(EngineActivator.ID, IStatus.OK, null, null);
- mergeStatus(status, initializeInstallableUnitPhase(monitor, profile, parameters));
- for (Iterator it = touchpointToTouchpointParameters.entrySet().iterator(); it.hasNext();) {
- Entry entry = (Entry) it.next();
- Touchpoint touchpoint = (Touchpoint) entry.getKey();
- Map touchpointParameters = new HashMap(parameters);
- touchpointParameters.put(PARM_TOUCHPOINT, touchpoint);
- mergeStatus(status, touchpoint.initializePhase(monitor, profile, phaseId, touchpointParameters));
- entry.setValue(touchpointParameters);
- }
- return status;
- }
-
- protected IStatus completePhase(IProgressMonitor monitor, IProfile profile, Map parameters) {
- MultiStatus status = new MultiStatus(EngineActivator.ID, IStatus.OK, null, null);
- for (Iterator it = touchpointToTouchpointParameters.entrySet().iterator(); it.hasNext();) {
- Entry entry = (Entry) it.next();
- Touchpoint touchpoint = (Touchpoint) entry.getKey();
- Map touchpointParameters = (Map) entry.getValue();
- mergeStatus(status, touchpoint.completePhase(monitor, profile, phaseId, touchpointParameters));
- entry.setValue(null);
- }
- mergeStatus(status, completeInstallableUnitPhase(monitor, profile, parameters));
- return status;
- }
-
- protected IStatus initializeOperand(IProfile profile, Operand operand, Map parameters, IProgressMonitor monitor) {
- if (!(operand instanceof InstallableUnitOperand))
- return null;
-
- InstallableUnitOperand iuOperand = (InstallableUnitOperand) operand;
-
- MultiStatus status = new MultiStatus(EngineActivator.ID, IStatus.OK, null, null);
- mergeStatus(status, initializeOperand(profile, iuOperand, parameters, monitor));
- Touchpoint touchpoint = getTouchpoint(iuOperand);
- Map touchpointParameters = (Map) touchpointToTouchpointParameters.get(touchpoint);
- if (touchpointParameters != null)
- parameters.putAll(touchpointParameters);
- mergeStatus(status, touchpoint.initializeOperand(profile, phaseId, iuOperand, parameters));
- return status;
- }
-
- protected IStatus completeOperand(IProfile profile, Operand operand, Map parameters, IProgressMonitor monitor) {
- if (!(operand instanceof InstallableUnitOperand))
- return null;
-
- InstallableUnitOperand iuOperand = (InstallableUnitOperand) operand;
-
- MultiStatus status = new MultiStatus(EngineActivator.ID, IStatus.OK, null, null);
- Touchpoint touchpoint = getTouchpoint(iuOperand);
- mergeStatus(status, touchpoint.completeOperand(profile, phaseId, iuOperand, parameters));
- mergeStatus(status, completeOperand(profile, iuOperand, parameters, monitor));
- return status;
- }
-
- protected ProvisioningAction[] getActions(Operand operand) {
- if (!(operand instanceof InstallableUnitOperand))
- return null;
-
- InstallableUnitOperand iuOperand = (InstallableUnitOperand) operand;
- return getActions(iuOperand);
- }
-
- protected boolean isApplicable(Operand operand) {
- if (!(operand instanceof InstallableUnitOperand))
- return false;
-
- InstallableUnitOperand iuOperand = (InstallableUnitOperand) operand;
- return isApplicable(iuOperand);
- }
-
- /**
- * Returns the touchpoint corresponding to the operand, or null if no corresponding
- * touchpoint is available.
- */
- protected final static Touchpoint getTouchpoint(InstallableUnitOperand operand) {
- return TouchpointManager.getInstance().getTouchpoint(getTouchpointType(operand));
- }
-
- private static Touchpoint getTouchpoint(IInstallableUnit unit) {
- return TouchpointManager.getInstance().getTouchpoint(unit.getTouchpointType());
- }
-
- /**
- * Returns the touchpoint type corresponding to the operand. Never returns null.
- */
- protected final static TouchpointType getTouchpointType(InstallableUnitOperand operand) {
- IInstallableUnit unit = operand.second();
- if (unit == null)
- unit = operand.first();
- return unit.getTouchpointType();
- }
-
- protected final ProvisioningAction[] getActions(IInstallableUnit unit, String key) {
- String[] instructions = getInstructions(unit, key);
- if (instructions == null || instructions.length == 0)
- return null;
- Touchpoint touchpoint = getTouchpoint(unit);
- //TODO Likely need to propagate an exception if the touchpoint is not present
- if (touchpoint == null)
- return null;
- InstructionParser parser = new InstructionParser(this, touchpoint);
- List actions = new ArrayList();
- for (int i = 0; i < instructions.length; i++) {
- actions.addAll(Arrays.asList(parser.parseActions(instructions[i])));
- }
- return (ProvisioningAction[]) actions.toArray(new ProvisioningAction[actions.size()]);
- }
-
- private final static String[] getInstructions(IInstallableUnit unit, String key) {
- TouchpointData[] data = unit.getTouchpointData();
- if (data == null)
- return null;
-
- String[] matches = new String[data.length];
- int count = 0;
- for (int i = 0; i < data.length; i++) {
- matches[count] = data[i].getInstructions(key);
- if (matches[count] != null)
- count++;
- }
- if (count == data.length)
- return matches;
- String[] result = new String[count];
- System.arraycopy(matches, 0, result, 0, count);
- return result;
- }
-
- public ProvisioningAction getAction(String actionId) {
- return null;
- }
-
- protected abstract ProvisioningAction[] getActions(InstallableUnitOperand operand);
-
- protected boolean isApplicable(InstallableUnitOperand operand) {
- return true;
- }
-
- protected IStatus initializeInstallableUnitPhase(IProgressMonitor monitor, IProfile profile, Map parameters) {
- return Status.OK_STATUS;
- }
-
- protected IStatus completeInstallableUnitPhase(IProgressMonitor monitor, IProfile profile, Map parameters) {
- return Status.OK_STATUS;
- }
-
- protected IStatus initializeOperand(IProfile profile, InstallableUnitOperand operand, Map parameters, IProgressMonitor monitor) {
- return Status.OK_STATUS;
- }
-
- protected IStatus completeOperand(IProfile profile, InstallableUnitOperand operand, Map parameters, IProgressMonitor monitor) {
- return Status.OK_STATUS;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/InstallableUnitPropertyOperand.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/InstallableUnitPropertyOperand.java
deleted file mode 100644
index 613d641..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/InstallableUnitPropertyOperand.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.engine;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-
-public class InstallableUnitPropertyOperand extends PropertyOperand {
- private final IInstallableUnit iu;
-
- /**
- * Creates a new operand that represents replacing a property value associated
- * with an IU with another. At least one of the provided property values must be
- * non-null.
- *
- * @param iu The IInstallableUnit with which the property is associated
- * @param key The key of the property being modified
- * @param first The property value being removed, or <code>null</code>
- * @param second The property value being added, or <code>null</code>
- */
- public InstallableUnitPropertyOperand(IInstallableUnit iu, String key, Object first, Object second) {
- super(key, first, second);
- //the iu must be specified.
- Assert.isTrue(iu != null);
- this.iu = iu;
- }
-
- public IInstallableUnit getInstallableUnit() {
- return iu;
- }
-
- public String toString() {
- return "IInstallableUnit property for " + iu.toString() + super.toString(); //$NON-NLS-1$
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/Memento.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/Memento.java
deleted file mode 100644
index eb4c153..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/Memento.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.engine;
-
-import java.util.*;
-
-public class Memento {
- private static final long serialVersionUID = 3257399736837461585L;
- private static final Collection simples = Arrays.asList(new Class[] {String.class, Integer.class, Long.class, Float.class, Double.class, Byte.class, Short.class, Character.class, Boolean.class});
- private static final Collection simpleArrays = Arrays.asList(new Class[] {String[].class, Integer[].class, Long[].class, Float[].class, Double[].class, Byte[].class, Short[].class, Character[].class, Boolean[].class});
- private static final Collection primitiveArrays = Arrays.asList(new Class[] {long[].class, int[].class, short[].class, char[].class, byte[].class, double[].class, float[].class, boolean[].class});
-
- Map mementoMap = new HashMap();
-
- public Object remove(String key) {
- if (key == null)
- throw new NullPointerException();
-
- // TODO: persist change
- return mementoMap.remove(key);
- }
-
- public Object put(String key, Object value) {
- if (key == null)
- throw new NullPointerException();
-
- validateValue(value);
-
- // TODO: persist change
- return mementoMap.put(key, value);
- }
-
- public Object get(String key) {
- if (key == null)
- throw new NullPointerException();
-
- return mementoMap.get(key);
- }
-
- public Enumeration getKeys() {
- return new Enumeration() {
- Iterator keysIterator = mementoMap.keySet().iterator();
-
- public boolean hasMoreElements() {
- return keysIterator.hasNext();
- }
-
- public Object nextElement() {
- return keysIterator.next();
- }
- };
- }
-
- private static void validateValue(Object value) {
- if (value == null)
- return;
-
- Class clazz = value.getClass();
-
- if (simples.contains(clazz))
- return;
-
- if (simpleArrays.contains(clazz) || primitiveArrays.contains(clazz))
- return;
-
- throw new IllegalArgumentException(clazz.getName());
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/Messages.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/Messages.java
deleted file mode 100644
index 604a143..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/Messages.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.engine;
-
-import org.eclipse.osgi.util.NLS;
-
-//TODO Shouldn't have messages class in API package
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.provisional.p2.engine.messages"; //$NON-NLS-1$
- public static String CertificateChecker_CertificateError;
- public static String CertificateChecker_CertificateRejected;
- public static String CertificateChecker_KeystoreConnectionError;
- public static String CertificateChecker_SignedContentIOError;
- public static String CertificateChecker_SignedContentError;
- public static String action_or_iu_operand_null;
- public static String not_current_phase;
- public static String null_operands;
- public static String null_phase;
- public static String null_phases;
- public static String null_phaseset;
- public static String null_profile;
- public static String required_touchpoint_not_found;
- public static String phase_error;
- public static String phase_not_started;
- public static String phase_started;
- public static String phaseid_not_positive;
- public static String phaseid_not_set;
- public static String Engine_Operation_Canceled_By_User;
- public static String InstallableUnitEvent_type_not_install_or_uninstall;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- //
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/Operand.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/Operand.java
deleted file mode 100644
index fa7b278..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/Operand.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.engine;
-
-/**
- * The common base class for engine operands.
- *
- * @see IEngine#perform(IProfile, PhaseSet, Operand[], ProvisioningContext, org.eclipse.core.runtime.IProgressMonitor)
- */
-public class Operand {
- // marker class
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/Phase.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/Phase.java
deleted file mode 100644
index 4e9d17a..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/Phase.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.engine;
-
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.engine.EngineActivator;
-
-public abstract class Phase {
- protected static final String PARM_OPERAND = "operand"; //$NON-NLS-1$
- protected static final String PARM_PHASE_ID = "phaseId"; //$NON-NLS-1$
- protected static final String PARM_PROFILE = "profile"; //$NON-NLS-1$
- protected static final String PARM_CONTEXT = "context"; //$NON-NLS-1$
-
- protected final String phaseId;
- protected final int weight;
- protected int prePerformWork = 1000;
- protected int mainPerformWork = 10000;
- protected int postPerformWork = 1000;
- private Map phaseParameters;
-
- protected Phase(String phaseId, int weight) {
- if (phaseId == null || phaseId.length() == 0)
- throw new IllegalArgumentException(Messages.phaseid_not_set);
- if (weight <= 0)
- throw new IllegalArgumentException(Messages.phaseid_not_positive);
- this.weight = weight;
- this.phaseId = phaseId;
- }
-
- public String toString() {
- return getClass().getName() + " - " + this.weight; //$NON-NLS-1$
- }
-
- public final MultiStatus perform(EngineSession session, IProfile profile, Operand[] operands, ProvisioningContext context, IProgressMonitor monitor) {
- MultiStatus status = new MultiStatus(EngineActivator.ID, IStatus.OK, null, null);
- try {
- perform(status, session, profile, operands, context, monitor);
- } catch (OperationCanceledException e) {
- // propagate operation cancellation
- status.add(new Status(IStatus.CANCEL, EngineActivator.ID, e.getMessage(), e));
- } catch (RuntimeException e) {
- // "perform" calls user code and might throw an unchecked exception
- // we catch the error here to gather information on where the problem occurred.
- status.add(new Status(IStatus.ERROR, EngineActivator.ID, e.getMessage(), e));
- } catch (LinkageError e) {
- // Catch linkage errors as these are generally recoverable but let other Errors propagate (see bug 222001)
- status.add(new Status(IStatus.ERROR, EngineActivator.ID, e.getMessage(), e));
- }
-
- if (status.matches(IStatus.CANCEL)) {
- MultiStatus result = new MultiStatus(EngineActivator.ID, IStatus.CANCEL, Messages.Engine_Operation_Canceled_By_User, null);
- result.merge(status);
- return result;
- } else if (status.matches(IStatus.ERROR)) {
- MultiStatus result = new MultiStatus(EngineActivator.ID, IStatus.ERROR, getProblemMessage(), null);
- result.merge(status);
- return result;
- }
- return status;
- }
-
- void perform(MultiStatus status, EngineSession session, IProfile profile, Operand[] operands, ProvisioningContext context, IProgressMonitor monitor) {
- SubMonitor subMonitor = SubMonitor.convert(monitor, prePerformWork + mainPerformWork + postPerformWork);
- prePerform(status, profile, context, subMonitor.newChild(prePerformWork));
- if (status.matches(IStatus.ERROR | IStatus.CANCEL))
- return;
- session.recordPhaseStart(this);
-
- subMonitor.setWorkRemaining(mainPerformWork + postPerformWork);
- mainPerform(status, session, profile, operands, context, subMonitor.newChild(mainPerformWork));
- if (status.matches(IStatus.ERROR | IStatus.CANCEL))
- return;
-
- session.recordPhaseEnd(this);
- subMonitor.setWorkRemaining(postPerformWork);
- postPerform(status, profile, context, subMonitor.newChild(postPerformWork));
- if (status.matches(IStatus.ERROR | IStatus.CANCEL))
- return;
-
- subMonitor.done();
- }
-
- void prePerform(MultiStatus status, IProfile profile, ProvisioningContext context, IProgressMonitor monitor) {
- phaseParameters = new HashMap();
- phaseParameters.put(PARM_PROFILE, profile);
- phaseParameters.put(PARM_CONTEXT, context);
- phaseParameters.put(PARM_PHASE_ID, phaseId);
-
- mergeStatus(status, initializePhase(monitor, profile, phaseParameters));
- }
-
- private void mainPerform(MultiStatus status, EngineSession session, IProfile profile, Operand[] operands, ProvisioningContext context, SubMonitor subMonitor) {
- subMonitor.beginTask("", operands.length); //$NON-NLS-1$
- for (int i = 0; i < operands.length; i++) {
- subMonitor.setWorkRemaining(operands.length - i);
- if (subMonitor.isCanceled())
- throw new OperationCanceledException();
- Operand operand = operands[i];
- if (!isApplicable(operand))
- continue;
-
- ProvisioningAction[] actions = getActions(operand);
- Map parameters = new HashMap(phaseParameters);
- parameters.put(PARM_OPERAND, operand);
- mergeStatus(status, initializeOperand(profile, operand, parameters, subMonitor));
- if (status.matches(IStatus.ERROR | IStatus.CANCEL))
- return;
- parameters = Collections.unmodifiableMap(parameters);
- if (actions != null) {
- for (int j = 0; j < actions.length; j++) {
- ProvisioningAction action = actions[j];
- session.recordAction(action, operand);
- mergeStatus(status, action.execute(parameters));
- if (status.matches(IStatus.ERROR | IStatus.CANCEL))
- return;
- }
- }
- mergeStatus(status, completeOperand(profile, operand, parameters, subMonitor));
- if (status.matches(IStatus.ERROR | IStatus.CANCEL))
- return;
- subMonitor.worked(1);
- }
- }
-
- /**
- * Merges a given IStatus into a MultiStatus
- */
- protected static void mergeStatus(MultiStatus multi, IStatus status) {
- if (status != null && !status.isOK())
- multi.merge(status);
- }
-
- void postPerform(MultiStatus status, IProfile profile, ProvisioningContext context, IProgressMonitor monitor) {
- mergeStatus(status, completePhase(monitor, profile, phaseParameters));
- phaseParameters = null;
- }
-
- void undo(MultiStatus status, EngineSession session, IProfile profile, Operand operand, ProvisioningAction[] actions, ProvisioningContext context) {
- Map parameters = new HashMap(phaseParameters);
- parameters.put(PARM_OPERAND, operand);
- mergeStatus(status, initializeOperand(profile, operand, parameters, new NullProgressMonitor()));
- parameters = Collections.unmodifiableMap(parameters);
- for (int j = 0; j < actions.length; j++) {
- ProvisioningAction action = actions[j];
- mergeStatus(status, action.undo(parameters));
- // TODO: session.removeAction(...)
- }
- mergeStatus(status, completeOperand(profile, operand, parameters, new NullProgressMonitor()));
- }
-
- protected boolean isApplicable(Operand operand) {
- return true;
- }
-
- protected IStatus initializePhase(IProgressMonitor monitor, IProfile profile, Map parameters) {
- return Status.OK_STATUS;
- }
-
- protected IStatus completePhase(IProgressMonitor monitor, IProfile profile, Map parameters) {
- return Status.OK_STATUS;
- }
-
- protected IStatus completeOperand(IProfile profile, Operand operand, Map parameters, IProgressMonitor monitor) {
- return Status.OK_STATUS;
- }
-
- protected IStatus initializeOperand(IProfile profile, Operand operand, Map parameters, IProgressMonitor monitor) {
- return Status.OK_STATUS;
- }
-
- protected abstract ProvisioningAction[] getActions(Operand operand);
-
- /**
- * Returns a human-readable message to be displayed in case of an error performing
- * this phase. Subclasses should override.
- */
- protected String getProblemMessage() {
- return Messages.phase_error;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/PhaseSet.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/PhaseSet.java
deleted file mode 100644
index 5dfa5db..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/PhaseSet.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.engine;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.engine.EngineActivator;
-
-public abstract class PhaseSet {
- private final Phase[] phases;
-
- public PhaseSet(Phase[] phases) {
- if (phases == null)
- throw new IllegalArgumentException(Messages.null_phases);
-
- this.phases = phases;
- }
-
- public final MultiStatus perform(EngineSession session, IProfile profile, Operand[] operands, ProvisioningContext context, IProgressMonitor monitor) {
- MultiStatus result = new MultiStatus(EngineActivator.ID, IStatus.OK, null, null);
- int[] weights = getProgressWeights(operands);
- int totalWork = getTotalWork(weights);
- SubMonitor pm = SubMonitor.convert(monitor, totalWork);
- try {
- for (int i = 0; i < phases.length; i++) {
- if (pm.isCanceled()) {
- result.add(Status.CANCEL_STATUS);
- return result;
- }
- Phase phase = phases[i];
- MultiStatus performResult = phase.perform(session, profile, operands, context, pm.newChild(weights[i]));
- if (!performResult.isOK())
- result.add(performResult);
- if (result.matches(IStatus.ERROR | IStatus.CANCEL))
- return result;
- }
- } finally {
- pm.done();
- }
- return result;
- }
-
- private int getTotalWork(int[] weights) {
- int sum = 0;
- for (int i = 0; i < weights.length; i++)
- sum += weights[i];
- return sum;
- }
-
- private int[] getProgressWeights(Operand[] operands) {
- int[] weights = new int[phases.length];
- for (int i = 0; i < phases.length; i += 1) {
- if (operands.length > 0)
- //alter weights according to the number of operands applicable to that phase
- weights[i] = (phases[i].weight * countApplicable(phases[i], operands) / operands.length);
- else
- weights[i] = phases[i].weight;
- }
- return weights;
- }
-
- private int countApplicable(Phase phase, Operand[] operands) {
- int count = 0;
- for (int i = 0; i < operands.length; i++) {
- if (phase.isApplicable(operands[i]))
- count++;
- }
- return count;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/ProfileEvent.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/ProfileEvent.java
deleted file mode 100644
index d96796f..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/ProfileEvent.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.engine;
-
-import java.util.EventObject;
-
-/**
- * @noextend This class is not intended to be subclassed by clients.
- */
-public class ProfileEvent extends EventObject {
- private static final long serialVersionUID = 3082402920617281765L;
-
- public static final byte ADDED = 0;
- public static final byte REMOVED = 1;
- public static final byte CHANGED = 2;
-
- private byte reason;
-
- public ProfileEvent(String profileId, byte reason) {
- super(profileId);
- this.reason = reason;
- }
-
- public byte getReason() {
- return reason;
- }
-
- public String getProfileId() {
- return (String) getSource();
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/PropertyOperand.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/PropertyOperand.java
deleted file mode 100644
index 24c536e..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/PropertyOperand.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.engine;
-
-import org.eclipse.core.runtime.Assert;
-
-public class PropertyOperand extends Operand {
- private final Object first;
- private final Object second;
- private final String key;
-
- /**
- * Creates a new operand that represents replacing a property value
- * with another. At least one of the provided property values must be
- * non-null.
- *
- * @param key The key of the property being modified
- * @param first The property value being removed, or <code>null</code>
- * @param second The property value being added, or <code>null</code>
- */
- public PropertyOperand(String key, Object first, Object second) {
- //the operand must specify have a key and have at least one non-null value
- Assert.isTrue(key != null && (first != null || second != null));
- this.first = first;
- this.second = second;
- this.key = key;
- }
-
- public Object first() {
- return first;
- }
-
- public Object second() {
- return second;
- }
-
- public String getKey() {
- return key;
- }
-
- public String toString() {
- return key + " = " + first + " --> " + second; //$NON-NLS-1$ //$NON-NLS-2$
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/ProvisioningAction.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/ProvisioningAction.java
deleted file mode 100644
index 15d013b..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/ProvisioningAction.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.engine;
-
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-
-public abstract class ProvisioningAction {
-
- private Memento memento = new Memento();
-
- protected Memento getMemento() {
- return memento;
- }
-
- public abstract IStatus execute(Map parameters);
-
- public abstract IStatus undo(Map parameters);
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/ProvisioningContext.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/ProvisioningContext.java
deleted file mode 100644
index deefdf1..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/ProvisioningContext.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * WindRiver - https://bugs.eclipse.org/bugs/show_bug.cgi?id=227372
- ******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.engine;
-
-import java.net.URL;
-import java.util.*;
-
-public class ProvisioningContext {
- private URL[] metadataRepositories; //metadata repositories to consult
- private URL[] artifactRepositories; //artifact repositories to consult
- private Properties properties = new Properties();
- private List extraIUs = new ArrayList();
-
- public ProvisioningContext() {
- // null repos means look at them all
- metadataRepositories = null;
- artifactRepositories = null;
- }
-
- public ProvisioningContext(URL[] metadataRepositories) {
- this.metadataRepositories = metadataRepositories;
- }
-
- /**
- * Artifact repositories to consult when performing an operation.
- * @param artifactRepositories array of URLs
- */
- public void setArtifactRepositories(URL[] artifactRepositories) {
- this.artifactRepositories = artifactRepositories;
- }
-
- public URL[] getMetadataRepositories() {
- return metadataRepositories;
- }
-
- public URL[] getArtifactRepositories() {
- return artifactRepositories;
- }
-
- public String getProperty(String key) {
- return properties.getProperty(key);
- }
-
- public void setProperty(String key, String value) {
- properties.setProperty(key, value);
- }
-
- public List getExtraIUs() {
- return extraIUs;
- }
-
- public void setExtraIUs(List extraIUs) {
- this.extraIUs = extraIUs;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/RollbackOperationEvent.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/RollbackOperationEvent.java
deleted file mode 100644
index 4d0032c..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/RollbackOperationEvent.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.engine;
-
-import org.eclipse.core.runtime.IStatus;
-
-public class RollbackOperationEvent extends TransactionEvent {
-
- private static final long serialVersionUID = -2076492953949691215L;
- private IStatus cause;
-
- public RollbackOperationEvent(IProfile profile, PhaseSet phaseSet, Operand[] operands, IEngine engine, IStatus cause) {
- super(profile, phaseSet, operands, engine);
- this.cause = cause;
- }
-
- public IStatus getStatus() {
- return cause;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/Touchpoint.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/Touchpoint.java
deleted file mode 100644
index 59ef151..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/Touchpoint.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.engine;
-
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.TouchpointType;
-
-/**
- * A touchpoint is responsible for executing a given phase for a given
- * targeted system (eclipse, native). The order of phases is defined in the {@link PhaseSet}.
- */
-public abstract class Touchpoint {
-
- public abstract TouchpointType getTouchpointType();
-
- public abstract ProvisioningAction getAction(String actionId);
-
- public IStatus initializePhase(IProgressMonitor monitor, IProfile profile, String phaseId, Map touchpointParameters) {
- return Status.OK_STATUS;
- }
-
- public IStatus completePhase(IProgressMonitor monitor, IProfile profile, String phaseId, Map touchpointParameters) {
- return Status.OK_STATUS;
- }
-
- public IStatus initializeOperand(IProfile profile, String phaseId, InstallableUnitOperand operand, Map parameters) {
- return Status.OK_STATUS;
- }
-
- public IStatus completeOperand(IProfile profile, String phaseId, InstallableUnitOperand operand, Map parameters) {
- return Status.OK_STATUS;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/TransactionEvent.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/TransactionEvent.java
deleted file mode 100644
index efb574f..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/TransactionEvent.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.engine;
-
-import java.util.EventObject;
-
-public abstract class TransactionEvent extends EventObject {
- private static final long serialVersionUID = 6278706971855493984L;
- protected IProfile profile;
- protected PhaseSet phaseSet;
- protected Operand[] operands;
-
- public TransactionEvent(IProfile profile, PhaseSet phaseSet, Operand[] operands, IEngine engine) {
- super(engine);
- this.profile = profile;
- this.phaseSet = phaseSet;
- this.operands = operands;
- }
-
- public IProfile getProfile() {
- return profile;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/messages.properties b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/messages.properties
deleted file mode 100644
index afc9a99..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/messages.properties
+++ /dev/null
@@ -1,30 +0,0 @@
-###############################################################################
-# Copyright (c) 2007, 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-action_or_iu_operand_null=Action and InstallableUnitOperand must not be null.
-not_current_phase=Current phase does not match argument.
-null_operands=Operands must not be null.
-null_phase=Phase must not be null.
-null_phases=Phases must not be null
-null_phaseset=PhaseSet must not be null.
-null_profile=Profile must not be null.
-required_touchpoint_not_found=The required {0} touchpoint was not found
-phase_error=An error occurred during provisioning.
-phase_not_started=There is no phase to end.
-phase_started=A phase is already started.
-phaseid_not_positive=Phase weight must be positive.
-phaseid_not_set=Phase id must be set.
-Engine_Operation_Canceled_By_User=Operation canceled by the user.
-InstallableUnitEvent_type_not_install_or_uninstall=type must be either UNINSTALL(0) or INSTALL(1)
-CertificateChecker_CertificateError=An invalid certificate was found.
-CertificateChecker_CertificateRejected=One or more certificates rejected. Cannot proceed with installation.
-CertificateChecker_KeystoreConnectionError=Cannot connect to keystore.
-CertificateChecker_SignedContentError=Error with signed content.
-CertificateChecker_SignedContentIOError=Error reading signed content.
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/CheckTrust.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/CheckTrust.java
deleted file mode 100644
index 5ef06f2..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/CheckTrust.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.engine.phases;
-
-import java.util.*;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-
-/**
- * An install phase that checks if the certificates used to sign the artifacts
- * being installed are from a trusted source.
- */
-public class CheckTrust extends InstallableUnitPhase {
-
- private static final String PHASE_ID = "checkTrust"; //$NON-NLS-1$
-
- public CheckTrust(int weight) {
- super(PHASE_ID, weight);
- }
-
- protected IStatus completePhase(IProgressMonitor monitor, IProfile profile, Map parameters) {
- Collection artifactRequests = (Collection) parameters.get(PARM_ARTIFACT_REQUESTS);
-
- // Instantiate a check trust manager
- CertificateChecker certificateChecker = new CertificateChecker();
- certificateChecker.add(artifactRequests.toArray());
- IStatus status = certificateChecker.start();
-
- return status;
- }
-
- protected ProvisioningAction[] getActions(InstallableUnitOperand currentOperand) {
- ProvisioningAction action = getTouchpoint(currentOperand).getAction(phaseId);
- if (action == null) {
- return null;
- }
- return new ProvisioningAction[] {action};
- }
-
- protected IStatus initializeOperand(IProfile profile, InstallableUnitOperand operand, Map parameters, IProgressMonitor monitor) {
- IInstallableUnit iu = operand.second();
- parameters.put(PARM_IU, iu);
-
- return super.initializeOperand(profile, operand, parameters, monitor);
- }
-
- protected IStatus initializePhase(IProgressMonitor monitor, IProfile profile, Map parameters) {
- parameters.put(PARM_ARTIFACT_REQUESTS, new ArrayList());
- return super.initializePhase(monitor, profile, parameters);
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/Collect.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/Collect.java
deleted file mode 100644
index 680ba68..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/Collect.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * WindRiver - https://bugs.eclipse.org/bugs/show_bug.cgi?id=227372
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.engine.phases;
-
-import java.util.*;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.engine.DownloadManager;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRequest;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-
-/**
- * The goal of the collect phase is to ask the touchpoints if the artifacts associated with an IU need to be downloaded.
- */
-public class Collect extends InstallableUnitPhase {
- private static final String PHASE_ID = "collect"; //$NON-NLS-1$
-
- public Collect(int weight) {
- super(PHASE_ID, weight);
- //re-balance work since postPerform will do almost all the time-consuming work
- prePerformWork = 0;
- mainPerformWork = 100;
- postPerformWork = 1000;
- }
-
- protected boolean isApplicable(InstallableUnitOperand op) {
- return (op.second() != null);
- }
-
- protected ProvisioningAction[] getActions(InstallableUnitOperand currentOperand) {
- ProvisioningAction action = getTouchpoint(currentOperand).getAction(phaseId);
- return new ProvisioningAction[] {action};
- }
-
- protected String getProblemMessage() {
- return Messages.Phase_Collect_Error;
- }
-
- protected IStatus completeInstallableUnitPhase(IProgressMonitor monitor, IProfile profile, Map parameters) {
- List artifactRequests = (List) parameters.get(PARM_ARTIFACT_REQUESTS);
-
- DownloadManager dm = new DownloadManager(provContext);
- for (Iterator it = artifactRequests.iterator(); it.hasNext();) {
- IArtifactRequest[] requests = (IArtifactRequest[]) it.next();
- dm.add(requests);
- }
- return dm.start(monitor);
- }
-
- protected IStatus initializeInstallableUnitPhase(IProgressMonitor monitor, IProfile profile, Map parameters) {
- parameters.put(PARM_ARTIFACT_REQUESTS, new ArrayList());
- return null;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/Configure.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/Configure.java
deleted file mode 100644
index 78e7f25..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/Configure.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.engine.phases;
-
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.osgi.util.NLS;
-
-public class Configure extends InstallableUnitPhase {
-
- public Configure(int weight) {
- super("configure", weight); //$NON-NLS-1$
- }
-
- protected boolean isApplicable(InstallableUnitOperand op) {
- return (op.second() != null);
- }
-
- protected ProvisioningAction[] getActions(InstallableUnitOperand currentOperand) {
- IInstallableUnit unit = currentOperand.second();
- if (unit.isFragment())
- return null;
- return getActions(unit, phaseId);
- }
-
- protected String getProblemMessage() {
- return Messages.Phase_Configure_Error;
- }
-
- protected IStatus initializeOperand(IProfile profile, InstallableUnitOperand operand, Map parameters, IProgressMonitor monitor) {
- IInstallableUnit iu = operand.second();
- monitor.subTask(NLS.bind(Messages.Phase_Configure_Task, iu.getId()));
- parameters.put(PARM_IU, iu);
-
- IArtifactKey[] artifacts = iu.getArtifacts();
- if (artifacts != null && artifacts.length > 0)
- parameters.put(PARM_ARTIFACT, artifacts[0]);
-
- return Status.OK_STATUS;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/Install.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/Install.java
deleted file mode 100644
index a7ade7f..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/Install.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.engine.phases;
-
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.osgi.util.NLS;
-
-public class Install extends InstallableUnitPhase {
-
- final static class BeforeInstallEventAction extends ProvisioningAction {
-
- public IStatus execute(Map parameters) {
- IProfile profile = (IProfile) parameters.get(PARM_PROFILE);
- String phaseId = (String) parameters.get(PARM_PHASE_ID);
- Touchpoint touchpoint = (Touchpoint) parameters.get(PARM_TOUCHPOINT);
- InstallableUnitOperand operand = (InstallableUnitOperand) parameters.get(PARM_OPERAND);
- ((IProvisioningEventBus) ServiceHelper.getService(EngineActivator.getContext(), IProvisioningEventBus.SERVICE_NAME)).publishEvent(new InstallableUnitEvent(phaseId, true, profile, operand, InstallableUnitEvent.INSTALL, touchpoint));
- return null;
- }
-
- public IStatus undo(Map parameters) {
- Profile profile = (Profile) parameters.get(PARM_PROFILE);
- String phaseId = (String) parameters.get(PARM_PHASE_ID);
- Touchpoint touchpoint = (Touchpoint) parameters.get(PARM_TOUCHPOINT);
- InstallableUnitOperand operand = (InstallableUnitOperand) parameters.get(PARM_OPERAND);
- IInstallableUnit iu = (IInstallableUnit) parameters.get(PARM_IU);
- profile.removeInstallableUnit(iu);
- ((IProvisioningEventBus) ServiceHelper.getService(EngineActivator.getContext(), IProvisioningEventBus.SERVICE_NAME)).publishEvent(new InstallableUnitEvent(phaseId, false, profile, operand, InstallableUnitEvent.UNINSTALL, touchpoint));
- return null;
- }
- }
-
- final static class AfterInstallEventAction extends ProvisioningAction {
-
- public IStatus execute(Map parameters) {
- Profile profile = (Profile) parameters.get(PARM_PROFILE);
- String phaseId = (String) parameters.get(PARM_PHASE_ID);
- Touchpoint touchpoint = (Touchpoint) parameters.get(PARM_TOUCHPOINT);
- InstallableUnitOperand operand = (InstallableUnitOperand) parameters.get(PARM_OPERAND);
- IInstallableUnit iu = (IInstallableUnit) parameters.get(PARM_IU);
- profile.addInstallableUnit(iu);
- ((IProvisioningEventBus) ServiceHelper.getService(EngineActivator.getContext(), IProvisioningEventBus.SERVICE_NAME)).publishEvent(new InstallableUnitEvent(phaseId, false, profile, operand, InstallableUnitEvent.INSTALL, touchpoint));
- return null;
- }
-
- public IStatus undo(Map parameters) {
- IProfile profile = (IProfile) parameters.get(PARM_PROFILE);
- String phaseId = (String) parameters.get(PARM_PHASE_ID);
- Touchpoint touchpoint = (Touchpoint) parameters.get(PARM_TOUCHPOINT);
- InstallableUnitOperand operand = (InstallableUnitOperand) parameters.get(PARM_OPERAND);
- ((IProvisioningEventBus) ServiceHelper.getService(EngineActivator.getContext(), IProvisioningEventBus.SERVICE_NAME)).publishEvent(new InstallableUnitEvent(phaseId, true, profile, operand, InstallableUnitEvent.UNINSTALL, touchpoint));
- return null;
- }
- }
-
- private static final String PHASE_ID = "install"; //$NON-NLS-1$
-
- public Install(int weight) {
- super(PHASE_ID, weight);
- }
-
- protected boolean isApplicable(InstallableUnitOperand op) {
- return (op.second() != null);
- }
-
- protected ProvisioningAction[] getActions(InstallableUnitOperand currentOperand) {
- //TODO: monitor.subTask(NLS.bind(Messages.Engine_Installing_IU, unit.getId()));
-
- ProvisioningAction beforeAction = new BeforeInstallEventAction();
- ProvisioningAction afterAction = new AfterInstallEventAction();
-
- IInstallableUnit unit = currentOperand.second();
- if (unit.isFragment())
- return new ProvisioningAction[] {beforeAction, afterAction};
-
- ProvisioningAction[] parsedActions = getActions(unit, phaseId);
- if (parsedActions == null)
- return new ProvisioningAction[] {beforeAction, afterAction};
-
- ProvisioningAction[] actions = new ProvisioningAction[parsedActions.length + 2];
- actions[0] = beforeAction;
- System.arraycopy(parsedActions, 0, actions, 1, parsedActions.length);
- actions[actions.length - 1] = afterAction;
- return actions;
- }
-
- protected String getProblemMessage() {
- return Messages.Phase_Install_Error;
- }
-
- protected IStatus initializeOperand(IProfile profile, InstallableUnitOperand operand, Map parameters, IProgressMonitor monitor) {
- IInstallableUnit iu = operand.second();
- monitor.subTask(NLS.bind(Messages.Phase_Install_Task, iu.getId()));
- parameters.put(PARM_IU, iu);
-
- IArtifactKey[] artifacts = iu.getArtifacts();
- if (artifacts != null && artifacts.length > 0)
- parameters.put(PARM_ARTIFACT, artifacts[0]);
-
- return Status.OK_STATUS;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/Messages.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/Messages.java
deleted file mode 100644
index 0241c5d..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/Messages.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.engine.phases;
-
-import org.eclipse.osgi.util.NLS;
-
-//TODO Shouldn't have messages class in API package
-class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.provisional.p2.engine.phases.messages"; //$NON-NLS-1$
- public static String Phase_Collect_Error;
- public static String Phase_Install_Error;
- public static String Phase_Configure_Error;
- public static String Phase_Configure_Task;
- public static String Phase_Install_Task;
- public static String Phase_Sizing_Error;
- public static String Phase_Unconfigure_Error;
- public static String Phase_Uninstall_Error;
-
- static {
- // initialize resource bundles
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- // Do not instantiate
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/Property.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/Property.java
deleted file mode 100644
index 215e6e7..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/Property.java
+++ /dev/null
@@ -1,147 +0,0 @@
-package org.eclipse.equinox.internal.provisional.p2.engine.phases;
-
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.engine.Profile;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-
-public class Property extends Phase {
-
- public class ProfilePropertyAction extends ProvisioningAction {
-
- public IStatus execute(Map parameters) {
- Profile profile = (Profile) parameters.get(PARM_PROFILE);
- PropertyOperand propertyOperand = (PropertyOperand) parameters.get(PARM_OPERAND);
-
- if (propertyOperand.second() == null)
- removeProfileProperty(profile, propertyOperand);
- else
- setProfileProperty(profile, propertyOperand, false);
-
- return null;
- }
-
- public IStatus undo(Map parameters) {
- Profile profile = (Profile) parameters.get(PARM_PROFILE);
- PropertyOperand propertyOperand = (PropertyOperand) parameters.get(PARM_OPERAND);
-
- if (propertyOperand.first() == null)
- removeProfileProperty(profile, propertyOperand);
- else
- setProfileProperty(profile, propertyOperand, true);
-
- return null;
- }
-
- private void setProfileProperty(Profile profile, PropertyOperand propertyOperand, boolean undo) {
-
- String value = (String) (undo ? propertyOperand.first() : propertyOperand.second());
-
- if (propertyOperand instanceof InstallableUnitPropertyOperand) {
- InstallableUnitPropertyOperand iuPropertyOperand = (InstallableUnitPropertyOperand) propertyOperand;
- profile.setInstallableUnitProperty(iuPropertyOperand.getInstallableUnit(), iuPropertyOperand.getKey(), value);
- } else {
- profile.setProperty(propertyOperand.getKey(), value);
- }
- }
-
- private void removeProfileProperty(Profile profile, PropertyOperand propertyOperand) {
- if (propertyOperand instanceof InstallableUnitPropertyOperand) {
- InstallableUnitPropertyOperand iuPropertyOperand = (InstallableUnitPropertyOperand) propertyOperand;
- profile.removeInstallableUnitProperty(iuPropertyOperand.getInstallableUnit(), iuPropertyOperand.getKey());
- } else {
- profile.removeProperty(propertyOperand.getKey());
- }
- }
- }
-
- public class UpdateInstallableUnitProfilePropertiesAction extends ProvisioningAction {
-
- // we do not need to use a memento here since the profile is not persisted unless the operation is successful
- Map originalSourceProperties;
- Map originalTargetProperties;
-
- public IStatus execute(Map parameters) {
- Profile profile = (Profile) parameters.get(PARM_PROFILE);
- InstallableUnitOperand iuOperand = (InstallableUnitOperand) parameters.get(PARM_OPERAND);
-
- IInstallableUnit source = iuOperand.first();
- originalSourceProperties = profile.getInstallableUnitProperties(source);
-
- IInstallableUnit target = iuOperand.second();
- originalTargetProperties = profile.getInstallableUnitProperties(target);
-
- profile.addInstallableUnitProperties(target, originalSourceProperties);
- profile.clearInstallableUnitProperties(source);
-
- return null;
- }
-
- public IStatus undo(Map parameters) {
- Profile profile = (Profile) parameters.get(PARM_PROFILE);
- InstallableUnitOperand iuOperand = (InstallableUnitOperand) parameters.get(PARM_OPERAND);
-
- IInstallableUnit source = iuOperand.first();
- profile.clearInstallableUnitProperties(source);
- profile.addInstallableUnitProperties(source, originalSourceProperties);
-
- IInstallableUnit target = iuOperand.second();
- profile.clearInstallableUnitProperties(target);
- profile.addInstallableUnitProperties(target, originalTargetProperties);
-
- return null;
- }
- }
-
- public class RemoveInstallableUnitProfilePropertiesAction extends ProvisioningAction {
-
- // we do not need to use a memento here since the profile is not persisted unless the operation is successful
- Map originalSourceProperties;
- Map originalTargetProperties;
-
- public IStatus execute(Map parameters) {
- Profile profile = (Profile) parameters.get(PARM_PROFILE);
- InstallableUnitOperand iuOperand = (InstallableUnitOperand) parameters.get(PARM_OPERAND);
-
- IInstallableUnit source = iuOperand.first();
- originalSourceProperties = profile.getInstallableUnitProperties(source);
- profile.clearInstallableUnitProperties(source);
-
- return null;
- }
-
- public IStatus undo(Map parameters) {
- Profile profile = (Profile) parameters.get(PARM_PROFILE);
- InstallableUnitOperand iuOperand = (InstallableUnitOperand) parameters.get(PARM_OPERAND);
-
- IInstallableUnit source = iuOperand.first();
- profile.clearInstallableUnitProperties(source);
- profile.addInstallableUnitProperties(source, originalSourceProperties);
-
- return null;
- }
- }
-
- private static final String PHASE_ID = "property"; //$NON-NLS-1$
-
- public Property(int weight) {
- super(PHASE_ID, weight);
- }
-
- protected ProvisioningAction[] getActions(Operand operand) {
- if (operand instanceof PropertyOperand)
- return new ProvisioningAction[] {new ProfilePropertyAction()};
-
- if (operand instanceof InstallableUnitOperand) {
- InstallableUnitOperand iuOperand = (InstallableUnitOperand) operand;
- if (iuOperand.first() != null) {
- if (iuOperand.second() != null) {
- return new ProvisioningAction[] {new UpdateInstallableUnitProfilePropertiesAction()};
- }
- return new ProvisioningAction[] {new RemoveInstallableUnitProfilePropertiesAction()};
- }
- }
- return null;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/Sizing.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/Sizing.java
deleted file mode 100644
index 25d53b0..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/Sizing.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.engine.phases;
-
-import java.net.URL;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.engine.EngineActivator;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-
-public class Sizing extends InstallableUnitPhase {
- private static final String PHASE_ID = "collect"; //$NON-NLS-1$
-
- private long sizeOnDisk;
- private long dlSize;
-
- public Sizing(int weight, String phaseName) {
- super(PHASE_ID, weight);
- }
-
- protected boolean isApplicable(InstallableUnitOperand op) {
- return (op.second() != null);
- }
-
- public long getDiskSize() {
- return sizeOnDisk;
- }
-
- public long getDlSize() {
- return dlSize;
- }
-
- protected ProvisioningAction[] getActions(InstallableUnitOperand currentOperand) {
- ProvisioningAction action = getTouchpoint(currentOperand).getAction("collect"); //$NON-NLS-1$
- return new ProvisioningAction[] {action};
- }
-
- protected String getProblemMessage() {
- return Messages.Phase_Sizing_Error;
- }
-
- protected IStatus completeInstallableUnitPhase(IProgressMonitor monitor, IProfile profile, Map parameters) {
- List artifactRequests = (List) parameters.get("artifactRequests"); //$NON-NLS-1$
- Set artifactsToObtain = new HashSet(artifactRequests.size());
-
- for (Iterator it = artifactRequests.iterator(); it.hasNext();) {
- IArtifactRequest[] requests = (IArtifactRequest[]) it.next();
- if (requests == null)
- continue;
- for (int i = 0; i < requests.length; i++) {
- artifactsToObtain.add(requests[i]);
- }
- }
-
- if (monitor.isCanceled())
- return Status.CANCEL_STATUS;
-
- IArtifactRepositoryManager repoMgr = (IArtifactRepositoryManager) ServiceHelper.getService(EngineActivator.getContext(), IArtifactRepositoryManager.class.getName());
- URL[] repositories = null;
- if (provContext == null || provContext.getArtifactRepositories() == null)
- repositories = repoMgr.getKnownRepositories(IArtifactRepositoryManager.REPOSITORIES_ALL);
- else
- repositories = provContext.getArtifactRepositories();
-
- for (Iterator iterator = artifactsToObtain.iterator(); iterator.hasNext() && !monitor.isCanceled();) {
- IArtifactRequest artifactRequest = (IArtifactRequest) iterator.next();
- for (int i = 0; i < repositories.length; i++) {
- IArtifactRepository repo;
- try {
- repo = repoMgr.loadRepository(repositories[i], monitor);
- } catch (ProvisionException e) {
- continue;//skip unresponsive repositories
- }
- if (monitor.isCanceled())
- return Status.CANCEL_STATUS;
- IArtifactDescriptor[] descriptors = repo.getArtifactDescriptors(artifactRequest.getArtifactKey());
- if (descriptors.length > 0) {
- if (descriptors[0].getProperty(IArtifactDescriptor.ARTIFACT_SIZE) != null)
- sizeOnDisk += Long.parseLong(descriptors[0].getProperty(IArtifactDescriptor.ARTIFACT_SIZE));
- if (descriptors[0].getProperty(IArtifactDescriptor.DOWNLOAD_SIZE) != null)
- dlSize += Long.parseLong(descriptors[0].getProperty(IArtifactDescriptor.DOWNLOAD_SIZE));
- break;
- }
- }
- }
- return null;
- }
-
- protected IStatus initializeInstallableUnitPhase(IProgressMonitor monitor, IProfile profile, Map parameters) {
- parameters.put(PARM_ARTIFACT_REQUESTS, new ArrayList());
- return null;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/Unconfigure.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/Unconfigure.java
deleted file mode 100644
index e35d418..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/Unconfigure.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.engine.phases;
-
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-
-public class Unconfigure extends InstallableUnitPhase {
-
- public Unconfigure(int weight) {
- super("unconfigure", weight); //$NON-NLS-1$
- }
-
- protected boolean isApplicable(InstallableUnitOperand op) {
- return (op.first() != null);
- }
-
- protected ProvisioningAction[] getActions(InstallableUnitOperand currentOperand) {
- //TODO: monitor.subTask(NLS.bind(Messages.Engine_Unconfiguring_IU, unit.getId()));
-
- IInstallableUnit unit = currentOperand.first();
- if (unit.isFragment())
- return null;
-
- return getActions(unit, phaseId);
- }
-
- protected String getProblemMessage() {
- return Messages.Phase_Unconfigure_Error;
- }
-
- protected IStatus initializeOperand(IProfile profile, InstallableUnitOperand operand, Map parameters, IProgressMonitor monitor) {
- IInstallableUnit iu = operand.first();
- parameters.put(PARM_IU, iu);
-
- IArtifactKey[] artifacts = iu.getArtifacts();
- if (artifacts != null && artifacts.length > 0)
- parameters.put(PARM_ARTIFACT, artifacts[0]);
-
- return Status.OK_STATUS;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/Uninstall.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/Uninstall.java
deleted file mode 100644
index 8d66baf..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/Uninstall.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.engine.phases;
-
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-
-public class Uninstall extends InstallableUnitPhase {
-
- final static class BeforeUninstallEventAction extends ProvisioningAction {
- public IStatus execute(Map parameters) {
- IProfile profile = (IProfile) parameters.get(PARM_PROFILE);
- String phaseId = (String) parameters.get(PARM_PHASE_ID);
- Touchpoint touchpoint = (Touchpoint) parameters.get(PARM_TOUCHPOINT);
- InstallableUnitOperand operand = (InstallableUnitOperand) parameters.get(PARM_OPERAND);
- ((IProvisioningEventBus) ServiceHelper.getService(EngineActivator.getContext(), IProvisioningEventBus.SERVICE_NAME)).publishEvent(new InstallableUnitEvent(phaseId, true, profile, operand, InstallableUnitEvent.UNINSTALL, touchpoint));
- return null;
- }
-
- public IStatus undo(Map parameters) {
- Profile profile = (Profile) parameters.get(PARM_PROFILE);
- String phaseId = (String) parameters.get(PARM_PHASE_ID);
- Touchpoint touchpoint = (Touchpoint) parameters.get(PARM_TOUCHPOINT);
- InstallableUnitOperand operand = (InstallableUnitOperand) parameters.get(PARM_OPERAND);
- IInstallableUnit iu = (IInstallableUnit) parameters.get(PARM_IU);
- profile.addInstallableUnit(iu);
- ((IProvisioningEventBus) ServiceHelper.getService(EngineActivator.getContext(), IProvisioningEventBus.SERVICE_NAME)).publishEvent(new InstallableUnitEvent(phaseId, false, profile, operand, InstallableUnitEvent.INSTALL, touchpoint));
- return null;
- }
- }
-
- final static class AfterUninstallEventAction extends ProvisioningAction {
- public IStatus execute(Map parameters) {
- Profile profile = (Profile) parameters.get(PARM_PROFILE);
- String phaseId = (String) parameters.get(PARM_PHASE_ID);
- Touchpoint touchpoint = (Touchpoint) parameters.get(PARM_TOUCHPOINT);
- InstallableUnitOperand operand = (InstallableUnitOperand) parameters.get(PARM_OPERAND);
- IInstallableUnit iu = (IInstallableUnit) parameters.get(PARM_IU);
- profile.removeInstallableUnit(iu);
- ((IProvisioningEventBus) ServiceHelper.getService(EngineActivator.getContext(), IProvisioningEventBus.SERVICE_NAME)).publishEvent(new InstallableUnitEvent(phaseId, false, profile, operand, InstallableUnitEvent.UNINSTALL, touchpoint));
- return null;
- }
-
- public IStatus undo(Map parameters) {
- IProfile profile = (IProfile) parameters.get(PARM_PROFILE);
- String phaseId = (String) parameters.get(PARM_PHASE_ID);
- Touchpoint touchpoint = (Touchpoint) parameters.get(PARM_TOUCHPOINT);
- InstallableUnitOperand operand = (InstallableUnitOperand) parameters.get(PARM_OPERAND);
- ((IProvisioningEventBus) ServiceHelper.getService(EngineActivator.getContext(), IProvisioningEventBus.SERVICE_NAME)).publishEvent(new InstallableUnitEvent(phaseId, true, profile, operand, InstallableUnitEvent.INSTALL, touchpoint));
- return null;
- }
- }
-
- private static final String PHASE_ID = "uninstall"; //$NON-NLS-1$
-
- public Uninstall(int weight) {
- super(PHASE_ID, weight);
- }
-
- protected boolean isApplicable(InstallableUnitOperand op) {
- return (op.first() != null);
- }
-
- protected ProvisioningAction[] getActions(InstallableUnitOperand currentOperand) {
- //TODO: monitor.subTask(NLS.bind(Messages.Engine_Uninstalling_IU, unit.getId()));
-
- ProvisioningAction beforeAction = new BeforeUninstallEventAction();
- ProvisioningAction afterAction = new AfterUninstallEventAction();
-
- IInstallableUnit unit = currentOperand.first();
- if (unit.isFragment())
- return new ProvisioningAction[] {beforeAction, afterAction};
- ProvisioningAction[] parsedActions = getActions(unit, phaseId);
- if (parsedActions == null)
- return new ProvisioningAction[] {beforeAction, afterAction};
-
- ProvisioningAction[] actions = new ProvisioningAction[parsedActions.length + 2];
- actions[0] = beforeAction;
- System.arraycopy(parsedActions, 0, actions, 1, parsedActions.length);
- actions[actions.length - 1] = afterAction;
- return actions;
- }
-
- protected String getProblemMessage() {
- return Messages.Phase_Uninstall_Error;
- }
-
- protected IStatus initializeOperand(IProfile profile, InstallableUnitOperand operand, Map parameters, IProgressMonitor monitor) {
- IInstallableUnit iu = operand.first();
- parameters.put("iu", iu); //$NON-NLS-1$
-
- IArtifactKey[] artifacts = iu.getArtifacts();
- if (artifacts != null && artifacts.length > 0)
- parameters.put("artifact", artifacts[0]); //$NON-NLS-1$
-
- return Status.OK_STATUS;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/messages.properties b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/messages.properties
deleted file mode 100644
index 2d12c8b..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/messages.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2007, 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-Phase_Collect_Error=An error occurred while collecting items to be installed
-Phase_Configure_Error=An error occurred while configuring the installed items
-Phase_Configure_Task=Configuring {0}
-Phase_Install_Error=An error occurred while installing the items
-Phase_Install_Task=Installing {0}
-Phase_Sizing_Error=An error occurred while computing the size of the items to be installed
-Phase_Unconfigure_Error=An error occurred while unconfiguring the items to uninstall
-Phase_Uninstall_Error=An error occurred while uninstalling
diff --git a/bundles/org.eclipse.equinox.p2.exemplarysetup/.classpath b/bundles/org.eclipse.equinox.p2.exemplarysetup/.classpath
deleted file mode 100644
index 7cdeb73..0000000
--- a/bundles/org.eclipse.equinox.p2.exemplarysetup/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.1%Foundation-1.1"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.exemplarysetup/.project b/bundles/org.eclipse.equinox.p2.exemplarysetup/.project
deleted file mode 100644
index 04de2a1..0000000
--- a/bundles/org.eclipse.equinox.p2.exemplarysetup/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.equinox.p2.exemplarysetup</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.exemplarysetup/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.exemplarysetup/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index b3fb58a..0000000
--- a/bundles/org.eclipse.equinox.p2.exemplarysetup/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,339 +0,0 @@
-#Thu Sep 06 23:48:04 EDT 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.exemplarysetup/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.exemplarysetup/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index bb66afe..0000000
--- a/bundles/org.eclipse.equinox.p2.exemplarysetup/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:58:11 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.exemplarysetup/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.exemplarysetup/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 7913d20..0000000
--- a/bundles/org.eclipse.equinox.p2.exemplarysetup/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.exemplarysetup/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.exemplarysetup/META-INF/MANIFEST.MF
deleted file mode 100644
index 5f282de..0000000
--- a/bundles/org.eclipse.equinox.p2.exemplarysetup/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,25 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.exemplarysetup;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 1.0.0.qualifier
-Import-Package: org.eclipse.equinox.internal.p2.core,
- org.eclipse.equinox.internal.p2.director,
- org.eclipse.equinox.internal.p2.engine,
- org.eclipse.equinox.internal.p2.garbagecollector,
- org.eclipse.equinox.internal.p2.metadata.repository,
- org.eclipse.equinox.internal.provisional.p2.core.eventbus,
- org.eclipse.equinox.internal.provisional.p2.core.location,
- org.eclipse.equinox.internal.provisional.p2.director,
- org.eclipse.equinox.internal.provisional.p2.engine,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.internal.provisional.p2.metadata.repository,
- org.osgi.framework;version="1.3.0"
-Eclipse-LazyStart: true
-Bundle-Activator: org.eclipse.equinox.internal.p2.exemplarysetup.Activator
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
- J2SE-1.4
-Require-Bundle: org.eclipse.equinox.common
-Export-Package: org.eclipse.equinox.internal.p2.exemplarysetup;x-internal:=true
diff --git a/bundles/org.eclipse.equinox.p2.exemplarysetup/about.html b/bundles/org.eclipse.equinox.p2.exemplarysetup/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.exemplarysetup/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 2, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.exemplarysetup/build.properties b/bundles/org.eclipse.equinox.p2.exemplarysetup/build.properties
deleted file mode 100644
index a6b8330..0000000
--- a/bundles/org.eclipse.equinox.p2.exemplarysetup/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- about.html,\
- plugin.properties
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.p2.exemplarysetup/plugin.properties b/bundles/org.eclipse.equinox.p2.exemplarysetup/plugin.properties
deleted file mode 100644
index 5b794b6..0000000
--- a/bundles/org.eclipse.equinox.p2.exemplarysetup/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Equinox Provisioning Exemplary Setup
-providerName = Eclipse.org
diff --git a/bundles/org.eclipse.equinox.p2.exemplarysetup/src/org/eclipse/equinox/internal/p2/exemplarysetup/Activator.java b/bundles/org.eclipse.equinox.p2.exemplarysetup/src/org/eclipse/equinox/internal/p2/exemplarysetup/Activator.java
deleted file mode 100644
index c3504f9..0000000
--- a/bundles/org.eclipse.equinox.p2.exemplarysetup/src/org/eclipse/equinox/internal/p2/exemplarysetup/Activator.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.exemplarysetup;
-
-import org.eclipse.equinox.internal.p2.core.ProvisioningEventBus;
-import org.eclipse.equinox.internal.p2.director.SimpleDirector;
-import org.eclipse.equinox.internal.p2.director.SimplePlanner;
-import org.eclipse.equinox.internal.p2.engine.MetadataCache;
-import org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry;
-import org.eclipse.equinox.internal.p2.garbagecollector.GarbageCollector;
-import org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus;
-import org.eclipse.equinox.internal.provisional.p2.director.IDirector;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfileRegistry;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager;
-import org.osgi.framework.*;
-
-public class Activator implements BundleActivator {
- public static BundleContext context;
-
- private IProvisioningEventBus bus;
- private ServiceRegistration registrationBus;
-
- private MetadataRepositoryManager defaultManager;
- private ServiceRegistration registrationDefaultManager;
-
- // private ArtifactRepositoryManager artifactRepoManager;
- // private ServiceRegistration registrationArtifactRepoManager;
-
- private IProfileRegistry profileRegistry;
- private ServiceRegistration registrationProfileRegistry;
-
- private IDirector director;
- private ServiceRegistration registrationDirector;
-
- private IPlanner planner;
- private ServiceRegistration registrationPlanner;
-
- public void start(BundleContext aContext) throws Exception {
- //Need to do the configuration of all the bits and pieces:
- Activator.context = aContext;
-
- registerEventBus();
- //create the profile registry
- registerProfileRegistry();
- //create metadata repositories
- registerDefaultMetadataRepoManager();
- registerMetadataCache();
-
- //create the director and planner. The planner must be
- //registered first because the director finds it in its constructor.
- registerPlanner();
- registerDirector();
- startGarbageCollector();
-
- //create artifact repositories
- // registerDefaultArtifactRepoManager();
- }
-
- private void startGarbageCollector() {
- new GarbageCollector();
- }
-
- public void stop(BundleContext aContext) throws Exception {
- // unregisterDefaultArtifactRepoManager();
- unregisterDirector();
- unregisterPlanner();
- unregisterDefaultMetadataRepoManager();
- unregisterProfileRegistry();
- unregisterEventBus();
- Activator.context = null;
-
- }
-
- private void registerDirector() {
- director = new SimpleDirector();
- registrationDirector = context.registerService(IDirector.class.getName(), director, null);
- }
-
- private void unregisterDirector() {
- registrationDirector.unregister();
- registrationDirector = null;
- director = null;
- }
-
- private void registerPlanner() {
- planner = new SimplePlanner();
- registrationPlanner = context.registerService(IPlanner.class.getName(), planner, null);
- }
-
- private void unregisterPlanner() {
- registrationPlanner.unregister();
- registrationPlanner = null;
- planner = null;
- }
-
- private void registerProfileRegistry() {
- profileRegistry = new SimpleProfileRegistry();
- registrationProfileRegistry = context.registerService(IProfileRegistry.class.getName(), profileRegistry, null);
- }
-
- private void unregisterProfileRegistry() {
- registrationProfileRegistry.unregister();
- registrationProfileRegistry = null;
- profileRegistry = null;
- }
-
- private void registerDefaultMetadataRepoManager() {
- defaultManager = new MetadataRepositoryManager();
- registrationDefaultManager = context.registerService(IMetadataRepositoryManager.class.getName(), defaultManager, null);
- }
-
- private void unregisterDefaultMetadataRepoManager() {
- registrationDefaultManager.unregister();
- registrationDefaultManager = null;
- defaultManager = null;
- }
-
- // private void registerDefaultArtifactRepoManager() {
- // artifactRepoManager = new ArtifactRepositoryManager();
- // registrationArtifactRepoManager = context.registerService(IArtifactRepositoryManager.class.getName(), artifactRepoManager, null);
- // }
- //
- // private void unregisterDefaultArtifactRepoManager() {
- // registrationArtifactRepoManager.unregister();
- // artifactRepoManager = null;
- // }
-
- private void registerMetadataCache() {
- //TODO: we need to start metadata cache at a specific time, because it relies on IMetadataRepositoryManager
- //being present. Really, MetadataCache should just wait until metadata repository service
- //is available and then initialize itself
- new MetadataCache();
- }
-
- private void registerEventBus() {
- bus = new ProvisioningEventBus();
- registrationBus = context.registerService(IProvisioningEventBus.SERVICE_NAME, bus, null);
- }
-
- private void unregisterEventBus() {
- registrationBus.unregister();
- registrationBus = null;
- bus.close();
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/.classpath b/bundles/org.eclipse.equinox.p2.extensionlocation/.classpath
deleted file mode 100644
index 866a165..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/OSGi%Minimum-1.1"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/.cvsignore b/bundles/org.eclipse.equinox.p2.extensionlocation/.cvsignore
deleted file mode 100644
index e043cc4..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-bin
-build.xml
-javaCompiler...args
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/.project b/bundles/org.eclipse.equinox.p2.extensionlocation/.project
deleted file mode 100644
index 75a9f6c..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.equinox.p2.extensionlocation</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.extensionlocation/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 5147d22..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,330 +0,0 @@
-#Wed Mar 19 17:43:16 BRT 2008
-eclipse.preferences.version=1
-instance/org.eclipse.core.net/org.eclipse.core.net.hasMigrated=true
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.1
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.3
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.extensionlocation/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 56bcc3e..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:58:07 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.extensionlocation/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 7913d20..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.extensionlocation/META-INF/MANIFEST.MF
deleted file mode 100644
index 8192c6f..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,34 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 1.0.2.qualifier
-Bundle-SymbolicName: org.eclipse.equinox.p2.extensionlocation;singleton:=true
-Bundle-Activator: org.eclipse.equinox.internal.p2.extensionlocation.Activator
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,
- CDC-1.1/Foundation-1.1
-Export-Package: org.eclipse.equinox.internal.p2.extensionlocation;x-friends:="org.eclipse.equinox.p2.reconciler.dropins"
-Import-Package: org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.p2.metadata.generator.features,
- org.eclipse.equinox.internal.p2.touchpoint.eclipse,
- org.eclipse.equinox.internal.p2.update,
- org.eclipse.equinox.internal.provisional.p2.artifact.repository,
- org.eclipse.equinox.internal.provisional.p2.core,
- org.eclipse.equinox.internal.provisional.p2.core.repository,
- org.eclipse.equinox.internal.provisional.p2.directorywatcher,
- org.eclipse.equinox.internal.provisional.p2.engine,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.internal.provisional.p2.metadata.generator,
- org.eclipse.equinox.internal.provisional.p2.metadata.repository,
- org.eclipse.equinox.internal.provisional.p2.query,
- org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository,
- org.eclipse.equinox.internal.provisional.spi.p2.core.repository,
- org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository,
- org.eclipse.osgi.service.datalocation;version="1.1.0",
- org.eclipse.osgi.service.resolver;version="1.2.0",
- org.eclipse.osgi.util,
- org.osgi.framework
-Require-Bundle: org.eclipse.equinox.common;bundle-version="3.4.0"
-Bundle-ActivationPolicy: lazy
-
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/about.html b/bundles/org.eclipse.equinox.p2.extensionlocation/about.html
deleted file mode 100644
index d42b3ce..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 2, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/build.properties b/bundles/org.eclipse.equinox.p2.extensionlocation/build.properties
deleted file mode 100644
index 3114092..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/build.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.xml,\
- plugin.properties,\
- about.html
-source.. = src/
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/plugin.properties b/bundles/org.eclipse.equinox.p2.extensionlocation/plugin.properties
deleted file mode 100644
index c08b5e8..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Extension Location Repository Support
-providerName = Eclipse.org
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/plugin.xml b/bundles/org.eclipse.equinox.p2.extensionlocation/plugin.xml
deleted file mode 100644
index 21d41e2..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/plugin.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
- <extension
- id="metadataRepository"
- point="org.eclipse.equinox.p2.metadata.repository.metadataRepositories">
- <factory class="org.eclipse.equinox.internal.p2.extensionlocation.ExtensionLocationMetadataRepositoryFactory" />
- <filter suffix="eclipse" />
- </extension>
-
- <extension
- id="artifactRepository"
- point="org.eclipse.equinox.p2.artifact.repository.artifactRepositories">
- <factory class="org.eclipse.equinox.internal.p2.extensionlocation.ExtensionLocationArtifactRepositoryFactory" />
- <filter suffix="eclipse" />
- </extension>
-</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/Activator.java b/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/Activator.java
deleted file mode 100644
index b587eff..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/Activator.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.extensionlocation;
-
-import java.io.File;
-import java.net.URL;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.URLUtil;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IFileArtifactRepository;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfileRegistry;
-import org.eclipse.osgi.service.datalocation.Location;
-import org.osgi.framework.*;
-
-public class Activator implements BundleActivator {
-
- public static final String ID = "org.eclipse.equinox.p2.extensionlocation"; //$NON-NLS-1$null;
- private static volatile BundleContext bundleContext;
-
- /*
- * (non-Javadoc)
- * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
- */
- public void start(BundleContext context) throws Exception {
- bundleContext = context;
- }
-
- /*
- * (non-Javadoc)
- * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
- */
- public void stop(BundleContext context) throws Exception {
- bundleContext = null;
- }
-
- public static BundleContext getContext() {
- return bundleContext;
- }
-
- /*
- * Helper method to get the configuration location. Return null if
- * it is unavailable.
- */
- public static File getConfigurationLocation() {
- Location configurationLocation = (Location) ServiceHelper.getService(getContext(), Location.class.getName(), Location.CONFIGURATION_FILTER);
- if (configurationLocation == null || !configurationLocation.isSet())
- return null;
- URL url = configurationLocation.getURL();
- if (url == null)
- return null;
- return URLUtil.toFile(url);
- }
-
- public static IProfile getCurrentProfile() {
- ServiceReference reference = bundleContext.getServiceReference(IProfileRegistry.class.getName());
- if (reference == null)
- return null;
- IProfileRegistry profileRegistry = (IProfileRegistry) bundleContext.getService(reference);
- try {
- return profileRegistry.getProfile(IProfileRegistry.SELF);
- } finally {
- bundleContext.ungetService(reference);
- }
- }
-
- public static IFileArtifactRepository getBundlePoolRepository() {
- ServiceReference reference = bundleContext.getServiceReference(IProfileRegistry.class.getName());
- if (reference == null)
- return null;
- IProfileRegistry profileRegistry = (IProfileRegistry) bundleContext.getService(reference);
- IProfile profile = null;
- try {
- profile = profileRegistry.getProfile(IProfileRegistry.SELF);
- } finally {
- bundleContext.ungetService(reference);
- }
- if (profile == null)
- return null;
-
- return Util.getAggregatedBundleRepository(profile, Util.AGGREGATE_CACHE | Util.AGGREGATE_SHARED_CACHE);
- }
-
- /**
- * Returns a reasonable human-readable repository name for the given location.
- */
- public static String getRepositoryName(URL location) {
- File file = URLUtil.toFile(location);
- return file == null ? location.toExternalForm() : file.getAbsolutePath();
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/BundlePoolFilteredListener.java b/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/BundlePoolFilteredListener.java
deleted file mode 100644
index 6615f00..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/BundlePoolFilteredListener.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.extensionlocation;
-
-import java.io.File;
-import java.util.HashSet;
-import java.util.Set;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IFileArtifactRepository;
-import org.eclipse.equinox.internal.provisional.p2.directorywatcher.DirectoryChangeListener;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-
-public class BundlePoolFilteredListener extends DirectoryChangeListener {
-
- private DirectoryChangeListener delegate;
- private Set bundlePoolFiles = new HashSet();
-
- public BundlePoolFilteredListener(DirectoryChangeListener listener) {
- delegate = listener;
- IFileArtifactRepository bundlePool = Activator.getBundlePoolRepository();
- if (bundlePool != null) {
- IArtifactKey[] keys = bundlePool.getArtifactKeys();
- for (int i = 0; i < keys.length; i++) {
- File artifactFile = bundlePool.getArtifactFile(keys[i]);
- if (artifactFile != null)
- bundlePoolFiles.add(artifactFile);
- }
- }
- }
-
- public boolean added(File file) {
- return delegate.added(file);
- }
-
- public boolean changed(File file) {
- return delegate.changed(file);
- }
-
- public Long getSeenFile(File file) {
- return delegate.getSeenFile(file);
- }
-
- public boolean isInterested(File file) {
- if (bundlePoolFiles.contains(file))
- return false;
-
- return delegate.isInterested(file);
- }
-
- public boolean removed(File file) {
- return delegate.removed(file);
- }
-
- public void startPoll() {
- delegate.startPoll();
- }
-
- public void stopPoll() {
- delegate.stopPoll();
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/Constants.java b/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/Constants.java
deleted file mode 100644
index 51c4bc8..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/Constants.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.extensionlocation;
-
-/**
- * @since 1.0
- */
-public interface Constants {
-
- public static final String ECLIPSE = "eclipse"; //$NON-NLS-1$
- public static final String EXTENSION_LOCATION = ".eclipseextension"; //$NON-NLS-1$
- public static final String FEATURES = "features"; //$NON-NLS-1$
- public static final String FILE = "file"; //$NON-NLS-1$
- public static final String PLUGINS = "plugins"; //$NON-NLS-1$
- public static final String SITE_XML = "site.xml"; //$NON-NLS-1$
- public static final String SITE = "site"; //$NON-NLS-1$
- public static final String DOT_XML = ".xml"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationArtifactRepository.java b/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationArtifactRepository.java
deleted file mode 100644
index aee3fcd..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationArtifactRepository.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.extensionlocation;
-
-import java.io.File;
-import java.io.OutputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.directorywatcher.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.internal.provisional.spi.p2.core.repository.AbstractRepository;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.BundleContext;
-
-public class ExtensionLocationArtifactRepository extends AbstractRepository implements IFileArtifactRepository, Constants {
-
- public static final String TYPE = "org.eclipse.equinox.p2.extensionlocation.artifactRepository"; //$NON-NLS-1$
- public static final Integer VERSION = new Integer(1);
- private final IFileArtifactRepository artifactRepository;
- private boolean initialized = false;
- private File base;
-
- /*
- * Return the location of a local repository based on
- * the given URL.
- */
- public static URL getLocalRepositoryLocation(URL location) {
- BundleContext context = Activator.getContext();
- String stateDirName = Integer.toString(location.toExternalForm().hashCode());
- File bundleData = context.getDataFile(null);
- File stateDir = new File(bundleData, stateDirName);
- try {
- return stateDir.toURL();
- } catch (MalformedURLException e) {
- // unexpected
- return null;
- }
- }
-
- /*
- * Constructor for the class. Return a new extension location repository based on
- * the given url and nested repository.
- */
- public ExtensionLocationArtifactRepository(URL location, IFileArtifactRepository repository, IProgressMonitor monitor) throws ProvisionException {
- super(Activator.getRepositoryName(location), TYPE, VERSION.toString(), location, null, null, null);
- this.artifactRepository = repository;
- this.base = getBaseDirectory(location);
- }
-
- public synchronized void ensureInitialized() {
- if (initialized)
- return;
- File plugins = new File(base, PLUGINS);
- File features = new File(base, FEATURES);
- DirectoryWatcher watcher = new DirectoryWatcher(new File[] {plugins, features});
- DirectoryChangeListener listener = new RepositoryListener(Activator.getContext(), null, artifactRepository);
- watcher.addListener(listener);
- watcher.poll();
- initialized = true;
- }
-
- public static void validate(URL location, IProgressMonitor monitor) throws ProvisionException {
- File base = getBaseDirectory(location);
- if (new File(base, EXTENSION_LOCATION).exists())
- return;
- if (containsUpdateSiteFile(base)) {
- String message = NLS.bind(Messages.error_update_site, location.toExternalForm());
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, message, null));
- }
- }
-
- private static boolean containsUpdateSiteFile(File base) {
- String[] fileNames = base.list();
- if (fileNames == null)
- return false;
- for (int i = 0; i < fileNames.length; i++) {
- if (fileNames[i].endsWith(DOT_XML) && fileNames[i].indexOf(SITE) != -1)
- return true;
- }
- return false;
- }
-
- public static File getBaseDirectory(URL url) throws ProvisionException {
- if (!FILE.equals(url.getProtocol()))
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, Messages.not_file_protocol, null));
-
- String path = url.getPath();
- if (path.endsWith(EXTENSION_LOCATION))
- path = path.substring(0, path.length() - EXTENSION_LOCATION.length());
- File base = new File(path);
-
- if (!base.isDirectory())
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, NLS.bind(Messages.not_directory, url.toExternalForm()), null));
-
- if (isBaseDirectory(base))
- return base;
-
- File eclipseBase = new File(base, ECLIPSE);
- if (isBaseDirectory(eclipseBase))
- return eclipseBase;
-
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, NLS.bind(Messages.not_eclipse_extension, url.toExternalForm()), null));
- }
-
- private static boolean isBaseDirectory(File base) {
- File plugins = new File(base, PLUGINS);
- File features = new File(base, FEATURES);
-
- return plugins.isDirectory() || features.isDirectory();
- }
-
- public void addDescriptor(IArtifactDescriptor descriptor) {
- throw new UnsupportedOperationException();
- }
-
- public void addDescriptors(IArtifactDescriptor[] descriptors) {
- throw new UnsupportedOperationException();
- }
-
- public void removeAll() {
- throw new UnsupportedOperationException();
- }
-
- public void removeDescriptor(IArtifactDescriptor descriptor) {
- throw new UnsupportedOperationException();
- }
-
- public void removeDescriptor(IArtifactKey key) {
- throw new UnsupportedOperationException();
- }
-
- public boolean contains(IArtifactDescriptor descriptor) {
- ensureInitialized();
- return artifactRepository.contains(descriptor);
- }
-
- public boolean contains(IArtifactKey key) {
- ensureInitialized();
- return artifactRepository.contains(key);
- }
-
- public IStatus getArtifact(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) {
- ensureInitialized();
- return artifactRepository.getArtifact(descriptor, destination, monitor);
- }
-
- public IArtifactDescriptor[] getArtifactDescriptors(IArtifactKey key) {
- ensureInitialized();
- return artifactRepository.getArtifactDescriptors(key);
- }
-
- public IArtifactKey[] getArtifactKeys() {
- ensureInitialized();
- return artifactRepository.getArtifactKeys();
- }
-
- public IStatus getArtifacts(IArtifactRequest[] requests, IProgressMonitor monitor) {
- ensureInitialized();
- return artifactRepository.getArtifacts(requests, monitor);
- }
-
- public OutputStream getOutputStream(IArtifactDescriptor descriptor) throws ProvisionException {
- ensureInitialized();
- return artifactRepository.getOutputStream(descriptor);
- }
-
- public File getArtifactFile(IArtifactKey key) {
- ensureInitialized();
- return artifactRepository.getArtifactFile(key);
- }
-
- public File getArtifactFile(IArtifactDescriptor descriptor) {
- ensureInitialized();
- return artifactRepository.getArtifactFile(descriptor);
- }
-
- public Map getProperties() {
- return artifactRepository.getProperties();
- }
-
- public String setProperty(String key, String value) {
- return artifactRepository.setProperty(key, value);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationArtifactRepositoryFactory.java b/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationArtifactRepositoryFactory.java
deleted file mode 100644
index fdf2ec1..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationArtifactRepositoryFactory.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.extensionlocation;
-
-import java.net.URL;
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepository;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IFileArtifactRepository;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository.IArtifactRepositoryFactory;
-import org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository.SimpleArtifactRepositoryFactory;
-import org.eclipse.osgi.util.NLS;
-
-public class ExtensionLocationArtifactRepositoryFactory implements IArtifactRepositoryFactory {
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository.IArtifactRepositoryFactory#create(java.net.URL, java.lang.String, java.lang.String, java.util.Map)
- */
- public IArtifactRepository create(URL location, String name, String type, Map properties) throws ProvisionException {
- // TODO proper progress monitoring
- IStatus status = validate(location, null);
- if (!status.isOK())
- throw new ProvisionException(status);
- URL repoLocation = ExtensionLocationArtifactRepository.getLocalRepositoryLocation(location);
- // unexpected
- if (repoLocation == null)
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, Messages.failed_create_local_artifact_repository));
- // make sure that we aren't trying to create a repo at a location
- // where one already exists
- boolean failed = false;
- try {
- new SimpleArtifactRepositoryFactory().load(repoLocation, null);
- failed = true;
- } catch (ProvisionException e) {
- // expected
- }
- if (failed) {
- String msg = NLS.bind(Messages.repo_already_exists, location.toExternalForm());
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_EXISTS, msg, null));
- }
- IFileArtifactRepository repo = (IFileArtifactRepository) new SimpleArtifactRepositoryFactory().create(repoLocation, name, type, properties);
- return new ExtensionLocationArtifactRepository(location, repo, null);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository.IArtifactRepositoryFactory#load(java.net.URL, org.eclipse.core.runtime.IProgressMonitor)
- */
- public IArtifactRepository load(URL location, IProgressMonitor monitor) throws ProvisionException {
- // TODO proper progress monitoring
- IStatus status = validate(location, null);
- if (!status.isOK())
- throw new ProvisionException(status);
- URL repoLocation = ExtensionLocationArtifactRepository.getLocalRepositoryLocation(location);
- // unexpected
- if (repoLocation == null)
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, Messages.failed_create_local_artifact_repository));
- // TODO proper progress monitoring
- try {
- IFileArtifactRepository repo = (IFileArtifactRepository) new SimpleArtifactRepositoryFactory().load(repoLocation, null);
- return new ExtensionLocationArtifactRepository(location, repo, monitor);
- } catch (ProvisionException e) {
- return create(location, Activator.getRepositoryName(location), ExtensionLocationArtifactRepository.TYPE, null);
- }
- }
-
- public IStatus validate(URL location, IProgressMonitor monitor) {
- try {
- ExtensionLocationArtifactRepository.validate(location, monitor);
- } catch (ProvisionException e) {
- return e.getStatus();
- }
- return Status.OK_STATUS;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationMetadataRepository.java b/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationMetadataRepository.java
deleted file mode 100644
index 13c6b48..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationMetadataRepository.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.extensionlocation;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.directorywatcher.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.query.Query;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.AbstractMetadataRepository;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.BundleContext;
-
-public class ExtensionLocationMetadataRepository extends AbstractMetadataRepository implements Constants {
-
- public static final String TYPE = "org.eclipse.equinox.p2.extensionlocation.metadataRepository"; //$NON-NLS-1$
- public static final Integer VERSION = new Integer(1);
- private final IMetadataRepository metadataRepository;
- private boolean initialized = false;
- private File base;
-
- /*
- * Return the URL for this repo's nested local repository.
- */
- public static URL getLocalRepositoryLocation(URL location) {
- BundleContext context = Activator.getContext();
- String stateDirName = Integer.toString(location.toExternalForm().hashCode());
- File bundleData = context.getDataFile(null);
- File stateDir = new File(bundleData, stateDirName);
- try {
- return stateDir.toURL();
- } catch (MalformedURLException e) {
- // unexpected
- return null;
- }
- }
-
- /*
- * Constructor for the class. Return a new extension location repository based on the
- * given location and specified nested repo.
- */
- public ExtensionLocationMetadataRepository(URL location, IMetadataRepository repository, IProgressMonitor monitor) throws ProvisionException {
- super(Activator.getRepositoryName(location), TYPE, VERSION.toString(), location, null, null, null);
- this.metadataRepository = repository;
- this.base = getBaseDirectory(location);
- }
-
- public synchronized void ensureInitialized() {
- if (initialized)
- return;
- File plugins = new File(base, PLUGINS);
- File features = new File(base, FEATURES);
- DirectoryWatcher watcher = new DirectoryWatcher(new File[] {plugins, features});
- DirectoryChangeListener listener = new RepositoryListener(Activator.getContext(), metadataRepository, null);
- if (getProperties().get(SiteListener.SITE_POLICY) != null)
- listener = new SiteListener(getProperties(), location.toExternalForm(), new BundlePoolFilteredListener(listener));
- watcher.addListener(listener);
- watcher.poll();
- initialized = true;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository#addInstallableUnits(org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit[])
- */
- public void addInstallableUnits(IInstallableUnit[] installableUnits) {
- throw new UnsupportedOperationException();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository#removeAll()
- */
- public void removeAll() {
- throw new UnsupportedOperationException();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository#removeInstallableUnits(org.eclipse.equinox.internal.provisional.p2.query.Query, org.eclipse.core.runtime.IProgressMonitor)
- */
- public boolean removeInstallableUnits(Query query, IProgressMonitor monitor) {
- throw new UnsupportedOperationException();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.query.IQueryable#query(org.eclipse.equinox.internal.provisional.p2.query.Query, org.eclipse.equinox.internal.provisional.p2.query.Collector, org.eclipse.core.runtime.IProgressMonitor)
- */
- public Collector query(Query query, Collector collector, IProgressMonitor monitor) {
- ensureInitialized();
- return metadataRepository.query(query, collector, monitor);
- }
-
- public static void validate(URL location, IProgressMonitor monitor) throws ProvisionException {
- File base = getBaseDirectory(location);
- if (new File(base, EXTENSION_LOCATION).exists())
- return;
- if (containsUpdateSiteFile(base)) {
- String message = NLS.bind(Messages.error_update_site, location.toExternalForm());
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, message, null));
- }
- }
-
- private static boolean containsUpdateSiteFile(File base) {
- String[] fileNames = base.list();
- if (fileNames == null)
- return false;
- for (int i = 0; i < fileNames.length; i++) {
- if (fileNames[i].endsWith(DOT_XML) && fileNames[i].indexOf(SITE) != -1)
- return true;
- }
- return false;
- }
-
- public static File getBaseDirectory(URL url) throws ProvisionException {
- if (!FILE.equals(url.getProtocol()))
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, Messages.not_file_protocol, null));
-
- String path = url.getPath();
- if (path.endsWith(EXTENSION_LOCATION))
- path = path.substring(0, path.length() - EXTENSION_LOCATION.length());
- File base = new File(path);
-
- if (!base.isDirectory())
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, NLS.bind(Messages.not_directory, url.toExternalForm()), null));
-
- if (isBaseDirectory(base))
- return base;
-
- File eclipseBase = new File(base, ECLIPSE);
- if (isBaseDirectory(eclipseBase))
- return eclipseBase;
-
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, NLS.bind(Messages.not_eclipse_extension, url.toExternalForm()), null));
- }
-
- private static boolean isBaseDirectory(File base) {
- File plugins = new File(base, PLUGINS);
- File features = new File(base, FEATURES);
-
- return plugins.isDirectory() || features.isDirectory();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.spi.p2.core.repository.AbstractRepository#getProperties()
- */
- public Map getProperties() {
- return metadataRepository.getProperties();
- }
-
- public void initialize(RepositoryState state) {
- //nothing to do
- }
-
- public String setProperty(String key, String value) {
- return metadataRepository.setProperty(key, value);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationMetadataRepositoryFactory.java b/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationMetadataRepositoryFactory.java
deleted file mode 100644
index 7e6db68..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationMetadataRepositoryFactory.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.extensionlocation;
-
-import java.net.URL;
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.IMetadataRepositoryFactory;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.SimpleMetadataRepositoryFactory;
-import org.eclipse.osgi.util.NLS;
-
-public class ExtensionLocationMetadataRepositoryFactory implements IMetadataRepositoryFactory {
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.IMetadataRepositoryFactory#create(java.net.URL, java.lang.String, java.lang.String, java.util.Map)
- */
- public IMetadataRepository create(URL location, String name, String type, Map properties) throws ProvisionException {
- // TODO proper progress monitoring
- IStatus status = validate(location, null);
- if (!status.isOK())
- throw new ProvisionException(status);
- URL repoLocation = ExtensionLocationMetadataRepository.getLocalRepositoryLocation(location);
- // unexpected
- if (repoLocation == null)
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, Messages.failed_create_local_artifact_repository));
- // ensure that we aren't trying to create a repository at a location
- // where one already exists
- boolean failed = false;
- try {
- new SimpleMetadataRepositoryFactory().load(repoLocation, null);
- failed = true;
- } catch (ProvisionException e) {
- // expected
- }
- if (failed) {
- String msg = NLS.bind(Messages.repo_already_exists, location.toExternalForm());
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_EXISTS, msg, null));
- }
- IMetadataRepository repository = new SimpleMetadataRepositoryFactory().create(repoLocation, name, null, properties);
- return new ExtensionLocationMetadataRepository(location, repository, null);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.IMetadataRepositoryFactory#load(java.net.URL, org.eclipse.core.runtime.IProgressMonitor)
- */
- public IMetadataRepository load(URL location, IProgressMonitor monitor) throws ProvisionException {
- // TODO proper progress monitoring
- IStatus status = validate(location, null);
- if (!status.isOK())
- throw new ProvisionException(status);
- URL repoLocation = ExtensionLocationMetadataRepository.getLocalRepositoryLocation(location);
- // unexpected
- if (repoLocation == null)
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, Messages.failed_create_local_artifact_repository));
- // TODO proper progress monitoring
- try {
- IMetadataRepository repository = new SimpleMetadataRepositoryFactory().load(repoLocation, null);
- return new ExtensionLocationMetadataRepository(location, repository, monitor);
- } catch (ProvisionException e) {
- return create(location, Activator.getRepositoryName(location), ExtensionLocationMetadataRepository.TYPE, null);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.IMetadataRepositoryFactory#validate(java.net.URL, org.eclipse.core.runtime.IProgressMonitor)
- */
- public IStatus validate(URL location, IProgressMonitor monitor) {
- try {
- ExtensionLocationMetadataRepository.validate(location, monitor);
- } catch (ProvisionException e) {
- return e.getStatus();
- }
- return Status.OK_STATUS;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/Messages.java b/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/Messages.java
deleted file mode 100644
index ee7430d..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/Messages.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.extensionlocation;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.extensionlocation.messages"; //$NON-NLS-1$
- public static String error_update_site;
- public static String failed_create_local_artifact_repository;
- public static String failed_create_local_repo;
- public static String not_directory;
- public static String not_eclipse_extension;
- public static String not_file_protocol;
- public static String repo_already_exists;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- //
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/SiteListener.java b/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/SiteListener.java
deleted file mode 100644
index 0154e65..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/SiteListener.java
+++ /dev/null
@@ -1,329 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.extensionlocation;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.URLUtil;
-import org.eclipse.equinox.internal.p2.metadata.generator.features.FeatureParser;
-import org.eclipse.equinox.internal.p2.update.Site;
-import org.eclipse.equinox.internal.provisional.p2.directorywatcher.*;
-import org.eclipse.equinox.internal.provisional.p2.directorywatcher.Messages;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.*;
-import org.eclipse.osgi.service.resolver.*;
-import org.osgi.framework.ServiceReference;
-
-/**
- * @since 1.0
- */
-public class SiteListener extends RepositoryListener {
-
- public static final String SITE_POLICY = "org.eclipse.update.site.policy"; //$NON-NLS-1$
- public static final String SITE_LIST = "org.eclipse.update.site.list"; //$NON-NLS-1$
- private static final String FEATURES = "features"; //$NON-NLS-1$
- private static final String PLUGINS = "plugins"; //$NON-NLS-1$
- private static final String FEATURE_MANIFEST = "feature.xml"; //$NON-NLS-1$
- private String policy;
- private String[] list;
- private String url;
- private DirectoryChangeListener delegate;
- private String[] managedFiles;
- private String[] toBeRemoved;
-
- /*
- * Return true if the given list contains the full path of the given file
- * handle. Return false otherwise.
- */
- private static boolean contains(String[] plugins, File file) {
- String filename = file.getAbsolutePath();
- for (int i = 0; i < plugins.length; i++)
- if (filename.endsWith(new File(plugins[i]).toString()))
- return true;
- return false;
- }
-
- /*
- * Create a new site listener on the given site.
- */
- public SiteListener(Map properties, String url, DirectoryChangeListener delegate) {
- super(Activator.getContext(), url, null, true);
- this.url = url;
- this.delegate = delegate;
- this.policy = (String) properties.get(SITE_POLICY);
- Collection listCollection = new HashSet();
- String listString = (String) properties.get(SITE_LIST);
- if (listString != null)
- for (StringTokenizer tokenizer = new StringTokenizer(listString, ","); tokenizer.hasMoreTokens();) //$NON-NLS-1$
- listCollection.add(tokenizer.nextToken());
- this.list = (String[]) listCollection.toArray(new String[listCollection.size()]);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.directorywatcher.DirectoryChangeListener#isInterested(java.io.File)
- */
- public boolean isInterested(File file) {
- // make sure that our delegate and super-class are both interested in
- // the file before we consider it
- if (!delegate.isInterested(file) || !super.isInterested(file))
- return false;
- if (Site.POLICY_MANAGED_ONLY.equals(policy)) {
- // we only want plug-ins referenced by features
- return contains(getManagedFiles(), file);
- } else if (Site.POLICY_USER_EXCLUDE.equals(policy)) {
- // ensure the file doesn't refer to a plug-in in our list
- if (contains(list, file))
- return false;
- } else if (Site.POLICY_USER_INCLUDE.equals(policy)) {
- if (isFeature(file))
- return true;
- // we are only interested in plug-ins in the list
- if (!contains(list, file))
- return false;
- } else {
- // shouldn't happen... unknown policy type
- return false;
- }
- // at this point we have either a user-include or user-exclude policy set
- // and we think we are interested in the file. we should first check to
- // see if it is in the list of things to be removed
- return !isToBeRemoved(file);
- }
-
- private boolean isFeature(File file) {
- String parent = file.getParent();
- return parent != null && parent.endsWith(FEATURES);
- }
-
- /*
- * Return a boolean value indicating whether or not the feature pointed to
- * by the given file is in the update manager's list of features to be
- * uninstalled in its clean-up phase.
- */
- private boolean isToBeRemoved(File file) {
- String[] removed = getToBeRemoved();
- if (removed.length == 0)
- return false;
- Feature feature = getFeature(file);
- if (feature == null)
- return false;
- for (int i = 0; i < removed.length; i++) {
- String line = removed[i];
- // the line is a versioned identifier which is id_version
- if (line.equals(feature.getId() + '_' + feature.getVersion()))
- return true;
- }
- return false;
- }
-
- /*
- * Parse and return the feature.xml file in the given location.
- * Can return null.
- */
- private Feature getFeature(File location) {
- if (location.isFile())
- return null;
- File manifest = new File(location, FEATURE_MANIFEST);
- if (!manifest.exists())
- return null;
- FeatureParser parser = new FeatureParser();
- return parser.parse(location);
- }
-
- /*
- * Return an array describing the list of features are are going
- * to be removed by the update manager in its clean-up phase.
- * The strings are in the format of versioned identifiers: id_version
- */
- private String[] getToBeRemoved() {
- if (toBeRemoved != null)
- return toBeRemoved;
- File configurationLocation = Activator.getConfigurationLocation();
- if (configurationLocation == null) {
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Unable to compute the configuration location.")); //$NON-NLS-1$
- toBeRemoved = new String[0];
- return toBeRemoved;
- }
- File toBeUninstalledFile = new File(configurationLocation, "org.eclipse.update/toBeUninstalled"); //$NON-NLS-1$
- if (!toBeUninstalledFile.exists()) {
- toBeRemoved = new String[0];
- return toBeRemoved;
- }
- // set it to be empty here in case we don't have a match in the file
- toBeRemoved = new String[0];
- Properties properties = new Properties();
- InputStream input = null;
- try {
- input = new BufferedInputStream(new FileInputStream(toBeUninstalledFile));
- properties.load(input);
- } catch (IOException e) {
- // TODO
- } finally {
- try {
- if (input != null)
- input.close();
- } catch (IOException e) {
- // ignore
- }
- }
- String urlString = url;
- if (urlString.endsWith(Constants.EXTENSION_LOCATION))
- urlString = urlString.substring(0, urlString.length() - Constants.EXTENSION_LOCATION.length());
- List result = new ArrayList();
- for (Enumeration e = properties.elements(); e.hasMoreElements();) {
- String line = (String) e.nextElement();
- StringTokenizer tokenizer = new StringTokenizer(line, ";"); //$NON-NLS-1$
- String targetSite = tokenizer.nextToken();
- if (!urlString.equals(targetSite))
- continue;
- result.add(tokenizer.nextToken());
- }
- toBeRemoved = (String[]) result.toArray(new String[result.size()]);
- return toBeRemoved;
- }
-
- /*
- * Return an array of files which are managed. This includes all of the features
- * for this site, as well as the locations for all the plug-ins referenced by those
- * features.
- */
- private String[] getManagedFiles() {
- if (managedFiles != null)
- return managedFiles;
- List result = new ArrayList();
- File siteLocation;
- try {
- siteLocation = URLUtil.toFile(new URL(url));
- } catch (MalformedURLException e) {
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Unable to create a URL from site location: " + url, e)); //$NON-NLS-1$
- return new String[0];
- }
- Map pluginCache = getPlugins(siteLocation);
- Map featureCache = getFeatures(siteLocation);
- for (Iterator iter = featureCache.keySet().iterator(); iter.hasNext();) {
- File featureFile = (File) iter.next();
- // add the feature path
- result.add(featureFile.toString());
- org.eclipse.equinox.internal.provisional.p2.metadata.generator.Feature feature = (org.eclipse.equinox.internal.provisional.p2.metadata.generator.Feature) featureCache.get(featureFile);
- FeatureEntry[] entries = feature.getEntries();
- for (int inner = 0; inner < entries.length; inner++) {
- FeatureEntry entry = entries[inner];
- // grab the right location from the plug-in cache
- String key = entry.getId() + '/' + entry.getVersion();
- File pluginLocation = (File) pluginCache.get(key);
- if (pluginLocation != null)
- result.add(pluginLocation.toString());
- }
- }
- managedFiles = (String[]) result.toArray(new String[result.size()]);
- return managedFiles;
- }
-
- /*
- * Iterate over the feature directory and return a map of
- * File to Feature objects (from the generator bundle)
- */
- private Map getFeatures(File siteLocation) {
- Map result = new HashMap();
- File featureDir = new File(siteLocation, FEATURES);
- File[] children = featureDir.listFiles();
- for (int i = 0; i < children.length; i++) {
- File featureLocation = children[i];
- if (featureLocation.isDirectory() && featureLocation.getParentFile() != null && featureLocation.getParentFile().getName().equals("features") && new File(featureLocation, "feature.xml").exists()) {//$NON-NLS-1$ //$NON-NLS-2$
- FeatureParser parser = new FeatureParser();
- Feature entry = parser.parse(featureLocation);
- if (entry != null)
- result.put(featureLocation, entry);
- }
- }
- return result;
- }
-
- /*
- * Iterate over the plugins directory and return a map of
- * plug-in id/version to File locations.
- */
- private Map getPlugins(File siteLocation) {
- ServiceReference reference = Activator.getContext().getServiceReference(PlatformAdmin.class.getName());
- if (reference == null)
- throw new IllegalStateException(Messages.platformadmin_not_registered);
- try {
- PlatformAdmin platformAdmin = (PlatformAdmin) Activator.getContext().getService(reference);
- if (platformAdmin == null)
- throw new IllegalStateException(Messages.platformadmin_not_registered);
- StateObjectFactory stateObjectFactory = platformAdmin.getFactory();
- BundleDescriptionFactory factory = new BundleDescriptionFactory(stateObjectFactory, null);
- File[] plugins = new File(siteLocation, PLUGINS).listFiles();
- Map result = new HashMap();
- for (int i = 0; plugins != null && i < plugins.length; i++) {
- File bundleLocation = plugins[i];
- if (bundleLocation.isDirectory() || bundleLocation.getName().endsWith(".jar")) {
- BundleDescription description = factory.getBundleDescription(bundleLocation);
- if (description != null) {
- String id = description.getSymbolicName();
- String version = description.getVersion().toString();
- result.put(id + '/' + version, bundleLocation);
- }
- }
- }
- return result;
- } finally {
- Activator.getContext().ungetService(reference);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener#added(java.io.File)
- */
- public boolean added(File file) {
- return delegate.added(file);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener#changed(java.io.File)
- */
- public boolean changed(File file) {
- return delegate.changed(file);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener#getSeenFile(java.io.File)
- */
- public Long getSeenFile(File file) {
- return delegate.getSeenFile(file);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener#removed(java.io.File)
- */
- public boolean removed(File file) {
- return delegate.removed(file);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener#startPoll()
- */
- public void startPoll() {
- delegate.startPoll();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener#stopPoll()
- */
- public void stopPoll() {
- delegate.stopPoll();
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/messages.properties b/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/messages.properties
deleted file mode 100644
index f7dff39..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/messages.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-error_update_site=Error: {0} is not a valid extension location because it contains a site.xml file.
-failed_create_local_artifact_repository=Failed to create local repository.
-failed_create_local_repo=Failed to create local repository.
-not_directory=Location: {0} not a directory.
-not_eclipse_extension=Location: {0} is not a valid extension location.
-not_file_protocol=Location must use file protocol.
-repo_already_exists=Repository: {0} already exists.
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.installer/.classpath b/bundles/org.eclipse.equinox.p2.installer/.classpath
deleted file mode 100644
index 7cdeb73..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.1%Foundation-1.1"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.installer/.project b/bundles/org.eclipse.equinox.p2.installer/.project
deleted file mode 100644
index eab7f40..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.equinox.p2.installer</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.installer/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.installer/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 99a0b3d..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,341 +0,0 @@
-#Thu Oct 11 16:46:31 EDT 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.installer/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.installer/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index a14e009..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,59 +0,0 @@
-#Thu Oct 11 16:54:11 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=99
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=true
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.installer/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.installer/META-INF/MANIFEST.MF
deleted file mode 100644
index 23a0c71..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,25 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.installer;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.equinox.internal.p2.installer.InstallerActivator
-Bundle-ActivationPolicy: lazy
-Require-Bundle: org.eclipse.osgi,
- org.eclipse.equinox.app,
- org.eclipse.equinox.common,
- org.eclipse.equinox.p2.director,
- org.eclipse.equinox.p2.metadata.repository,
- org.eclipse.equinox.p2.metadata,
- org.eclipse.equinox.p2.engine,
- org.eclipse.equinox.p2.core,
- org.eclipse.equinox.p2.artifact.repository,
- org.eclipse.swt,
- org.eclipse.core.net;bundle-version="1.1.0"
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
- J2SE-1.4
-Export-Package: org.eclipse.equinox.internal.p2.installer;x-internal:=true,
- org.eclipse.equinox.internal.p2.installer.ui;x-internal:=true,
- org.eclipse.equinox.internal.provisional.p2.installer;x-internal:=true
diff --git a/bundles/org.eclipse.equinox.p2.installer/README.txt b/bundles/org.eclipse.equinox.p2.installer/README.txt
deleted file mode 100644
index bafccac..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/README.txt
+++ /dev/null
@@ -1,2 +0,0 @@
- This is a simple install application that demonstrates use of p2. See the class
- comment on the InstallDescription class for details.
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.installer/about.html b/bundles/org.eclipse.equinox.p2.installer/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 2, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.installer/build.properties b/bundles/org.eclipse.equinox.p2.installer/build.properties
deleted file mode 100644
index 913dc5f..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = plugin.xml,\
- META-INF/,\
- .,\
- product_lg.gif,\
- about.html,\
- plugin.properties
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.p2.installer/config.ini b/bundles/org.eclipse.equinox.p2.installer/config.ini
deleted file mode 100644
index 5017ca3..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/config.ini
+++ /dev/null
@@ -1,93 +0,0 @@
-# Eclipse runtime configuration file
-# This file contains a number of key/value pairs that are merged into the
-# System properties on system startup. The values control the way the
-# runtime is structured and runs.
-
-# Note: Only platform:/base/ and file: URLs are supported. In general the
-# URLs given may include a version number (e.g., .../location_1.2.3).
-# If a version is not specified, the system binds
-# to the location which matches exactly or to the versioned location with the
-# latest version number. If a version number is given then only exact matches
-# are considered.
-
-# The URL for the runtime entry point. The default value is
-# platform:/base/plugins/org.eclipse.osgi
-#osgi.framework=platform:/base/plugins/org.eclipse.osgi
-
-# The classpath for the framework found at the osgi.framework location. This
-# comma-separated list contains either URLs or simple element names. Simple
-# names are assumed to be relative to the framework's install directory.
-# Typically this value need not be set as it is initialized by the framework itself.
-# Version match searching is not done for URLs listed here.
-#osgi.frameworkClassPath =
-
-# The comma-separated list of locations to search for the splash screen file (splash.bmp).
-# For each list element a subdirectory structure based on the pattern nl/<locale> is searched.
-# The system binds to the first matching file. There is no default value.
-#osgi.splashPath=
-
-# The location of the splash screen file. If this value is set at system startup it is used
-# in favour of the osgi.splashPath searching outlined above. If the value is not set
-# the searching is done and this key is bound to the result of the search.
-#osgi.splashLocation =
-
-# The comma-separated list of bundles which are automatically installed and optionally started
-# once the system is up and running. Each entry if of the form
-# <URL | simple bundle location>[@ [<startlevel>] [":start"]]
-# If the startlevel is omitted then the framework will use the default start level for the bundle.
-# If the "start" tag is added then the bundle will be marked as started after being installed.
-# Simple bundle locations are interpreted as relative to the framework's parent directory.
-# The startlevel indicates the OSGi start level at which the bundle should run.
-osgi.bundles=\
- org.eclipse.core.jobs,\
- org.eclipse.core.net,\
- org.eclipse.ecf,\
- org.eclipse.ecf.filetransfer,\
- org.eclipse.ecf.identity,\
- org.eclipse.ecf.provider.filetransfer,\
- org.eclipse.equinox.app@start,\
- org.eclipse.equinox.common,\
- org.eclipse.equinox.frameworkadmin,\
- org.eclipse.equinox.frameworkadmin.equinox@start,\
- org.eclipse.equinox.preferences,\
- org.eclipse.equinox.p2.artifact.repository,\
- org.eclipse.equinox.p2.core,\
- org.eclipse.equinox.p2.director,\
- org.eclipse.equinox.p2.engine,\
- org.eclipse.equinox.p2.exemplarysetup,\
- org.eclipse.equinox.p2.garbagecollector,\
- org.eclipse.equinox.p2.installer,\
- org.eclipse.equinox.p2.jarprocessor,\
- org.eclipse.equinox.p2.metadata,\
- org.eclipse.equinox.p2.metadata.repository,\
- org.eclipse.equinox.p2.touchpoint.eclipse,\
- org.eclipse.equinox.p2.touchpoint.natives,\
- org.eclipse.equinox.registry,\
- org.eclipse.equinox.security,\
- org.eclipse.equinox.simpleconfigurator,\
- org.eclipse.equinox.simpleconfigurator.manipulator@start,\
- org.eclipse.osgi.services,\
- org.eclipse.swt,\
- org.eclipse.swt.win32.win32.x86,\
- org.eclipse.swt.gtk.linux.x86,\
- org.eclipse.swt.carbon.macosx,\
- org.sat4j.core,\
- org.sat4j.pb
-
-org.eclipse.update.reconcile=false
-
-# The product to run. A given Eclipse configuration may contain many products.
-# The product identified will supply the branding (window icons, title bar text) etc
-# as well as define the default application to run.
-eclipse.product=org.eclipse.equinox.p2.installer.product
-
-# The application to run. The value specified here is the id of the application extension
-# the runtime will find, instantiate and execute once the system is up. Note that typically
-# the identified eclipse.product defines the default application to run.
-#eclipse.application=
-
-# The build identifier
-eclipse.buildId=@build@
-
-# End of file marker - must be here
-eof=eof
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.installer/installer.product b/bundles/org.eclipse.equinox.p2.installer/installer.product
deleted file mode 100644
index 9650007..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/installer.product
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.4"?>
-
-<product name="Equinox p2 Installer" id="org.eclipse.equinox.p2.installer.product" application="org.eclipse.equinox.p2.installer.application" useFeatures="false">
-
- <aboutInfo>
- <image path="product_lg.gif"/>
- <text>
- P2 Installer
- </text>
- </aboutInfo>
-
- <configIni use="default">
- <linux>/org.eclipse.equinox.p2.installer/config.ini</linux>
- <macosx>/org.eclipse.equinox.p2.installer/config.ini</macosx>
- <solaris>/org.eclipse.equinox.p2.installer/config.ini</solaris>
- <win32>/org.eclipse.equinox.p2.installer/config.ini</win32>
- </configIni>
-
- <launcherArgs>
- <vmArgs>-Dorg.eclipse.equinox.p2.installDescription=http://download.eclipse.org/eclipse/testUpdates/sdk-installer.properties</vmArgs>
- </launcherArgs>
-
- <windowImages/>
-
- <splash
- location="org.eclipse.equinox.p2.installer" />
- <launcher name="p2installer">
- <solaris/>
- <win useIco="false">
- <bmp/>
- </win>
- </launcher>
-
- <vm>
- </vm>
-
- <plugins>
- <plugin id="org.eclipse.core.jobs"/>
- <plugin id="org.eclipse.core.net"/>
- <plugin id="org.eclipse.ecf"/>
- <plugin id="org.eclipse.ecf.filetransfer"/>
- <plugin id="org.eclipse.ecf.identity"/>
- <plugin id="org.eclipse.ecf.provider.filetransfer"/>
- <plugin id="org.eclipse.equinox.app"/>
- <plugin id="org.eclipse.equinox.common"/>
- <plugin id="org.eclipse.equinox.frameworkadmin"/>
- <plugin id="org.eclipse.equinox.frameworkadmin.equinox"/>
- <plugin id="org.eclipse.equinox.launcher"/>
- <plugin id="org.eclipse.equinox.launcher.carbon.macosx" fragment="true"/>
- <plugin id="org.eclipse.equinox.launcher.gtk.linux.x86" fragment="true"/>
- <plugin id="org.eclipse.equinox.launcher.win32.win32.x86" fragment="true"/>
- <plugin id="org.eclipse.equinox.p2.artifact.repository"/>
- <plugin id="org.eclipse.equinox.p2.core"/>
- <plugin id="org.eclipse.equinox.p2.director"/>
- <plugin id="org.eclipse.equinox.p2.engine"/>
- <plugin id="org.eclipse.equinox.p2.exemplarysetup"/>
- <plugin id="org.eclipse.equinox.p2.garbagecollector"/>
- <plugin id="org.eclipse.equinox.p2.installer"/>
- <plugin id="org.eclipse.equinox.p2.jarprocessor"/>
- <plugin id="org.eclipse.equinox.p2.metadata"/>
- <plugin id="org.eclipse.equinox.p2.metadata.repository"/>
- <plugin id="org.eclipse.equinox.p2.touchpoint.eclipse"/>
- <plugin id="org.eclipse.equinox.p2.touchpoint.natives"/>
- <plugin id="org.eclipse.equinox.preferences"/>
- <plugin id="org.eclipse.equinox.registry"/>
- <plugin id="org.eclipse.equinox.security"/>
- <plugin id="org.eclipse.equinox.simpleconfigurator"/>
- <plugin id="org.eclipse.equinox.simpleconfigurator.manipulator"/>
- <plugin id="org.eclipse.osgi"/>
- <plugin id="org.eclipse.osgi.services"/>
- <plugin id="org.eclipse.swt"/>
- <plugin id="org.eclipse.swt.carbon.macosx" fragment="true"/>
- <plugin id="org.eclipse.swt.gtk.linux.x86" fragment="true"/>
- <plugin id="org.eclipse.swt.win32.win32.x86" fragment="true"/>
- <plugin id="org.sat4j.core"/>
- <plugin id="org.sat4j.pb"/>
- </plugins>
-
-</product>
diff --git a/bundles/org.eclipse.equinox.p2.installer/plugin.properties b/bundles/org.eclipse.equinox.p2.installer/plugin.properties
deleted file mode 100644
index 43f2401..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Equinox Provisioning Installer
-providerName = Eclipse.org
diff --git a/bundles/org.eclipse.equinox.p2.installer/plugin.xml b/bundles/org.eclipse.equinox.p2.installer/plugin.xml
deleted file mode 100644
index 39ef657..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/plugin.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-
- <extension
- id="application"
- point="org.eclipse.core.runtime.applications">
- <application>
- <run
- class="org.eclipse.equinox.internal.p2.installer.InstallApplication">
- </run>
- </application>
- </extension>
- <extension
- id="product"
- point="org.eclipse.core.runtime.products">
- <product
- application="org.eclipse.equinox.p2.installer.application"
- name="Equinox p2 Installer">
- <property
- name="appName"
- value="Equinox p2 Installer">
- </property>
- <property
- name="aboutImage"
- value="product_lg.gif">
- </property>
- <property
- name="aboutText"
- value="P2 Installer">
- </property>
- </product>
- </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.installer/product_lg.gif b/bundles/org.eclipse.equinox.p2.installer/product_lg.gif
deleted file mode 100644
index bd95e28..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/product_lg.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.installer/sdk-installer.properties b/bundles/org.eclipse.equinox.p2.installer/sdk-installer.properties
deleted file mode 100644
index 7430422..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/sdk-installer.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-eclipse.p2.metadata=http://update.eclipse.org/eclipse/testUpdates/
-eclipse.p2.artifacts=http://update.eclipse.org/eclipse/testUpdates/
-eclipse.p2.flavor=tooling
-eclipse.p2.profileName=Eclipse SDK
-eclipse.p2.launcherName=eclipse
-eclipse.p2.rootId=sdk
-eclipse.p2.autoStart=true
diff --git a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/HeadlessInstallAdvisor.java b/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/HeadlessInstallAdvisor.java
deleted file mode 100644
index d34d10c..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/HeadlessInstallAdvisor.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.installer;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.provisional.p2.installer.*;
-
-/**
- * A headless install advisor that prints everything to a log.
- */
-public class HeadlessInstallAdvisor extends InstallAdvisor {
- class HeadlessProgressMonitor implements IProgressMonitor {
- private boolean canceled;
-
- public void beginTask(String name, int totalWork) {
- setResult(new Status(IStatus.INFO, InstallerActivator.PI_INSTALLER, name));
- }
-
- public void done() {
- //nothing to do
- }
-
- public void internalWorked(double work) {
- //nothing to do
- }
-
- public boolean isCanceled() {
- return canceled;
- }
-
- public void setCanceled(boolean value) {
- canceled = value;
- }
-
- public void setTaskName(String name) {
- setResult(new Status(IStatus.INFO, InstallerActivator.PI_INSTALLER, name));
- }
-
- public void subTask(String name) {
- //nothing to do
- }
-
- public void worked(int work) {
- //nothing to do
- }
- }
-
- public IStatus performInstall(IInstallOperation operation) {
- return operation.install(new HeadlessProgressMonitor());
- }
-
- public InstallDescription prepareInstallDescription(InstallDescription description) {
- // The headless advisor has no further input on the install location.
- return description;
- }
-
- public boolean promptForLaunch(InstallDescription description) {
- return false;
- }
-
- public void setResult(IStatus status) {
- LogHelper.log(status);
- }
-
- public void start() {
- //nothing to do
- }
-
- public void stop() {
- //nothing to do
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/InstallApplication.java b/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/InstallApplication.java
deleted file mode 100644
index 24a184e..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/InstallApplication.java
+++ /dev/null
@@ -1,230 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Code 9 - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.installer;
-
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-import org.eclipse.core.net.proxy.IProxyService;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.installer.ui.SWTInstallAdvisor;
-import org.eclipse.equinox.internal.provisional.p2.installer.InstallAdvisor;
-import org.eclipse.equinox.internal.provisional.p2.installer.InstallDescription;
-import org.osgi.framework.*;
-
-/**
- * This is a simple installer application built using P2. The application must be given
- * an "install description" as a command line argument or system property
- * ({@link #SYS_PROP_INSTALL_DESCRIPTION}). The application reads this
- * install description, and looks for an existing profile in the local install registry that
- * matches it. If no profile is found, it creates a new profile, and installs the root
- * IU in the install description into the profile. It may then launch the installed application,
- * depending on the specification in the install description. If an existing profile is found,
- * the application instead performs an update on the existing profile with the new root
- * IU in the install description. Thus, an installed application can be updated by dropping
- * in a new install description file, and re-running this installer application.
- */
-public class InstallApplication implements IApplication {
- /**
- * A property whose value is the URL of an install description. An install description is a file
- * that contains all the information required to complete the install.
- */
- private static final String SYS_PROP_INSTALL_DESCRIPTION = "org.eclipse.equinox.p2.installDescription"; //$NON-NLS-1$
-
- /**
- * The install advisor. This field is non null while the install application is running.
- */
- private InstallAdvisor advisor;
-
- /**
- * Throws an exception of severity error with the given error message.
- */
- private static CoreException fail(String message, Throwable throwable) {
- return new CoreException(new Status(IStatus.ERROR, InstallerActivator.PI_INSTALLER, message, throwable));
- }
-
- /**
- * Copied from ServiceHelper because we need to obtain services
- * before p2 has been started.
- */
- public static Object getService(BundleContext context, String name) {
- if (context == null)
- return null;
- ServiceReference reference = context.getServiceReference(name);
- if (reference == null)
- return null;
- Object result = context.getService(reference);
- context.ungetService(reference);
- return result;
- }
-
- /**
- * Loads the install description, filling in any missing data if needed.
- */
- private InstallDescription computeInstallDescription() throws CoreException {
- InstallDescription description = fetchInstallDescription(SubMonitor.convert(null));
- return advisor.prepareInstallDescription(description);
- }
-
- private InstallAdvisor createInstallContext() {
- //TODO create an appropriate advisor depending on whether headless or GUI install is desired.
- InstallAdvisor result = new SWTInstallAdvisor();
- result.start();
- return result;
- }
-
- /**
- * Fetch and return the install description to be installed.
- */
- private InstallDescription fetchInstallDescription(SubMonitor monitor) throws CoreException {
- String site = System.getProperty(SYS_PROP_INSTALL_DESCRIPTION);
- try {
- return InstallDescriptionParser.createDescription(site, monitor);
- } catch (IOException e) {
- throw fail(Messages.App_InvalidSite + site, e);
- }
- }
-
- private IStatus getStatus(final Exception failure) {
- Throwable cause = failure;
- //unwrap target exception if applicable
- if (failure instanceof InvocationTargetException) {
- cause = ((InvocationTargetException) failure).getTargetException();
- if (cause == null)
- cause = failure;
- }
- if (cause instanceof CoreException)
- return ((CoreException) cause).getStatus();
- return new Status(IStatus.ERROR, InstallerActivator.PI_INSTALLER, Messages.App_Error, cause);
- }
-
- private void launchProduct(InstallDescription description) throws CoreException {
- IPath installLocation = description.getInstallLocation();
- IPath toRun = installLocation.append(description.getLauncherName());
- try {
- Runtime.getRuntime().exec(toRun.toString(), null, installLocation.toFile());
- } catch (IOException e) {
- throw fail(Messages.App_LaunchFailed + toRun, e);
- }
- //wait a few seconds to give the user a chance to read the message
- try {
- Thread.sleep(3000);
- } catch (InterruptedException e) {
- //ignore
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.IApplicationContext)
- */
- public Object start(IApplicationContext appContext) {
- try {
- appContext.applicationRunning();
- initializeProxySupport();
- advisor = createInstallContext();
- //fetch description of what to install
- InstallDescription description = null;
- try {
- description = computeInstallDescription();
- startRequiredBundles(description);
- //perform long running install operation
- InstallUpdateProductOperation operation = new InstallUpdateProductOperation(InstallerActivator.getDefault().getContext(), description);
- IStatus result = advisor.performInstall(operation);
- if (!result.isOK()) {
- LogHelper.log(result);
- advisor.setResult(result);
- return IApplication.EXIT_OK;
- }
- //just exit after a successful update
- if (!operation.isFirstInstall())
- return IApplication.EXIT_OK;
- if (canAutoStart(description))
- launchProduct(description);
- else {
- //notify user that the product was installed
- //TODO present the user an option to immediately start the product
- advisor.setResult(result);
- }
- } catch (OperationCanceledException e) {
- advisor.setResult(Status.CANCEL_STATUS);
- } catch (Exception e) {
- IStatus error = getStatus(e);
- advisor.setResult(error);
- LogHelper.log(error);
- }
- return IApplication.EXIT_OK;
- } finally {
- advisor.stop();
- }
- }
-
- private void initializeProxySupport() {
- IProxyService proxies = (IProxyService) getService(InstallerActivator.getDefault().getContext(), IProxyService.class.getName());
- if (proxies == null)
- return;
- proxies.setProxiesEnabled(true);
- proxies.setSystemProxiesEnabled(true);
- }
-
- /**
- * Returns whether the configuration described by the given install
- * description can be started automatically.
- */
- private boolean canAutoStart(InstallDescription description) {
- if (!description.isAutoStart())
- return false;
- //can't start if we don't know launcher name and path
- if (description.getLauncherName() == null || description.getInstallLocation() == null)
- return false;
- return advisor.promptForLaunch(description);
- }
-
- /**
- * Starts the p2 bundles needed to continue with the install.
- */
- private void startRequiredBundles(InstallDescription description) throws CoreException {
- IPath installLocation = description.getInstallLocation();
- if (installLocation == null)
- throw fail(Messages.App_NoInstallLocation, null);
- //set agent location if specified
- IPath agentLocation = description.getAgentLocation();
- if (agentLocation != null) {
- String agentArea = System.getProperty("eclipse.p2.data.area"); //$NON-NLS-1$
- // TODO a bit of a hack here. If the value is already set and it is set to @config/p2 then
- // it may well be the default value put in by PDE. Overwrite it.
- // Its kind of unclear why we would NOT overwrite. At this point the user set their choice
- // of shared or standalone and those dicate where the agent should put its info...
- if (agentArea == null || agentArea.length() == 0 || agentArea.startsWith("@config")) //$NON-NLS-1$
- System.setProperty("eclipse.p2.data.area", agentLocation.toOSString()); //$NON-NLS-1$
- }
- //start up p2
- try {
- InstallerActivator.getDefault().getBundle("org.eclipse.equinox.p2.exemplarysetup").start(Bundle.START_TRANSIENT); //$NON-NLS-1$
- } catch (BundleException e) {
- throw fail(Messages.App_FailedStart, e);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.app.IApplication#stop()
- */
- public void stop() {
- //note this method can be called from another thread
- InstallAdvisor tempContext = advisor;
- if (tempContext != null) {
- tempContext.stop();
- advisor = null;
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/InstallDescriptionParser.java b/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/InstallDescriptionParser.java
deleted file mode 100644
index 892f021..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/InstallDescriptionParser.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Code 9 - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.installer;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.provisional.p2.installer.InstallDescription;
-
-/**
- * This class is responsible for loading install descriptions from a stream.
- */
-public class InstallDescriptionParser {
- private static final String PROP_AGENT_LOCATION = "eclipse.p2.agentLocation"; //$NON-NLS-1$
- private static final String PROP_ARTIFACT_REPOSITORY = "eclipse.p2.artifacts";//$NON-NLS-1$
- private static final String PROP_BUNDLE_LOCATION = "eclipse.p2.bundleLocation";//$NON-NLS-1$
- private static final String PROP_INSTALL_LOCATION = "eclipse.p2.installLocation";//$NON-NLS-1$
- private static final String PROP_IS_AUTO_START = "eclipse.p2.autoStart";//$NON-NLS-1$
- private static final String PROP_LAUNCHER_NAME = "eclipse.p2.launcherName";//$NON-NLS-1$
- private static final String PROP_METADATA_REPOSITORY = "eclipse.p2.metadata";//$NON-NLS-1$
- private static final String PROP_PROFILE_NAME = "eclipse.p2.profileName";//$NON-NLS-1$
- private static final String PROP_ROOT_ID = "eclipse.p2.rootId";//$NON-NLS-1$
- private static final String PROP_ROOT_VERSION = "eclipse.p2.rootVersion";//$NON-NLS-1$
- private static final String PROP_ROOTS = "eclipse.p2.roots";//$NON-NLS-1$
-
- /**
- * Loads and returns an install description that is stored in a properties file.
- * @param site The URL of the install properties file.
- */
- public static InstallDescription createDescription(String site, SubMonitor monitor) throws IOException {
- // if no description URL was given from the outside, look for an "install.properties" file
- // in relative to where the installer is running. This allows the installer to be self-contained
- InputStream in = null;
- if (site == null) {
- File file = new File("installer.properties").getAbsoluteFile(); //$NON-NLS-1$
- if (file.exists())
- in = new FileInputStream(file);
- } else
- in = new URL(site).openStream();
-
- Properties properties = new Properties();
- try {
- if (in != null)
- properties.load(in);
- } finally {
- safeClose(in);
- }
- InstallDescription result = new InstallDescription();
- result = initiailize(result, properties);
- initializeProfileProperties(result, properties);
-
- // now override the properties from anything interesting in system properties
- result = initiailize(result, System.getProperties());
- return result;
- }
-
- private static InstallDescription initiailize(InstallDescription description, Properties properties) {
- String property = properties.getProperty(PROP_ARTIFACT_REPOSITORY);
- if (property != null)
- description.setArtifactRepositories(getURLs(property));
-
- property = properties.getProperty(PROP_METADATA_REPOSITORY);
- if (property != null)
- description.setMetadataRepositories(getURLs(property));
-
- property = properties.getProperty(PROP_IS_AUTO_START);
- if (property != null)
- description.setAutoStart(Boolean.TRUE.toString().equalsIgnoreCase(property));
-
- property = properties.getProperty(PROP_LAUNCHER_NAME);
- if (property != null)
- description.setLauncherName(property);
-
- property = properties.getProperty(PROP_INSTALL_LOCATION);
- if (property != null)
- description.setInstallLocation(new Path(property));
-
- property = properties.getProperty(PROP_AGENT_LOCATION);
- if (property != null)
- description.setAgentLocation(new Path(property));
-
- property = properties.getProperty(PROP_BUNDLE_LOCATION);
- if (property != null)
- description.setBundleLocation(new Path(property));
-
- property = properties.getProperty(PROP_PROFILE_NAME);
- if (property != null)
- description.setProductName(property);
-
- // Process the retro root id and rootVersion properties
- String id = properties.getProperty(PROP_ROOT_ID);
- if (id != null) {
- String version = properties.getProperty(PROP_ROOT_VERSION);
- description.setRoots(new VersionedName[] {new VersionedName(id, version)});
- }
-
- String rootSpec = properties.getProperty(PROP_ROOTS);
- if (rootSpec != null) {
- String[] rootList = getArrayFromString(rootSpec, ",");
- VersionedName[] roots = new VersionedName[rootList.length];
- for (int i = 0; i < rootList.length; i++)
- roots[i] = VersionedName.parse(rootList[i]);
- description.setRoots(roots);
- }
- return description;
- }
-
- /**
- * Add all of the given properties to profile properties of the given description
- * after removing the keys known to be for the installer. This allows install descriptions
- * to also set random profile properties.
- * @param description
- * @param properties
- */
- private static void initializeProfileProperties(InstallDescription description, Properties properties) {
- //any remaining properties are profile properties
- Map profileProperties = new HashMap(properties);
- profileProperties.remove(PROP_PROFILE_NAME);
- profileProperties.remove(PROP_ARTIFACT_REPOSITORY);
- profileProperties.remove(PROP_METADATA_REPOSITORY);
- profileProperties.remove(PROP_IS_AUTO_START);
- profileProperties.remove(PROP_LAUNCHER_NAME);
- profileProperties.remove(PROP_AGENT_LOCATION);
- profileProperties.remove(PROP_BUNDLE_LOCATION);
- profileProperties.remove(PROP_ROOT_ID);
- profileProperties.remove(PROP_ROOT_VERSION);
- profileProperties.remove(PROP_ROOTS);
- description.setProfileProperties(profileProperties);
- }
-
- private static URL[] getURLs(String spec) {
- if (spec == null)
- return null;
- String[] urlSpecs = getArrayFromString(spec, ","); //$NON-NLS-1$
- ArrayList result = new ArrayList(urlSpecs.length);
- for (int i = 0; i < urlSpecs.length; i++) {
- try {
- result.add(new URL(urlSpecs[i]));
- } catch (MalformedURLException e) {
- LogHelper.log(new Status(IStatus.ERROR, InstallerActivator.PI_INSTALLER, "Invalid URL in install description: " + urlSpecs[i], e)); //$NON-NLS-1$
- }
- }
- return (URL[]) result.toArray(new URL[result.size()]);
- }
-
- private static void safeClose(InputStream in) {
- try {
- if (in != null)
- in.close();
- } catch (IOException e) {
- //ignore secondary failure during close
- }
- }
-
- /**
- * 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("")) //$NON-NLS-1$
- return new String[0];
- List result = new ArrayList();
- for (StringTokenizer tokens = new StringTokenizer(list, separator); tokens.hasMoreTokens();) {
- String token = tokens.nextToken().trim();
- if (!token.equals("")) //$NON-NLS-1$
- result.add(token);
- }
- return (String[]) result.toArray(new String[result.size()]);
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/InstallUpdateProductOperation.java b/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/InstallUpdateProductOperation.java
deleted file mode 100644
index f71c743..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/InstallUpdateProductOperation.java
+++ /dev/null
@@ -1,266 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Code 9 - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.installer;
-
-import java.net.URL;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.director.IDirector;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfileRegistry;
-import org.eclipse.equinox.internal.provisional.p2.installer.IInstallOperation;
-import org.eclipse.equinox.internal.provisional.p2.installer.InstallDescription;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.query.Query;
-import org.eclipse.osgi.service.environment.EnvironmentInfo;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.*;
-
-/**
- * This operation performs installation or update of an Eclipse-based product.
- */
-public class InstallUpdateProductOperation implements IInstallOperation {
-
- private IArtifactRepositoryManager artifactRepoMan;
- private BundleContext bundleContext;
- private IDirector director;
- private final InstallDescription installDescription;
- private boolean isInstall = true;
- private IMetadataRepositoryManager metadataRepoMan;
- private IProfileRegistry profileRegistry;
- private IStatus result;
-
- private ArrayList serviceReferences = new ArrayList();
-
- public InstallUpdateProductOperation(BundleContext context, InstallDescription description) {
- this.bundleContext = context;
- this.installDescription = description;
- }
-
- /**
- * Determine what top level installable units should be installed by the director
- */
- private IInstallableUnit[] computeUnitsToInstall() throws CoreException {
- ArrayList result = new ArrayList();
- VersionedName roots[] = installDescription.getRoots();
- for (int i = 0; i < roots.length; i++) {
- VersionedName root = roots[i];
- IInstallableUnit iu = findUnit(root);
- if (iu != null)
- result.add(iu);
- }
- return (IInstallableUnit[]) result.toArray(new IInstallableUnit[result.size()]);
- }
-
- /**
- * This profile is being updated; return the units to uninstall from the profile.
- */
- private IInstallableUnit[] computeUnitsToUninstall(IProfile p) {
- return (IInstallableUnit[]) p.query(InstallableUnitQuery.ANY, new Collector(), null).toArray(IInstallableUnit.class);
- }
-
- /**
- * Create and return the profile into which units will be installed.
- */
- private IProfile createProfile() throws ProvisionException {
- IProfile profile = getProfile();
- if (profile == null) {
- Map properties = new HashMap();
- properties.put(IProfile.PROP_INSTALL_FOLDER, installDescription.getInstallLocation().toString());
- EnvironmentInfo info = (EnvironmentInfo) ServiceHelper.getService(InstallerActivator.getDefault().getContext(), EnvironmentInfo.class.getName());
- String env = "osgi.os=" + info.getOS() + ",osgi.ws=" + info.getWS() + ",osgi.arch=" + info.getOSArch(); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- properties.put(IProfile.PROP_ENVIRONMENTS, env);
- properties.putAll(installDescription.getProfileProperties());
- IPath location = installDescription.getBundleLocation();
- if (location != null)
- properties.put(IProfile.PROP_CACHE, location.toOSString());
- profile = profileRegistry.addProfile(getProfileId(), properties);
- }
- return profile;
- }
-
- /**
- * Performs the actual product install or update.
- */
- private void doInstall(SubMonitor monitor) throws CoreException {
- prepareMetadataRepositories();
- prepareArtifactRepositories();
- IProfile p = createProfile();
- IInstallableUnit[] toInstall = computeUnitsToInstall();
- monitor.worked(5);
-
- IStatus s;
- ProfileChangeRequest request = new ProfileChangeRequest(p);
- if (isInstall) {
- monitor.setTaskName(NLS.bind(Messages.Op_Installing, installDescription.getProductName()));
- request.addInstallableUnits(toInstall);
- s = director.provision(request, null, monitor.newChild(90));
- } else {
- monitor.setTaskName(NLS.bind(Messages.Op_Updating, installDescription.getProductName()));
- IInstallableUnit[] toUninstall = computeUnitsToUninstall(p);
- request.removeInstallableUnits(toUninstall);
- request.addInstallableUnits(toInstall);
- s = director.provision(request, null, monitor.newChild(90));
- }
- if (!s.isOK())
- throw new CoreException(s);
- }
-
- /**
- * Returns an exception of severity error with the given error message.
- */
- private CoreException fail(String message) {
- return fail(message, null);
- }
-
- /**
- * Returns an exception of severity error with the given error message.
- */
- private CoreException fail(String message, Throwable throwable) {
- return new CoreException(new Status(IStatus.ERROR, InstallerActivator.PI_INSTALLER, message, throwable));
- }
-
- /**
- * Finds and returns the installable unit with the given id, and optionally the
- * given version.
- */
- private IInstallableUnit findUnit(VersionedName spec) throws CoreException {
- String id = spec.getId();
- if (id == null)
- throw fail(Messages.Op_NoId);
- Version version = spec.getVersion();
- VersionRange range = VersionRange.emptyRange;
- if (version != null && !version.equals(Version.emptyVersion))
- range = new VersionRange(version, true, version, true);
- Query query = new InstallableUnitQuery(id, range);
- Collector collector = new Collector();
- Iterator matches = metadataRepoMan.query(query, collector, null).iterator();
- // pick the newest match
- IInstallableUnit newest = null;
- while (matches.hasNext()) {
- IInstallableUnit candidate = (IInstallableUnit) matches.next();
- if (newest == null || (newest.getVersion().compareTo(candidate.getVersion()) < 0))
- newest = candidate;
- }
- if (newest == null)
- throw fail(Messages.Op_IUNotFound + id);
- return newest;
- }
-
- /**
- * Returns the profile being installed into.
- */
- private IProfile getProfile() {
- return profileRegistry.getProfile(getProfileId());
- }
-
- /**
- * Returns the id of the profile to use for install/update based on this operation's install description.
- */
- private String getProfileId() {
- IPath location = installDescription.getInstallLocation();
- if (location != null)
- return location.toString();
- return installDescription.getProductName();
- }
-
- /**
- * Returns the result of the install operation, or <code>null</code> if
- * no install operation has been run.
- */
- public IStatus getResult() {
- return result;
- }
-
- private Object getService(String name) throws CoreException {
- ServiceReference ref = bundleContext.getServiceReference(name);
- if (ref == null)
- throw fail(Messages.Op_NoService + name);
- Object service = bundleContext.getService(ref);
- if (service == null)
- throw fail(Messages.Op_NoServiceImpl + name);
- serviceReferences.add(ref);
- return service;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.installer.IInstallOperation#install(org.eclipse.core.runtime.IProgressMonitor)
- */
- public IStatus install(IProgressMonitor pm) {
- SubMonitor monitor = SubMonitor.convert(pm, Messages.Op_Preparing, 100);
- try {
- try {
- preInstall();
- isInstall = getProfile() == null;
- doInstall(monitor);
- result = new Status(IStatus.OK, InstallerActivator.PI_INSTALLER, isInstall ? Messages.Op_InstallComplete : Messages.Op_UpdateComplete, null);
- monitor.setTaskName(Messages.Op_Cleanup);
- } finally {
- postInstall();
- }
- } catch (CoreException e) {
- result = e.getStatus();
- } finally {
- monitor.done();
- }
- return result;
- }
-
- /**
- * Returns whether this operation represents the product being installed
- * for the first time, in a new profile.
- */
- public boolean isFirstInstall() {
- return isInstall;
- }
-
- private void postInstall() {
- for (Iterator it = serviceReferences.iterator(); it.hasNext();) {
- ServiceReference sr = (ServiceReference) it.next();
- bundleContext.ungetService(sr);
- }
- serviceReferences.clear();
- }
-
- private void preInstall() throws CoreException {
- //obtain required services
- serviceReferences.clear();
- director = (IDirector) getService(IDirector.class.getName());
- metadataRepoMan = (IMetadataRepositoryManager) getService(IMetadataRepositoryManager.class.getName());
- artifactRepoMan = (IArtifactRepositoryManager) getService(IArtifactRepositoryManager.class.getName());
- profileRegistry = (IProfileRegistry) getService(IProfileRegistry.class.getName());
- }
-
- private void prepareArtifactRepositories() throws ProvisionException {
- URL[] repos = installDescription.getArtifactRepositories();
- if (repos == null)
- return;
- for (int i = 0; i < repos.length; i++)
- artifactRepoMan.loadRepository(repos[i], null);
- }
-
- private void prepareMetadataRepositories() throws ProvisionException {
- URL[] repos = installDescription.getMetadataRepositories();
- if (repos == null)
- return;
- for (int i = 0; i < repos.length; i++)
- metadataRepoMan.loadRepository(repos[i], null);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/InstallerActivator.java b/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/InstallerActivator.java
deleted file mode 100644
index 57a66c2..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/InstallerActivator.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.installer;
-
-import org.osgi.framework.*;
-import org.osgi.service.packageadmin.PackageAdmin;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class InstallerActivator implements BundleActivator {
- // The plug-in ID
- public static final String PI_INSTALLER = "org.eclipse.equinox.p2.installer"; //$NON-NLS-1$
- // The shared instance
- private static InstallerActivator plugin;
-
- private BundleContext context;
-
- private PackageAdmin packageAdmin = null;
-
- private ServiceReference packageAdminRef = null;
-
- /**
- * Returns the shared instance
- *
- * @return the shared instance
- */
- public static InstallerActivator getDefault() {
- return plugin;
- }
-
- /**
- * The constructor
- */
- public InstallerActivator() {
- //nothing to do
- }
-
- public Bundle getBundle(String symbolicName) {
- if (packageAdmin == null)
- return null;
- Bundle[] bundles = packageAdmin.getBundles(symbolicName, null);
- if (bundles == null)
- return null;
- //Return the first bundle that is not installed or uninstalled
- for (int i = 0; i < bundles.length; i++) {
- if ((bundles[i].getState() & (Bundle.INSTALLED | Bundle.UNINSTALLED)) == 0) {
- return bundles[i];
- }
- }
- return null;
- }
-
- /**
- * Returns the bundle context for this bundle.
- * @return the bundle context
- */
- public BundleContext getContext() {
- return context;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
- */
- public void start(BundleContext aContext) throws Exception {
- this.context = aContext;
- plugin = this;
- packageAdminRef = context.getServiceReference(PackageAdmin.class.getName());
- packageAdmin = (PackageAdmin) context.getService(packageAdminRef);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
- */
- public void stop(BundleContext aContext) throws Exception {
- context.ungetService(packageAdminRef);
- packageAdmin = null;
- packageAdminRef = null;
- plugin = null;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/Messages.java b/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/Messages.java
deleted file mode 100644
index 5d44051..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/Messages.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.installer;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- *
- */
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.installer.messages"; //$NON-NLS-1$
- public static String Advisor_Canceled;
- public static String Advisor_Preparing;
- public static String App_Error;
- public static String App_FailedStart;
- public static String App_InvalidSite;
- public static String App_LaunchFailed;
- public static String App_Launching;
- public static String App_NoInstallLocation;
- public static String App_NoSite;
- public static String Dialog_BrowseButton;
- public static String Dialog_CancelButton;
- public static String Dialog_CloseButton;
- public static String Dialog_ExplainShared;
- public static String Dialog_ExplainStandalone;
- public static String Dialog_InstallButton;
- public static String Dialog_InstalllingProgress;
- public static String Dialog_InternalError;
- public static String Dialog_LaunchButton;
- public static String Dialog_LayoutGroup;
- public static String Dialog_LocationField;
- public static String Dialog_LocationLabel;
- public static String Dialog_LocationPrompt;
- public static String Dialog_PromptStart;
- public static String Dialog_SelectLocation;
- public static String Dialog_SharedButton;
- public static String Dialog_ShellTitle;
- public static String Dialog_StandaloneButton;
- public static String Op_Cleanup;
- public static String Op_InstallComplete;
- public static String Op_Installing;
- public static String Op_IUNotFound;
- public static String Op_NoId;
- public static String Op_NoService;
- public static String Op_NoServiceImpl;
- public static String Op_Preparing;
- public static String Op_UpdateComplete;
- public static String Op_Updating;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- //nothing to do
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/VersionedName.java b/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/VersionedName.java
deleted file mode 100644
index e482b72..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/VersionedName.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Code 9 and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Code 9 - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.installer;
-
-import org.osgi.framework.Version;
-
-public class VersionedName {
- private String id;
- private Version version;
-
- /**
- * Creates and returns a new versioned id from the given spec. The spec should be
- * id/version.
- * @param spec the spec for the versioned id to create
- * @return the parsed versioned id
- */
- public static VersionedName parse(String spec) {
- String[] segments = InstallDescriptionParser.getArrayFromString(spec, "/"); //$NON-NLS-1$
- return new VersionedName(segments[0], segments.length == 1 ? null : segments[1]);
- }
-
- public VersionedName(String id, String version) {
- this.id = id;
- this.version = new Version(version == null ? "0.0.0" : version);
- }
-
- public VersionedName(String id, Version version) {
- this.id = id;
- this.version = version;
- }
-
- public String getId() {
- return id;
- }
-
- public Version getVersion() {
- return version;
- }
-
- public String toString() {
- return id + "/" + (version == null ? "0.0.0" : version.toString());
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/messages.properties b/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/messages.properties
deleted file mode 100644
index 051c3fc..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/messages.properties
+++ /dev/null
@@ -1,47 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-Advisor_Canceled=Install canceled
-Advisor_Preparing=Preparing to install
-App_Error=An error occurred during installation
-App_FailedStart=Unable to start provisioning infrastructure
-App_InvalidSite=Invalid install site:
-App_LaunchFailed=Failed to launch the product:
-App_Launching=Launching {0}
-App_NoInstallLocation=Install failed because the install location was not set
-App_NoSite=No install site provided
-Dialog_BrowseButton=&Browse...
-Dialog_CancelButton=&Cancel
-Dialog_CloseButton=&Close
-Dialog_ExplainShared=In a shared install, common components are stored together, allowing them to be shared across multiple products.
-Dialog_ExplainStandalone=In a stand-alone install, each product is installed in its own directory without any sharing between products
-Dialog_InstallButton=&Install
-Dialog_InstalllingProgress=Installing...
-Dialog_InternalError=An internal error has occurred
-Dialog_LaunchButton=&Launch
-Dialog_LayoutGroup=Layout
-Dialog_LocationField=Location
-Dialog_LocationLabel=Select the product install directory:
-Dialog_LocationPrompt=Select where you want {0} to be installed
-Dialog_PromptStart=Install complete. Do you want to start {0} immediately?
-Dialog_SelectLocation=Select the install location
-Dialog_SharedButton=&Shared install
-Dialog_ShellTitle=Installer
-Dialog_StandaloneButton=Stand-&alone install
-Op_Cleanup=Some final housekeeping
-Op_InstallComplete=Install complete
-Op_Installing=Installing {0}
-Op_IUNotFound=Installable unit not found:
-Op_NoId=Installable unit id not specified
-Op_NoService=Install requires a service that is not available:
-Op_NoServiceImpl=Install requires a service implementation that is not available:
-Op_Preparing=Preparing to install
-Op_UpdateComplete=Update complete
-Op_Updating=Updating {0}
diff --git a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/ui/InstallDialog.java b/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/ui/InstallDialog.java
deleted file mode 100644
index 7e1e062..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/ui/InstallDialog.java
+++ /dev/null
@@ -1,507 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.installer.ui;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.installer.InstallerActivator;
-import org.eclipse.equinox.internal.p2.installer.Messages;
-import org.eclipse.equinox.internal.provisional.p2.installer.IInstallOperation;
-import org.eclipse.equinox.internal.provisional.p2.installer.InstallDescription;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * The install wizard that drives the install. This dialog is used for user input
- * prior to the install, progress feedback during the install, and displaying results
- * at the end of the install.
- */
-public class InstallDialog {
- /**
- * A progress monitor implementation that asynchronously updates the progress bar.
- */
- class Monitor implements IProgressMonitor {
-
- boolean canceled = false, running = false;
- String subTaskName = ""; //$NON-NLS-1$
- double totalWork, usedWork;
-
- public void beginTask(final String name, final int work) {
- totalWork = work;
- running = true;
- update();
- }
-
- public void done() {
- running = false;
- usedWork = totalWork;
- update();
- }
-
- public void internalWorked(double work) {
- usedWork = Math.min(usedWork + work, totalWork);
- update();
- }
-
- public boolean isCanceled() {
- return returnCode == CANCEL;
- }
-
- public void setCanceled(boolean value) {
- returnCode = CANCEL;
- }
-
- public void setTaskName(String name) {
- subTaskName = name == null ? "" : name; //$NON-NLS-1$
- update();
- }
-
- public void subTask(String name) {
- subTaskName = name == null ? "" : name; //$NON-NLS-1$
- update();
- }
-
- void update() {
- Display display = getDisplay();
- if (display == null)
- return;
- display.asyncExec(new Runnable() {
- public void run() {
- Shell theShell = getShell();
- if (theShell == null || theShell.isDisposed())
- return;
- progressSubTask.setText(shorten(subTaskName));
- if (progressBar.isDisposed())
- return;
- progressBar.setVisible(running);
- progressBar.setMaximum(1000);
- progressBar.setMinimum(0);
- int value = (int) (usedWork / totalWork * 1000);
- if (progressBar.getSelection() < value)
- progressBar.setSelection(value);
- }
-
- private String shorten(String text) {
- if (text.length() <= 64)
- return text;
- int len = text.length();
- return text.substring(0, 30) + "..." + text.substring(len - 30, len); //$NON-NLS-1$
- }
- });
- }
-
- public void worked(int work) {
- internalWorked(work);
- }
- }
-
- /**
- * Encapsulates a result passed from an operation running in a background
- * thread to the UI thread.
- */
- static class Result {
- private boolean done;
- private IStatus status;
-
- synchronized void done() {
- done = true;
- }
-
- synchronized void failed(Throwable t) {
- String msg = Messages.Dialog_InternalError;
- status = new Status(IStatus.ERROR, InstallerActivator.PI_INSTALLER, msg, t);
- }
-
- synchronized IStatus getStatus() {
- return status;
- }
-
- synchronized boolean isDone() {
- return done;
- }
-
- public void setStatus(IStatus status) {
- this.status = status;
- }
- }
-
- private static final int BUTTON_WIDTH = 100;
- private static final int CANCEL = 1;
- private static final int OK = 0;
-
- private Button cancelButton;
- private Composite contents;
- private Button okButton;
-
- ProgressBar progressBar;
- Label progressSubTask;
- Label progressTask;
-
- int returnCode = -1;
-
- private Button settingsBrowse;
- private Label settingsExplain;
- private Composite settingsGroup;
- private Text settingsLocation;
- private Label settingsLocationLabel;
- private Button settingsShared;
- private Button settingsStandalone;
-
- private Shell shell;
-
- private boolean waitingForClose = false;
-
- /**
- * Creates and opens a progress monitor dialog.
- */
- public InstallDialog() {
- createShell();
- progressTask = new Label(contents, SWT.WRAP | SWT.LEFT);
- progressTask.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- createInstallSettingsControls();
- createProgressControls();
- createButtonBar();
-
- shell.layout();
- shell.open();
- }
-
- protected void browsePressed() {
- DirectoryDialog dirDialog = new DirectoryDialog(shell);
- dirDialog.setMessage(Messages.Dialog_SelectLocation);
- String location = dirDialog.open();
- if (location == null)
- location = ""; //$NON-NLS-1$
- settingsLocation.setText(location);
- validateInstallSettings();
- }
-
- protected void buttonPressed(int code) {
- returnCode = code;
- if (waitingForClose)
- close();
- //grey out the cancel button to indicate the request was heard
- if (code == CANCEL && !cancelButton.isDisposed())
- cancelButton.setEnabled(false);
- }
-
- public void close() {
- if (shell == null)
- return;
- if (!shell.isDisposed())
- shell.dispose();
- shell = null;
- }
-
- private void createButtonBar() {
- Composite buttonBar = new Composite(contents, SWT.NONE);
- GridData data = new GridData(GridData.FILL_HORIZONTAL);
- data.horizontalAlignment = SWT.RIGHT;
- buttonBar.setLayoutData(data);
- GridLayout layout = new GridLayout();
- layout.numColumns = 2;
- layout.makeColumnsEqualWidth = true;
- layout.marginHeight = 0;
- layout.marginWidth = 0;
- buttonBar.setLayout(layout);
-
- okButton = new Button(buttonBar, SWT.PUSH);
- data = new GridData(BUTTON_WIDTH, SWT.DEFAULT);
- okButton.setLayoutData(data);
- okButton.setText(Messages.Dialog_InstallButton);
- okButton.setEnabled(false);
- okButton.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- buttonPressed(OK);
- }
- });
-
- cancelButton = new Button(buttonBar, SWT.PUSH);
- data = new GridData(BUTTON_WIDTH, SWT.DEFAULT);
- cancelButton.setLayoutData(data);
- cancelButton.setText(Messages.Dialog_CancelButton);
- cancelButton.setEnabled(false);
- cancelButton.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- buttonPressed(CANCEL);
- }
- });
- }
-
- /**
- * Creates the controls to prompt for the agent and install locations.
- */
- private void createInstallSettingsControls() {
- settingsGroup = new Composite(contents, SWT.NONE);
- GridLayout layout = new GridLayout();
- settingsGroup.setLayout(layout);
- settingsGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
-
- Listener validateListener = new Listener() {
- public void handleEvent(Event event) {
- validateInstallSettings();
- }
- };
-
- //The group asking for the product install directory
- Group installLocationGroup = new Group(settingsGroup, SWT.NONE);
- installLocationGroup.setLayout(new GridLayout());
- installLocationGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
- installLocationGroup.setText(Messages.Dialog_LocationField);
- settingsLocationLabel = new Label(installLocationGroup, SWT.NONE);
- settingsLocationLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- settingsLocationLabel.setText(Messages.Dialog_LocationLabel);
-
- //The sub-group with text entry field and browse button
- Composite locationFieldGroup = new Composite(installLocationGroup, SWT.NONE);
- locationFieldGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
- layout = new GridLayout();
- layout.numColumns = 2;
- layout.makeColumnsEqualWidth = false;
- locationFieldGroup.setLayout(layout);
- settingsLocation = new Text(locationFieldGroup, SWT.SINGLE | SWT.BORDER);
- settingsLocation.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- settingsLocation.addListener(SWT.Modify, validateListener);
- settingsLocation.addKeyListener(new KeyAdapter() {
- public void keyReleased(KeyEvent event) {
- if (event.character == SWT.CR || event.character == SWT.KEYPAD_CR)
- buttonPressed(OK);
- }
- });
- settingsBrowse = new Button(locationFieldGroup, SWT.PUSH);
- settingsBrowse.setLayoutData(new GridData(BUTTON_WIDTH, SWT.DEFAULT));
- settingsBrowse.setText(Messages.Dialog_BrowseButton);
- settingsBrowse.addListener(SWT.Selection, new Listener() {
- public void handleEvent(Event event) {
- browsePressed();
- }
- });
-
- //Create the radio button group asking for the kind of install (shared vs. standalone)
- Group installKindGroup = new Group(settingsGroup, SWT.NONE);
- installKindGroup.setText(Messages.Dialog_LayoutGroup);
- installKindGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
- installKindGroup.setLayout(new GridLayout());
- settingsStandalone = new Button(installKindGroup, SWT.RADIO);
- settingsStandalone.setText(Messages.Dialog_StandaloneButton);
- settingsStandalone.addListener(SWT.Selection, validateListener);
- settingsStandalone.setSelection(true);
- settingsShared = new Button(installKindGroup, SWT.RADIO);
- settingsShared.setText(Messages.Dialog_SharedButton);
- settingsShared.addListener(SWT.Selection, validateListener);
- settingsExplain = new Label(installKindGroup, SWT.WRAP);
- GridData data = new GridData(SWT.DEFAULT, 40);
- data.grabExcessHorizontalSpace = true;
- data.horizontalAlignment = GridData.FILL;
- settingsExplain.setLayoutData(data);
- settingsExplain.setText(Messages.Dialog_ExplainStandalone);
-
- //make the entire group invisible until we actually need to prompt for locations
- settingsGroup.setVisible(false);
- }
-
- private void createProgressControls() {
- progressBar = new ProgressBar(contents, SWT.HORIZONTAL | SWT.SMOOTH);
- progressBar.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- progressBar.setVisible(false);
- progressSubTask = new Label(contents, SWT.WRAP | SWT.LEFT);
- progressSubTask.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- }
-
- private void createShell() {
- shell = new Shell(SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL | SWT.MIN | SWT.RESIZE);
- shell.setBounds(300, 200, 600, 400);
- shell.setText(Messages.Dialog_ShellTitle);
- shell.setLayout(new FillLayout());
- contents = new Composite(shell, SWT.NONE);
- GridLayout layout = new GridLayout();
- layout.marginWidth = 15;
- layout.marginHeight = 15;
- contents.setLayout(layout);
- }
-
- public Display getDisplay() {
- Shell theShell = shell;
- if (theShell == null || theShell.isDisposed())
- return null;
- return theShell.getDisplay();
- }
-
- public Shell getShell() {
- return shell;
- }
-
- /**
- * Asks the user to close the dialog, and returns once the dialog is closed.
- */
- public void promptForClose(String message) {
- Display display = getDisplay();
- if (display == null)
- return;
- progressTask.setText(message);
- progressSubTask.setText(""); //$NON-NLS-1$
- progressBar.setVisible(false);
- okButton.setVisible(false);
- cancelButton.setText(Messages.Dialog_CloseButton);
- cancelButton.setEnabled(true);
- waitingForClose = true;
- while (shell != null && !shell.isDisposed()) {
- if (!display.readAndDispatch())
- display.sleep();
- }
- }
-
- public boolean promptForLaunch(InstallDescription description) {
- Display display = getDisplay();
- if (display == null)
- return false;
- progressTask.setText(NLS.bind(Messages.Dialog_PromptStart, description.getProductName()));
- progressSubTask.setText(""); //$NON-NLS-1$
- progressBar.setVisible(false);
- okButton.setText(Messages.Dialog_LaunchButton);
- okButton.setVisible(true);
- cancelButton.setText(Messages.Dialog_CloseButton);
- cancelButton.setVisible(true);
- waitingForClose = true;
- while (shell != null && !shell.isDisposed()) {
- if (!display.readAndDispatch())
- display.sleep();
- }
- return returnCode == OK;
- }
-
- /**
- * Prompts the user for the install location, and whether the install should
- * be shared or standalone.
- */
- public void promptForLocations(InstallDescription description) {
- progressTask.setText(NLS.bind(Messages.Dialog_LocationPrompt, description.getProductName()));
- okButton.setText(Messages.Dialog_InstallButton);
- okButton.setVisible(true);
- cancelButton.setText(Messages.Dialog_CancelButton);
- cancelButton.setEnabled(true);
- settingsGroup.setVisible(true);
- validateInstallSettings();
- Display display = getDisplay();
- returnCode = -1;
- while (returnCode == -1 && shell != null && !shell.isDisposed()) {
- if (!display.readAndDispatch())
- display.sleep();
- }
- if (returnCode == CANCEL)
- close();
- if (shell == null || shell.isDisposed())
- throw new OperationCanceledException();
- setInstallSettingsEnablement(false);
- Path location = new Path(settingsLocation.getText());
- description.setInstallLocation(location);
- if (settingsStandalone.getSelection()) {
- //force everything to be co-located regardless of what values were set in the install description
- description.setAgentLocation(location.append("p2")); //$NON-NLS-1$
- description.setBundleLocation(location);
- } else {
- if (description.getAgentLocation() == null)
- description.setAgentLocation(new Path(System.getProperty("user.home")).append(".p2/")); //$NON-NLS-1$ //$NON-NLS-2$
- //use bundle pool location specified in install description
- //by default this will be null, causing the bundle pool to be nested in the agent location
- }
- okButton.setVisible(false);
- }
-
- /**
- * This method runs the given operation in the context of a progress dialog.
- * The dialog is opened automatically prior to starting the operation, and closed
- * automatically upon completion.
- * <p>
- * This method must be called from the UI thread. The operation will be
- * executed outside the UI thread.
- *
- * @param operation The operation to run
- * @return The result of the operation
- */
- public IStatus run(final IInstallOperation operation) {
- final Result result = new Result();
- Thread thread = new Thread() {
- public void run() {
- try {
- result.setStatus(operation.install(new Monitor()));
- } catch (ThreadDeath t) {
- //must rethrow or the thread won't die
- throw t;
- } catch (RuntimeException t) {
- result.failed(t);
- } catch (Error t) {
- result.failed(t);
- } finally {
- Display display = getDisplay();
- //ensure all events from the operation have run
- if (display != null) {
- display.syncExec(new Runnable() {
- public void run() {
- //do nothing
- }
- });
- }
- result.done();
- //wake the event loop
- if (display != null)
- display.wake();
- }
- }
- };
- waitingForClose = false;
- progressTask.setText(Messages.Dialog_InstalllingProgress);
- cancelButton.setText(Messages.Dialog_CancelButton);
- thread.start();
- Display display = getDisplay();
- while (!result.isDone()) {
- if (!display.readAndDispatch())
- display.sleep();
- }
- return result.getStatus();
- }
-
- private void setInstallSettingsEnablement(boolean value) {
- settingsLocation.setEnabled(value);
- settingsShared.setEnabled(value);
- settingsStandalone.setEnabled(value);
- settingsGroup.setEnabled(value);
- settingsExplain.setEnabled(value);
- settingsBrowse.setEnabled(value);
- settingsLocationLabel.setEnabled(value);
- }
-
- public void setMessage(String message) {
- if (progressTask != null && !progressTask.isDisposed())
- progressTask.setText(message);
- }
-
- /**
- * Validates that the user has correctly entered all required install settings.
- */
- void validateInstallSettings() {
- boolean enabled = settingsStandalone.getSelection() || settingsShared.getSelection();
- enabled &= Path.ROOT.isValidPath(settingsLocation.getText());
- if (enabled) {
- //make sure the install location is an absolute path
- IPath location = new Path(settingsLocation.getText());
- enabled &= location.isAbsolute();
- }
- okButton.setEnabled(enabled);
-
- if (settingsStandalone.getSelection())
- settingsExplain.setText(Messages.Dialog_ExplainStandalone);
- else
- settingsExplain.setText(Messages.Dialog_ExplainShared);
- }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/ui/SWTInstallAdvisor.java b/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/ui/SWTInstallAdvisor.java
deleted file mode 100644
index 2360615..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/ui/SWTInstallAdvisor.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.installer.ui;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.installer.Messages;
-import org.eclipse.equinox.internal.provisional.p2.installer.*;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * Install context that creates a simple SWT-based UI and interacts with a user.
- */
-public class SWTInstallAdvisor extends InstallAdvisor {
- private InstallDialog dialog;
- private boolean started = false;
- private boolean stopped = false;
-
- public IStatus performInstall(IInstallOperation operation) {
- return dialog.run(operation);
- }
-
- public InstallDescription prepareInstallDescription(InstallDescription description) {
- if (description.getInstallLocation() == null)
- dialog.promptForLocations(description);
- return description;
- }
-
- public boolean promptForLaunch(InstallDescription description) {
- return dialog.promptForLaunch(description);
- }
-
- public void setResult(IStatus status) {
- String message;
- if (status.getSeverity() == IStatus.CANCEL) {
- message = Messages.Advisor_Canceled;
- } else {
- message = status.getMessage();
- }
- dialog.promptForClose(message);
- }
-
- public synchronized void start() {
- if (stopped || started)
- return;
- started = true;
- Display display = Display.getCurrent();
- if (display == null)
- display = new Display();
- dialog = new InstallDialog();
- dialog.setMessage(Messages.Advisor_Preparing);
- }
-
- public synchronized void stop() {
- if (stopped || !started)
- return;
- stopped = true;
- final InstallDialog activeDialog = dialog;
- if (activeDialog == null)
- return;
- //clear the window now, so the reference is gone no matter what happens during cleanup
- dialog = null;
- final Display display = activeDialog.getDisplay();
- if (display == null || display.isDisposed())
- return;
- display.syncExec(new Runnable() {
- public void run() {
- activeDialog.close();
- }
- });
- display.dispose();
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/provisional/p2/installer/IInstallOperation.java b/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/provisional/p2/installer/IInstallOperation.java
deleted file mode 100644
index 8bdd9b2..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/provisional/p2/installer/IInstallOperation.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.installer;
-
-import org.eclipse.core.runtime.*;
-
-/**
- * The operation that will perform the install. This interface exists to allow
- * the install advisor to act as the runnable context for the install, handling
- * progress monitoring and cancelation.
- * <p>
- * This interface is not intended to be implemented by clients.
- */
-public interface IInstallOperation {
- /**
- * Performs the install.
- * <p>
- * The provided monitor can be used to report progress and respond to
- * cancellation. If the progress monitor has been canceled, the job
- * should finish its execution at the earliest convenience and return a result
- * status of severity {@link IStatus#CANCEL}. The singleton
- * cancel status {@link Status#CANCEL_STATUS} can be used for
- * this purpose. The monitor is only valid for the duration of the invocation
- * of this method.
- *
- * @param monitor the monitor to be used for reporting progress and
- * responding to cancelation, or <code>null</code> if progress reporting
- * and cancelation are not desired.
- * @return resulting status of the run. The result must not be <code>null</code>
- */
- public IStatus install(IProgressMonitor monitor);
-}
diff --git a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/provisional/p2/installer/InstallAdvisor.java b/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/provisional/p2/installer/InstallAdvisor.java
deleted file mode 100644
index 76eacc5..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/provisional/p2/installer/InstallAdvisor.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.installer;
-
-import org.eclipse.core.runtime.*;
-
-/**
- * The install advisor helps to make decisions during install, and is the conduit
- * for reporting progress and results back to an end user or log.
- */
-public abstract class InstallAdvisor {
- /**
- * Performs the actual install. The advisor is responsible for handling progress
- * monitoring and cancelation. The advisor may perform the install in
- * another thread, but must block the calling thread until the install
- * completes.
- *
- * @param operation The install operation to run
- * @return IStatus The result of the install operation. This is typically
- * just the return value of {@link IInstallOperation#install(IProgressMonitor)},
- * but the advisor may alter the result status if desired.
- */
- public abstract IStatus performInstall(IInstallOperation operation);
-
- /**
- * Allows the advisor to modify or fill in missing values in the install description.
- * @param description The initial install description
- * @return The install description to be used for the install.
- * @exception OperationCanceledException if the install should be canceled.
- */
- public abstract InstallDescription prepareInstallDescription(InstallDescription description);
-
- /**
- * Prompts for whether the installed application should be launched immediately.
- * This method is only called after a successful install.
- *
- * @param description The initial install description
- * @return <code>true</code> if the product should be launched, and
- * <code>false</code> otherwise.
- */
- public abstract boolean promptForLaunch(InstallDescription description);
-
- /**
- * Reports some result information to the context. The status may be
- * information, warning, or an error.
- */
- public abstract void setResult(IStatus status);
-
- /**
- * Initializes the install advisor. This method must be called before calling any
- * other methods on the advisor are called. Subsequent invocations of this
- * method are ignored.
- */
- public abstract void start();
-
- /**
- * Stops the install advisor. The advisor becomes invalid after it has been
- * stopped; a stopped advisor cannot be restarted.
- */
- public abstract void stop();
-}
diff --git a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/provisional/p2/installer/InstallDescription.java b/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/provisional/p2/installer/InstallDescription.java
deleted file mode 100644
index f260973..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/provisional/p2/installer/InstallDescription.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Code 9 - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.installer;
-
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.equinox.internal.p2.installer.VersionedName;
-
-/**
- * An install information captures all the data needed to perform a product install.
- * This includes information on where the installed product comes from, what will
- * be installed, and where it will be installed.
- */
-public class InstallDescription {
- private URL[] artifactRepos;
- private IPath installLocation;
- private IPath agentLocation;
- private IPath bundleLocation;
- private boolean isAutoStart;
- private String launcherName;
- private URL[] metadataRepos;
- private String productName;
- private VersionedName[] roots;
- private final Map profileProperties = new HashMap();
-
- /**
- * Returns the p2 agent location, or <code>null</code> to indicate
- * the default agent location.
- */
- public IPath getAgentLocation() {
- return agentLocation;
- }
-
- /**
- * Returns the locations of the artifact repositories to install from
- * @return a list of artifact repository URLs
- */
- public URL[] getArtifactRepositories() {
- return artifactRepos;
- }
-
- /**
- * Returns the bundle pool location, or <code>null</code> to
- * indicate the default bundle pool location.
- */
- public IPath getBundleLocation() {
- return bundleLocation;
- }
-
- /**
- * Returns the local file system location to install into.
- * @return a local file system location
- */
- public IPath getInstallLocation() {
- return installLocation;
- }
-
- /**
- * Returns the name of the product's launcher executable
- * @return the name of the launcher executable
- */
- public String getLauncherName() {
- return launcherName;
- }
-
- /**
- * Returns the locations of the metadata repositories to install from
- * @return a list of metadata repository URLs
- */
- public URL[] getMetadataRepositories() {
- return metadataRepos;
- }
-
- /**
- * Returns the profile properties for this install.
- */
- public Map getProfileProperties() {
- return profileProperties;
- }
-
- /**
- * Returns a human-readable name for this install.
- * @return the name of the product
- */
- public String getProductName() {
- return productName;
- }
-
- /**
- * Returns whether the installed product should be started upon successful
- * install.
- * @return <code>true</code> if the product should be started upon successful
- * install, and <code>false</code> otherwise
- */
- public boolean isAutoStart() {
- return isAutoStart;
- }
-
- public void setAgentLocation(IPath agentLocation) {
- this.agentLocation = agentLocation;
- }
-
- public void setArtifactRepositories(URL[] value) {
- this.artifactRepos = value;
- }
-
- public void setAutoStart(boolean value) {
- this.isAutoStart = value;
- }
-
- public void setBundleLocation(IPath bundleLocation) {
- this.bundleLocation = bundleLocation;
- }
-
- public void setInstallLocation(IPath location) {
- this.installLocation = location;
- }
-
- public void setLauncherName(String name) {
- this.launcherName = name;
- }
-
- public void setMetadataRepositories(URL[] value) {
- this.metadataRepos = value;
- }
-
- /**
- * Supplies a set of profile properties to be added when the profile is created.
- * @param properties the profile properties to be added
- */
- public void setProfileProperties(Map properties) {
- profileProperties.putAll(properties);
- }
-
- /**
- * Returns the set of roots to be installed for this installation
- * @return the roots to install
- */
- public VersionedName[] getRoots() {
- return roots;
- }
-
- /**
- * Set the list of roots to install
- * @param value the set of roots to install
- */
- public void setRoots(VersionedName[] value) {
- roots = value;
- }
-
- /**
- * Set the name of the product being installed.
- * @param value the new name of the product to install
- */
- public void setProductName(String value) {
- productName = value;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/.classpath b/bundles/org.eclipse.equinox.p2.jarprocessor/.classpath
deleted file mode 100644
index 7cdeb73..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.1%Foundation-1.1"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/.project b/bundles/org.eclipse.equinox.p2.jarprocessor/.project
deleted file mode 100644
index b3a3e9e..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.equinox.p2.jarprocessor</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.jarprocessor/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index dfcc592..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,340 +0,0 @@
-#Wed Aug 29 00:45:32 EDT 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.jarprocessor/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 9dc4051..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Wed Aug 29 00:45:32 EDT 2007
-eclipse.preferences.version=1
-formatter_profile=_core
-formatter_settings_version=11
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.jarprocessor/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 69a2717..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Tue Aug 28 11:19:59 EDT 2007
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.jarprocessor/META-INF/MANIFEST.MF
deleted file mode 100644
index c3c63c3..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,12 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.jarprocessor;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 1.0.0.qualifier
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
- J2SE-1.4
-Export-Package: org.eclipse.equinox.internal.p2.jarprocessor;x-friends:="org.eclipse.equinox.p2.artifact.repository",
- org.eclipse.equinox.internal.p2.jarprocessor.verifier;x-internal:=true,
- org.eclipse.internal.provisional.equinox.p2.jarprocessor;x-friends:="org.eclipse.equinox.p2.artifact.optimizers,org.eclipse.equinox.p2.artifact.repository"
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/about.html b/bundles/org.eclipse.equinox.p2.jarprocessor/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 2, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/build.properties b/bundles/org.eclipse.equinox.p2.jarprocessor/build.properties
deleted file mode 100644
index a6b8330..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- about.html,\
- plugin.properties
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/plugin.properties b/bundles/org.eclipse.equinox.p2.jarprocessor/plugin.properties
deleted file mode 100644
index 76899ad..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Equinox Provisioning JAR Processor
-providerName = Eclipse.org
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/CommandStep.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/CommandStep.java
deleted file mode 100644
index f5652ae..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/CommandStep.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.jarprocessor;
-
-import java.io.File;
-import java.util.List;
-import java.util.Properties;
-import org.eclipse.internal.provisional.equinox.p2.jarprocessor.IProcessStep;
-
-/**
- * @author aniefer@ca.ibm.com
- *
- */
-public abstract class CommandStep implements IProcessStep {
- protected String command = null;
- protected String extension = null;
- private Properties options = null;
- protected boolean verbose = false;
-
- public CommandStep(Properties options, String command, String extension, boolean verbose) {
- this.command = command;
- this.extension = extension;
- this.options = options;
- this.verbose = verbose;
- }
-
- protected static int execute(String[] cmd) {
- return execute(cmd, false);
- }
-
- protected static int execute(String[] cmd, boolean verbose) {
- Runtime runtime = Runtime.getRuntime();
- Process proc = null;
- try {
- proc = runtime.exec(cmd);
- StreamProcessor errorStreamProcessor = new StreamProcessor(proc.getErrorStream(), StreamProcessor.STDERR, verbose);
- StreamProcessor outputStreamProcessor = new StreamProcessor(proc.getInputStream(), StreamProcessor.STDOUT, verbose);
- errorStreamProcessor.start();
- outputStreamProcessor.start();
- } catch (Exception e) {
- if(verbose) {
- System.out.println("Error executing command " + Utils.concat(cmd)); //$NON-NLS-1$
- e.printStackTrace();
- }
- return -1;
- }
- try {
- int result = proc.waitFor();
- return result;
- } catch (InterruptedException e) {
- if(verbose)
- e.printStackTrace();
- }
- return -1;
- }
-
- public Properties getOptions() {
- if(options == null)
- options = new Properties();
- return options;
- }
-
- public void adjustInf(File input, Properties inf, List containers) {
- //nothing
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/Main.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/Main.java
deleted file mode 100644
index 23df70d..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/Main.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.jarprocessor;
-
-import java.io.File;
-import org.eclipse.internal.provisional.equinox.p2.jarprocessor.JarProcessor;
-import org.eclipse.internal.provisional.equinox.p2.jarprocessor.JarProcessorExecutor;
-
-public class Main {
-
- private static void printUsage() {
- System.out.println("[-option ...]... input"); //$NON-NLS-1$
- System.out.println("The following options are supported:"); //$NON-NLS-1$
- System.out.println("-processAll process all jars, regardless of whether they were previously normalized"); //$NON-NLS-1$
- System.out.println(" By default only normalized jars will be processed."); //$NON-NLS-1$
- System.out.println("-repack normalize jars "); //$NON-NLS-1$
- System.out.println("-sign <command> sign jars using <command>"); //$NON-NLS-1$
- System.out.println("-pack pack the jars. pack and repack are redundant unless"); //$NON-NLS-1$
- System.out.println(" sign is also specified."); //$NON-NLS-1$
- System.out.println("-unpack unpack pack.gz files. Unpack is mutually exclusive"); //$NON-NLS-1$
- System.out.println(" with repack, sign and pack."); //$NON-NLS-1$
- System.out.println();
- System.out.println("-outputDir <dir> the output directory"); //$NON-NLS-1$
- System.out.println("-verbose verbose mode "); //$NON-NLS-1$
- }
-
- public static JarProcessorExecutor.Options processArguments(String[] args) {
- if (args.length == 0) {
- printUsage();
- return null;
- }
-
- JarProcessorExecutor.Options options = new JarProcessorExecutor.Options();
- int i = 0;
- for (; i < args.length - 1; i++) {
- if (args[i].equals("-pack")) {//$NON-NLS-1$
- options.pack = true;
- } else if (args[i].equals("-unpack")) { //$NON-NLS-1$
- options.unpack = true;
- } else if (args[i].equals("-sign") && i < args.length - 2) { //$NON-NLS-1$
- if (args[i + 1].startsWith("-")) { //$NON-NLS-1$
- printUsage();
- return null;
- }
- options.signCommand = args[++i];
- } else if (args[i].equals("-repack")) { //$NON-NLS-1$
- options.repack = true;
- } else if (args[i].equals("-outputDir") && i < args.length - 2) { //$NON-NLS-1$
- if (args[i + 1].startsWith("-")) { //$NON-NLS-1$
- printUsage();
- return null;
- }
- options.outputDir = args[++i];
- } else if (args[i].equals("-verbose")) { //$NON-NLS-1$
- options.verbose = true;
- } else if (args[i].equals("-processAll")) { //$NON-NLS-1$
- options.processAll = true;
- }
- }
-
- options.input = new File(args[i]);
-
- String problemMessage = null;
- String inputName = options.input.getName();
- if (options.unpack) {
- if (!JarProcessor.canPerformUnpack()) {
- problemMessage = "The unpack200 command cannot be found."; //$NON-NLS-1$
- } else if (options.input.isFile() && !inputName.endsWith(".zip") && !inputName.endsWith(".pack.gz")) { //$NON-NLS-1$ //$NON-NLS-2$
- problemMessage = "Input file is not a pack.gz file."; //$NON-NLS-1$
- } else if (options.pack || options.repack || options.signCommand != null) {
- problemMessage = "Pack, repack or sign cannot be specified with unpack."; //$NON-NLS-1$
- }
- } else {
- if (options.input.isFile() && !inputName.endsWith(".zip") && !inputName.endsWith(".jar")) { //$NON-NLS-1$ //$NON-NLS-2$
- problemMessage = "Input file is not a jar file."; //$NON-NLS-1$
- } else if ((options.pack || options.repack) && !JarProcessor.canPerformPack()) {
- problemMessage = "The pack200 command can not be found."; //$NON-NLS-1$
- }
- }
- if(problemMessage != null){
- System.out.println(problemMessage);
- System.out.println();
- printUsage();
- return null;
- }
-
- return options;
- }
-
- /**
- * @param args
- */
- public static void main(String[] args) {
- JarProcessorExecutor.Options options = processArguments(args);
- if (options == null)
- return;
- new JarProcessorExecutor().runJarProcessor(options);
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/PackStep.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/PackStep.java
deleted file mode 100644
index 7a2a740..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/PackStep.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.jarprocessor;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Properties;
-import java.util.Set;
-
-public class PackStep extends CommandStep {
-
- protected static String packCommand = null;
- private static Boolean canPack = null;
-
- private Set exclusions = Collections.EMPTY_SET;
-
- public static boolean canPack() {
- if (canPack != null)
- return canPack.booleanValue();
-
- String[] locations = Utils.getPack200Commands("pack200"); //$NON-NLS-1$
- if (locations == null) {
- canPack = Boolean.FALSE;
- packCommand = null;
- return false;
- }
-
- int result;
- for (int i = 0; i < locations.length; i++) {
- if (locations[i] == null)
- continue;
- result = execute(new String[] {locations[i], "-V"}); //$NON-NLS-1$
- if (result == 0) {
- packCommand = locations[i];
- canPack = Boolean.TRUE;
- return true;
- }
- }
-
- canPack = Boolean.FALSE;
- return false;
- }
-
- public PackStep(Properties options) {
- super(options, null, null, false);
- exclusions = Utils.getPackExclusions(options);
- }
-
- public PackStep(Properties options, boolean verbose) {
- super(options, null, null, verbose);
- exclusions = Utils.getPackExclusions(options);
- }
-
- public String recursionEffect(String entryName) {
- if (canPack() && entryName.endsWith(".jar") && !exclusions.contains(entryName)) { //$NON-NLS-1$
- return entryName + Utils.PACKED_SUFFIX;
- }
- return null;
- }
-
- public File preProcess(File input, File workingDirectory, List containers) {
- return null;
- }
-
- public File postProcess(File input, File workingDirectory, List containers) {
- if (canPack() && packCommand != null) {
- Properties inf = Utils.getEclipseInf(input, verbose);
- if (!shouldPack(input, containers, inf))
- return null;
- File outputFile = new File(workingDirectory, input.getName() + Utils.PACKED_SUFFIX);
- try {
- String[] cmd = getCommand(input, outputFile, inf, containers);
- int result = execute(cmd, verbose);
- if (result != 0 && verbose)
- System.out.println("Error: " + result + " was returned from command: " + Utils.concat(cmd)); //$NON-NLS-1$ //$NON-NLS-2$
- } catch (IOException e) {
- if (verbose)
- e.printStackTrace();
- return null;
- }
- return outputFile;
- }
- return null;
- }
-
- protected boolean shouldPack(File input, List containers, Properties inf) {
- //1: exclude by containers
- // innermost jar is first on the list, it can override outer jars
- for (Iterator iterator = containers.iterator(); iterator.hasNext();) {
- Properties container = (Properties) iterator.next();
- if (container.containsKey(Utils.MARK_EXCLUDE_CHILDREN_PACK)) {
- if (Boolean.valueOf(container.getProperty(Utils.MARK_EXCLUDE_CHILDREN_PACK)).booleanValue()) {
- if (verbose)
- System.out.println(input.getName() + " is excluded from pack200 by its containers."); //$NON-NLS-1$
- return false;
- }
- break;
- }
- }
-
- //2: excluded by self
- if (inf != null && inf.containsKey(Utils.MARK_EXCLUDE_PACK) && Boolean.valueOf(inf.getProperty(Utils.MARK_EXCLUDE_PACK)).booleanValue()) {
- if (verbose)
- System.out.println("Excluding " + input.getName() + " from " + getStepName()); //$NON-NLS-1$ //$NON-NLS-2$
- return false;
- }
-
- return true;
- }
-
- protected String[] getCommand(File input, File outputFile, Properties inf, List containers) throws IOException {
- String[] cmd = null;
- String arguments = getArguments(input, inf, containers);
- if (arguments != null && arguments.length() > 0) {
- String[] args = Utils.toStringArray(arguments, ","); //$NON-NLS-1$
- cmd = new String[3 + args.length];
- cmd[0] = packCommand;
- System.arraycopy(args, 0, cmd, 1, args.length);
- cmd[cmd.length - 2] = outputFile.getCanonicalPath();
- cmd[cmd.length - 1] = input.getCanonicalPath();
- } else {
- cmd = new String[] {packCommand, outputFile.getCanonicalPath(), input.getCanonicalPath()};
- }
- return cmd;
- }
-
- protected String getArguments(File input, Properties inf, List containers) {
- //1: Explicitly marked in our .inf file
- if (inf != null && inf.containsKey(Utils.PACK_ARGS)) {
- return inf.getProperty(Utils.PACK_ARGS);
- }
-
- //2: Defaults set in one of our containing jars
- for (Iterator iterator = containers.iterator(); iterator.hasNext();) {
- Properties container = (Properties) iterator.next();
- if (container.containsKey(Utils.DEFAULT_PACK_ARGS)) {
- return container.getProperty(Utils.DEFAULT_PACK_ARGS);
- }
- }
-
- //3: Set by name in outside pack.properties file
- Properties options = getOptions();
- String argsKey = input.getName() + Utils.PACK_ARGS_SUFFIX;
- if (options.containsKey(argsKey)) {
- return options.getProperty(argsKey);
- }
-
- //4: Set by default in outside pack.properties file
- if (options.containsKey(Utils.DEFAULT_PACK_ARGS)) {
- return options.getProperty(Utils.DEFAULT_PACK_ARGS);
- }
-
- return ""; //$NON-NLS-1$
- }
-
- public String getStepName() {
- return "Pack"; //$NON-NLS-1$
- }
-
- public void adjustInf(File input, Properties inf, List containers) {
- if (input == null || inf == null)
- return;
-
- //don't be verbose to check if we should mark the inf
- boolean v = verbose;
- verbose = false;
- if (!shouldPack(input, containers, inf)) {
- verbose = v;
- return;
- }
- verbose = v;
-
- //mark as conditioned if not previously marked. A signed jar is assumed to be previously conditioned.
- if (inf.getProperty(Utils.MARK_PROPERTY) == null) {
- inf.put(Utils.MARK_PROPERTY, "true"); //$NON-NLS-1$
-
- //record arguments used
- String arguments = inf.getProperty(Utils.PACK_ARGS);
- if (arguments == null) {
- arguments = getArguments(input, inf, containers);
- if (arguments != null && arguments.length() > 0)
- inf.put(Utils.PACK_ARGS, arguments);
- }
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/PackUnpackStep.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/PackUnpackStep.java
deleted file mode 100644
index 79707a6..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/PackUnpackStep.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.jarprocessor;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.*;
-
-/**
- * @author aniefer@ca.ibm.com
- *
- */
-public class PackUnpackStep extends PackStep {
- private Set exclusions = null;
-
- public PackUnpackStep(Properties options) {
- super(options);
- exclusions = Utils.getPackExclusions(options);
- }
-
- public PackUnpackStep(Properties options, boolean verbose) {
- super(options, verbose);
- exclusions = Utils.getPackExclusions(options);
- }
-
- public String recursionEffect(String entryName) {
- if (canPack() && entryName.endsWith(".jar") && !exclusions.contains(entryName)) { //$NON-NLS-1$
- return entryName;
- }
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.update.internal.jarprocessor.PackStep#postProcess(java.io.File, java.io.File, java.util.LinkedList)
- */
- public File postProcess(File input, File workingDirectory, List containers) {
- if (canPack() && packCommand != null && input != null) {
- Properties inf = Utils.getEclipseInf(input, verbose);
- if (!shouldPack(input, containers, inf))
- return null;
- File tempFile = new File(workingDirectory, "temp_" + input.getName()); //$NON-NLS-1$
- try {
- String[] tmp = getCommand(input, tempFile, inf, containers);
- String[] cmd = new String[tmp.length + 1];
- cmd[0] = tmp[0];
- cmd[1] = "-r"; //$NON-NLS-1$
- System.arraycopy(tmp, 1, cmd, 2, tmp.length - 1);
-
- int result = execute(cmd, verbose);
- if (result == 0 && tempFile.exists()) {
- File finalFile = new File(workingDirectory, input.getName());
- if (finalFile.exists())
- finalFile.delete();
- tempFile.renameTo(finalFile);
- return finalFile;
- } else if (verbose) {
- System.out.println("Error: " + result + " was returned from command: " + Utils.concat(cmd)); //$NON-NLS-1$ //$NON-NLS-2$
- }
- } catch (IOException e) {
- if (verbose)
- e.printStackTrace();
- return null;
- }
- }
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.update.internal.jarprocessor.PackStep#preProcess(java.io.File, java.io.File, java.util.LinkedList)
- */
- public File preProcess(File input, File workingDirectory, List containers) {
- return null;
- }
-
- public String getStepName() {
- return "Repack"; //$NON-NLS-1$
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/SignCommandStep.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/SignCommandStep.java
deleted file mode 100644
index e648808..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/SignCommandStep.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.jarprocessor;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.*;
-
-public class SignCommandStep extends CommandStep {
- private Set exclusions = null;
-
- public SignCommandStep(Properties options, String command) {
- super(options, command, ".jar", false); //$NON-NLS-1$
- exclusions = Utils.getSignExclusions(options);
- }
-
- public SignCommandStep(Properties options, String command, boolean verbose) {
- super(options, command, ".jar", verbose); //$NON-NLS-1$
- exclusions = Utils.getSignExclusions(options);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.update.jarprocessor.IProcessStep#recursionEffect(java.lang.String)
- */
- public String recursionEffect(String entryName) {
- if (entryName.endsWith(extension) && !exclusions.contains(entryName))
- return entryName;
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.update.jarprocessor.IProcessStep#preProcess(java.io.File, java.io.File)
- */
- public File preProcess(File input, File workingDirectory, List containers) {
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.update.jarprocessor.IProcessStep#postProcess(java.io.File, java.io.File)
- */
- public File postProcess(File input, File workingDirectory, List containers) {
- if (command != null && input != null && shouldSign(input, containers)) {
- try {
- String[] cmd = new String[] {command, input.getCanonicalPath()};
- int result = execute(cmd, verbose);
- if (result == 0) {
- return input;
- } else if (verbose) {
- System.out.println("Error: " + result + " was returned from command: " + Utils.concat(cmd)); //$NON-NLS-1$ //$NON-NLS-2$
- }
- } catch (IOException e) {
- if (verbose) {
- e.printStackTrace();
- }
- }
- }
- return null;
- }
-
- public boolean shouldSign(File input, List containers) {
- Properties inf = null;
-
- //1: Are we excluded from signing by our parents?
- //innermost jar is first on the list, it overrides outer jars
- for (Iterator iterator = containers.iterator(); iterator.hasNext();) {
- inf = (Properties) iterator.next();
- if (inf.containsKey(Utils.MARK_EXCLUDE_CHILDREN_SIGN)){
- if(Boolean.valueOf(inf.getProperty(Utils.MARK_EXCLUDE_CHILDREN_SIGN)).booleanValue()) {
- if (verbose)
- System.out.println(input.getName() + "is excluded from signing by its containers."); //$NON-NLS-1$
- return false;
- }
- break;
- }
- }
-
- //2: Is this jar itself marked as exclude?
- inf = Utils.getEclipseInf(input, verbose);
- if (inf != null && inf.containsKey(Utils.MARK_EXCLUDE_SIGN) && Boolean.valueOf(inf.getProperty(Utils.MARK_EXCLUDE_SIGN)).booleanValue()) {
- if (verbose)
- System.out.println("Excluding " + input.getName() + " from signing."); //$NON-NLS-1$ //$NON-NLS-2$
- return false;
- }
- return true;
- }
-
- public String getStepName() {
- return "Sign"; //$NON-NLS-1$
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/StreamProcessor.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/StreamProcessor.java
deleted file mode 100644
index cdab812..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/StreamProcessor.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.jarprocessor;
-
-import java.io.*;
-
-public class StreamProcessor extends Thread {
- public static final String STDERR = "STDERR"; //$NON-NLS-1$
- public static final String STDOUT = "STDOUT"; //$NON-NLS-1$
-
- private InputStream inputStream;
- private String name;
- private boolean verbose;
-
- public StreamProcessor(InputStream is, String name, boolean verbose) {
- this.inputStream = is;
- this.name = name;
- this.verbose = verbose;
- }
-
- public void run() {
- try {
- InputStreamReader isr = new InputStreamReader(inputStream);
- BufferedReader br = new BufferedReader(isr);
- while (true) {
- String s = br.readLine();
- if (s == null) {
- break;
- }
- if (verbose) {
- if (STDERR.equals(name))
- System.err.println(name + ": " + s); //$NON-NLS-1$
- else
- System.out.println(name + ": " + s); //$NON-NLS-1$
- }
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/UnpackStep.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/UnpackStep.java
deleted file mode 100644
index a6c84bf..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/UnpackStep.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.jarprocessor;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.List;
-import java.util.Properties;
-
-/**
- * @author aniefer
- *
- */
-public class UnpackStep extends CommandStep {
- public static final String UNPACKER_PROPERTY = "org.eclipse.update.jarprocessor.Unpacker"; //$NON-NLS-1$
- private static Boolean canUnpack = null;
- private static String unpackCommand = null;
-
- public static boolean canUnpack() {
- if (canUnpack != null)
- return canUnpack.booleanValue();
-
- String[] locations = Utils.getPack200Commands("unpack200"); //$NON-NLS-1$
- if (locations == null) {
- canUnpack = Boolean.FALSE;
- unpackCommand = null;
- return false;
- }
-
- int result;
- for (int i = 0; i < locations.length; i++) {
- if (locations[i] == null)
- continue;
- result = execute(new String[] {locations[i], "-V"}); //$NON-NLS-1$
- if (result == 0) {
- unpackCommand = locations[i];
- canUnpack = Boolean.TRUE;
- return true;
- }
- }
-
- canUnpack = Boolean.FALSE;
- return false;
- }
-
- public UnpackStep(Properties options) {
- super(options, null, null, false);
- }
-
- public UnpackStep(Properties options, boolean verbose) {
- super(options, null, null, verbose);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.update.jarprocessor.IProcessStep#recursionEffect(java.lang.String)
- */
- public String recursionEffect(String entryName) {
- if (canUnpack() && entryName.endsWith(Utils.PACKED_SUFFIX)) {
- return entryName.substring(0, entryName.length() - Utils.PACKED_SUFFIX.length());
- }
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.update.jarprocessor.IProcessStep#preProcess(java.io.File, java.io.File)
- */
- public File preProcess(File input, File workingDirectory, List containers) {
- if (canUnpack() && unpackCommand != null) {
- String name = input.getName();
- if (name.endsWith(Utils.PACKED_SUFFIX)) {
- name = name.substring(0, name.length() - Utils.PACKED_SUFFIX.length());
-
- File unpacked = new File(workingDirectory, name);
- File parent = unpacked.getParentFile();
- if (!parent.exists())
- parent.mkdirs();
- try {
- String options = getOptions().getProperty(input.getName() + ".unpack.args"); //$NON-NLS-1$
- String[] cmd = null;
- if (options != null) {
- cmd = new String[] {unpackCommand, options, input.getCanonicalPath(), unpacked.getCanonicalPath()};
- } else {
- cmd = new String[] {unpackCommand, input.getCanonicalPath(), unpacked.getCanonicalPath()};
- }
- int result = execute(cmd, verbose);
- if (result != 0 && verbose)
- System.out.println("Error: " + result + " was returned from command: " + Utils.concat(cmd)); //$NON-NLS-1$ //$NON-NLS-2$
- } catch (IOException e) {
- if (verbose)
- e.printStackTrace();
- return null;
- }
- return unpacked;
- }
- }
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.update.jarprocessor.IProcessStep#postProcess(java.io.File, java.io.File)
- */
- public File postProcess(File input, File workingDirectory, List containers) {
- return null;
- }
-
- public String getStepName() {
- return "Unpack"; //$NON-NLS-1$
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/Utils.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/Utils.java
deleted file mode 100644
index 9cf22bc..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/Utils.java
+++ /dev/null
@@ -1,329 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.jarprocessor;
-
-import java.io.*;
-import java.util.*;
-import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
-import java.util.zip.ZipException;
-
-import org.eclipse.internal.provisional.equinox.p2.jarprocessor.JarProcessor;
-
-/**
- * @author aniefer@ca.ibm.com
- *
- */
-public class Utils {
- public static final String MARK_FILE_NAME = "META-INF/eclipse.inf"; //$NON-NLS-1$
-
- /*
- * Properties found in outer pack.properties file
- */
- //comma separated list of jars to exclude from sigining
- public static final String SIGN_EXCLUDES = "sign.excludes"; //$NON-NLS-1$
- //comma separated list of jars to exlclude from packing
- public static final String PACK_EXCLUDES = "pack.excludes"; //$NON-NLS-1$
- //Suffix used when specifying arguments to use when running pack200 on a jar
- public static final String PACK_ARGS_SUFFIX = ".pack.args"; //$NON-NLS-1$
-
- /*
- * Properties found in both pack.properties and eclipse.inf
- */
- // Default arguments to use when running pack200.
- // Affects all jars when specified in pack.properties, affects children when specified in eclipse.inf
- public static final String DEFAULT_PACK_ARGS = "pack200.default.args"; //$NON-NLS-1$
-
- /*
- * Properties found in eclipse.inf file
- */
- //This jar has been conditioned with pack200
- public static final String MARK_PROPERTY = "pack200.conditioned"; //$NON-NLS-1$
- //Exclude this jar from processing
- public static final String MARK_EXCLUDE = "jarprocessor.exclude"; //$NON-NLS-1$
- //Exclude this jar from pack200
- public static final String MARK_EXCLUDE_PACK = "jarprocessor.exclude.pack"; //$NON-NLS-1$
- //Exclude this jar from signing
- public static final String MARK_EXCLUDE_SIGN = "jarprocessor.exclude.sign"; //$NON-NLS-1$
- //Exclude this jar's children from processing
- public static final String MARK_EXCLUDE_CHILDREN = "jarprocessor.exclude.children"; //$NON-NLS-1$
- //Exclude this jar's children from pack200
- public static final String MARK_EXCLUDE_CHILDREN_PACK = "jarprocessor.exclude.children.pack"; //$NON-NLS-1$
- //Exclude this jar's children from signing
- public static final String MARK_EXCLUDE_CHILDREN_SIGN = "jarprocessor.exclude.children.sign"; //$NON-NLS-1$
- //Arguments used in pack200 for this jar
- public static final String PACK_ARGS = "pack200.args"; //$NON-NLS-1$
-
- public static final String PACK200_PROPERTY = "org.eclipse.update.jarprocessor.pack200"; //$NON-NLS-1$
- public static final String JRE = "@jre"; //$NON-NLS-1$
- public static final String PATH = "@path"; //$NON-NLS-1$
- public static final String NONE = "@none"; //$NON-NLS-1$
-
- public static final String PACKED_SUFFIX = ".pack.gz"; //$NON-NLS-1$
- public static final String JAR_SUFFIX = ".jar"; //$NON-NLS-1$
-
- public static final FileFilter JAR_FILTER = new FileFilter() {
- public boolean accept(File pathname) {
- return pathname.isFile() && pathname.getName().endsWith(".jar"); //$NON-NLS-1$
- }
- };
-
- public static final FileFilter PACK_GZ_FILTER = new FileFilter() {
- public boolean accept(File pathname) {
- return pathname.isFile() && pathname.getName().endsWith(JarProcessor.PACKED_SUFFIX);
- }
- };
-
- public static void close(Object stream) {
- if (stream != null) {
- try {
- if (stream instanceof InputStream)
- ((InputStream) stream).close();
- else if (stream instanceof OutputStream)
- ((OutputStream) stream).close();
- else if (stream instanceof JarFile)
- ((JarFile) stream).close();
- } catch (IOException e) {
- //ignore
- }
- }
- }
-
- /**
- * get the set of commands to try to execute pack/unpack
- * @param cmd the command, either "pack200" or "unpack200"
- * @return String [] or null
- */
- public static String[] getPack200Commands(String cmd) {
- String[] locations = null;
- String prop = System.getProperty(PACK200_PROPERTY);
- String javaHome = System.getProperty("java.home"); //$NON-NLS-1$
- if (NONE.equals(prop)) {
- return null;
- } else if (JRE.equals(prop)) {
- locations = new String[] {javaHome + "/bin/" + cmd}; //$NON-NLS-1$
- } else if (PATH.equals(prop)) {
- locations = new String[] {cmd};
- } else if (prop == null) {
- locations = new String[] {javaHome + "/bin/" + cmd, cmd}; //$NON-NLS-1$
- } else {
- locations = new String[] {prop + "/" + cmd}; //$NON-NLS-1$
- }
- return locations;
- }
-
- /**
- * Transfers all available bytes from the given input stream to the given
- * output stream. Closes both streams if close == true, regardless of failure.
- * Flushes the destination stream if close == false
- *
- * @param source
- * @param destination
- * @param close
- * @throws IOException
- */
- public static void transferStreams(InputStream source, OutputStream destination, boolean close) throws IOException {
- source = new BufferedInputStream(source);
- destination = new BufferedOutputStream(destination);
- try {
- byte[] buffer = new byte[8192];
- while (true) {
- int bytesRead = -1;
- if ((bytesRead = source.read(buffer)) == -1)
- break;
- destination.write(buffer, 0, bytesRead);
- }
- } finally {
- if (close) {
- close(source);
- close(destination);
- } else {
- destination.flush();
- }
- }
- }
-
- /**
- * Deletes all the files and directories from the given root down (inclusive).
- * Returns false if we could not delete some file or an exception occurred
- * at any point in the deletion.
- * Even if an exception occurs, a best effort is made to continue deleting.
- */
- public static boolean clear(java.io.File root) {
- boolean result = clearChildren(root);
- try {
- if (root.exists())
- result &= root.delete();
- } catch (Exception e) {
- result = false;
- }
- return result;
- }
-
- /**
- * Deletes all the files and directories from the given root down, except for
- * the root itself.
- * Returns false if we could not delete some file or an exception occurred
- * at any point in the deletion.
- * Even if an exception occurs, a best effort is made to continue deleting.
- */
- public static boolean clearChildren(java.io.File root) {
- boolean result = true;
- if (root.isDirectory()) {
- String[] list = root.list();
- // for some unknown reason, list() can return null.
- // Just skip the children If it does.
- if (list != null)
- for (int i = 0; i < list.length; i++)
- result &= clear(new java.io.File(root, list[i]));
- }
- return result;
- }
-
- public static Set getPackExclusions(Properties properties) {
- if (properties == null)
- return Collections.EMPTY_SET;
-
- String packExcludes = properties.getProperty(PACK_EXCLUDES);
- if (packExcludes != null) {
- String[] excludes = toStringArray(packExcludes, ","); //$NON-NLS-1$
- Set packExclusions = new HashSet();
- for (int i = 0; i < excludes.length; i++) {
- packExclusions.add(excludes[i]);
- }
- return packExclusions;
- }
- return Collections.EMPTY_SET;
- }
-
- public static Set getSignExclusions(Properties properties) {
- if (properties == null)
- return Collections.EMPTY_SET;
- String signExcludes = properties.getProperty(SIGN_EXCLUDES);
- if (signExcludes != null) {
- String[] excludes = toStringArray(signExcludes, ","); //$NON-NLS-1$
- Set signExclusions = new HashSet();
- for (int i = 0; i < excludes.length; i++) {
- signExclusions.add(excludes[i]);
- }
- return signExclusions;
- }
- return Collections.EMPTY_SET;
- }
-
- public static String concat(String[] array) {
- StringBuffer buffer = new StringBuffer();
- for (int i = 0; i < array.length; i++) {
- if (i > 0)
- buffer.append(' ');
- buffer.append(array[i]);
- }
- return buffer.toString();
- }
-
- public static String[] toStringArray(String input, String separator) {
- StringTokenizer tokenizer = new StringTokenizer(input, separator);
- int count = tokenizer.countTokens();
- String[] result = new String[count];
- for (int i = 0; i < count; i++) {
- result[i] = tokenizer.nextToken().trim();
- }
- return result;
- }
-
- /**
- * Get the properties from the eclipse.inf file from the given jar. If the file is not a jar, null is returned.
- * If the file is a jar, but does not contain an eclipse.inf file, an empty Properties object is returned.
- * @param jarFile
- * @return The eclipse.inf properties for the given jar file
- */
- public static Properties getEclipseInf(File jarFile, boolean verbose) {
- if (jarFile == null || !jarFile.exists()) {
- if (verbose)
- System.out.println("Failed to obtain eclipse.inf due to missing jar file: " + jarFile); //$NON-NLS-1$
- return null;
- }
- JarFile jar = null;
- try {
- jar = new JarFile(jarFile, false);
- } catch (ZipException e) {
- //not a jar, don't bother logging this.
- return null;
- } catch (IOException e) {
- if (verbose) {
- System.out.println("Failed to obtain eclipse.inf due to IOException: " + jarFile); //$NON-NLS-1$
- e.printStackTrace();
- }
- return null;
- }
- try {
- JarEntry mark = jar.getJarEntry(MARK_FILE_NAME);
- if (mark != null) {
- InputStream in = jar.getInputStream(mark);
- Properties props = new Properties();
- props.load(in);
- in.close();
- return props;
- }
- return new Properties();
- } catch (IOException e) {
- if (verbose) {
- System.out.println("Failed to obtain eclipse.inf due to IOException: " + jarFile); //$NON-NLS-1$
- e.printStackTrace();
- }
- return null;
- } finally {
- close(jar);
- }
- }
-
- public static boolean shouldSkipJar(File input, boolean processAll, boolean verbose) {
- Properties inf = getEclipseInf(input, verbose);
- if (inf == null) {
- //not a jar, could be a pack.gz
- return false;
- }
- String exclude = inf.getProperty(MARK_EXCLUDE);
-
- //was marked as exclude, we should skip
- if (exclude != null && Boolean.valueOf(exclude).booleanValue())
- return true;
-
- //process all was set, don't skip
- if (processAll)
- return false;
-
- //otherwise, we skip if not marked marked
- String marked = inf.getProperty(MARK_PROPERTY);
- return !Boolean.valueOf(marked).booleanValue();
- }
-
- /**
- * Stores the given properties in the output stream. We store the properties
- * in sorted order so that the signing hash doesn't change if the properties didn't change.
- * @param props
- * @param stream
- */
- public static void storeProperties(Properties props, OutputStream stream) {
- PrintStream printStream = new PrintStream(stream);
- printStream.print("#Processed using Jarprocessor\n"); //$NON-NLS-1$
- SortedMap sorted = new TreeMap(props);
- for (Iterator iter = sorted.keySet().iterator(); iter.hasNext();) {
- String key = (String) iter.next();
- printStream.print(key);
- printStream.print(" = "); //$NON-NLS-1$
- printStream.print(sorted.get(key));
- printStream.print("\n"); //$NON-NLS-1$
-
- }
- printStream.flush();
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/ZipProcessor.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/ZipProcessor.java
deleted file mode 100644
index 92a1cf8..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/ZipProcessor.java
+++ /dev/null
@@ -1,245 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.jarprocessor;
-
-import java.io.*;
-import java.util.*;
-import java.util.zip.*;
-import org.eclipse.internal.provisional.equinox.p2.jarprocessor.IProcessStep;
-import org.eclipse.internal.provisional.equinox.p2.jarprocessor.JarProcessor;
-
-/**
- * @author aniefer@ca.ibm.com
- *
- */
-public class ZipProcessor {
-
- private IProcessStep signStep = null;
- private IProcessStep packStep = null;
- private IProcessStep packUnpackStep = null;
- private IProcessStep unpackStep = null;
-
- private String workingDirectory = null;
- private Properties properties = null;
- private Set packExclusions = null;
- private Set signExclusions = null;
- private String command = null;
- private boolean packing = false;
- private boolean signing = false;
- private boolean repacking = false;
- private boolean unpacking = false;
- private boolean verbose = false;
- private boolean processAll = false;
-
- public void setWorkingDirectory(String dir) {
- workingDirectory = dir;
- }
-
- public String getWorkingDirectory() {
- if (workingDirectory == null)
- workingDirectory = "."; //$NON-NLS-1$
- return workingDirectory;
- }
-
- public void setSignCommand(String command) {
- this.command = command;
- this.signing = (command != null);
- }
-
- public void setPack(boolean pack) {
- this.packing = pack;
- }
-
- public void setRepack(boolean repack) {
- this.repacking = repack;
- }
-
- public void setUnpack(boolean unpack) {
- this.unpacking = unpack;
- }
-
- public void setVerbose(boolean verbose) {
- this.verbose = verbose;
- }
-
- public void setProcessAll(boolean all) {
- this.processAll = all;
- }
-
- public void processZip(File zipFile) throws ZipException, IOException {
- if (verbose)
- System.out.println("Processing " + zipFile.getPath()); //$NON-NLS-1$
- ZipFile zip = new ZipFile(zipFile);
- initialize(zip);
-
- String extension = unpacking ? "pack.gz" : ".jar"; //$NON-NLS-1$ //$NON-NLS-2$
- File tempDir = new File(getWorkingDirectory(), "temp_" + zipFile.getName()); //$NON-NLS-1$
- JarProcessor processor = new JarProcessor();
- processor.setVerbose(verbose);
- processor.setProcessAll(processAll);
- processor.setWorkingDirectory(tempDir.getCanonicalPath());
- if (unpacking) {
- processor.addProcessStep(unpackStep);
- }
-
- File outputFile = new File(getWorkingDirectory(), zipFile.getName() + ".temp"); //$NON-NLS-1$
- File parent = outputFile.getParentFile();
- if (!parent.exists())
- parent.mkdirs();
- ZipOutputStream zipOut = new ZipOutputStream(new FileOutputStream(outputFile));
- Enumeration entries = zip.entries();
- if (entries.hasMoreElements()) {
- for (ZipEntry entry = (ZipEntry) entries.nextElement(); entry != null; entry = entries.hasMoreElements() ? (ZipEntry) entries.nextElement() : null) {
- String name = entry.getName();
-
- InputStream entryStream = zip.getInputStream(entry);
-
- boolean pack = packing && !packExclusions.contains(name);
- boolean sign = signing && !signExclusions.contains(name);
- boolean repack = repacking && !packExclusions.contains(name);
-
- File extractedFile = null;
-
- if (entry.getName().endsWith(extension) && (pack || sign || repack || unpacking)) {
- extractedFile = new File(tempDir, name);
- parent = extractedFile.getParentFile();
- if (!parent.exists())
- parent.mkdirs();
- if (verbose)
- System.out.println("Extracting " + entry.getName()); //$NON-NLS-1$
- FileOutputStream extracted = new FileOutputStream(extractedFile);
- Utils.transferStreams(entryStream, extracted, true); // this will close the stream
- entryStream = null;
-
- boolean skip = Utils.shouldSkipJar(extractedFile, processAll, verbose);
- if (skip) {
- //skipping this file
- entryStream = new FileInputStream(extractedFile);
- if (verbose)
- System.out.println(entry.getName() + " is not marked, skipping."); //$NON-NLS-1$
- } else {
- if (unpacking) {
- File result = processor.processJar(extractedFile);
- name = name.substring(0, name.length() - extractedFile.getName().length()) + result.getName();
- extractedFile = result;
- } else {
- if (repack || sign) {
- processor.clearProcessSteps();
- if (repack)
- processor.addProcessStep(packUnpackStep);
- if (sign)
- processor.addProcessStep(signStep);
- extractedFile = processor.processJar(extractedFile);
- }
- if (pack) {
- processor.clearProcessSteps();
- processor.addProcessStep(packStep);
- File modifiedFile = processor.processJar(extractedFile);
- if (modifiedFile.exists()) {
- try {
- String newName = name.substring(0, name.length() - extractedFile.getName().length()) + modifiedFile.getName();
- if (verbose) {
- System.out.println("Adding " + newName + " to " + outputFile.getPath()); //$NON-NLS-1$ //$NON-NLS-2$
- System.out.println();
- }
- ZipEntry zipEntry = new ZipEntry(newName);
- entryStream = new FileInputStream(modifiedFile);
- zipOut.putNextEntry(zipEntry);
- Utils.transferStreams(entryStream, zipOut, false); //we want to keep zipOut open
- entryStream.close();
- Utils.clear(modifiedFile);
- } catch (IOException e) {
- Utils.close(entryStream);
- if (verbose) {
- e.printStackTrace();
- System.out.println("Warning: Problem reading " + modifiedFile.getPath() + ".");
- }
- }
- entryStream = null;
- } else if (verbose) {
- System.out.println("Warning: " + modifiedFile.getPath() + " not found.");
- }
- }
- }
- if (extractedFile.exists()) {
- try {
- entryStream = new FileInputStream(extractedFile);
- } catch (IOException e) {
- if (verbose) {
- e.printStackTrace();
- System.out.println("Warning: Problem reading " + extractedFile.getPath() + ".");
- }
- }
- }
-
- if (verbose && entryStream != null) {
- System.out.println("Adding " + name + " to " + outputFile.getPath()); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
- }
- if (entryStream != null) {
- ZipEntry newEntry = new ZipEntry(name);
- try {
- zipOut.putNextEntry(newEntry);
- Utils.transferStreams(entryStream, zipOut, false);
- zipOut.closeEntry();
- } catch (ZipException e) {
- if(verbose) {
- System.out.println("Warning: " + name + " already exists in " + outputFile.getName() + ". Skipping.");
- }
- }
- entryStream.close();
- }
-
- if (extractedFile != null)
- Utils.clear(extractedFile);
-
- if (verbose) {
- System.out.println();
- System.out.println("Processing " + zipFile.getPath()); //$NON-NLS-1$
- }
- }
- }
- zipOut.close();
- zip.close();
-
- File finalFile = new File(getWorkingDirectory(), zipFile.getName());
- if (finalFile.exists())
- finalFile.delete();
- outputFile.renameTo(finalFile);
- Utils.clear(tempDir);
- }
-
- private void initialize(ZipFile zip) {
- ZipEntry entry = zip.getEntry("pack.properties"); //$NON-NLS-1$
- properties = new Properties();
- if (entry != null) {
- InputStream stream = null;
- try {
- stream = zip.getInputStream(entry);
- properties.load(stream);
- } catch (IOException e) {
- if (verbose)
- e.printStackTrace();
- } finally {
- Utils.close(stream);
- }
- }
-
- packExclusions = Utils.getPackExclusions(properties);
- signExclusions = Utils.getSignExclusions(properties);
-
- packUnpackStep = new PackUnpackStep(properties, verbose);
- packStep = new PackStep(properties, verbose);
- signStep = new SignCommandStep(properties, command, verbose);
- unpackStep = new UnpackStep(properties, verbose);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/pack-readme.html b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/pack-readme.html
deleted file mode 100644
index ef5fe5e..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/pack-readme.html
+++ /dev/null
@@ -1,82 +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>Eclipse update packing tool readme</title>
-</head>
-<body>
-<h1>Eclipse update packing tool</h1>
-
-<h3>Overview</h3>
-The update packing tool processes a hierarchy of arbitrarily nested
-JARs and ZIP files. It is a generic utility that performs a depth first traversal of
-a nested hierarchy of ZIPs and JARs, performs various commands on
-each of the JARs in the hierarchy, and then rebuilds the same hierarchy
-of ZIPs and JARs again. Currently its main functions are:
-<ul>
- <li>Packing JARs using the Java 1.5 <a href="http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/pack200.html">pack200</a>
- command.</li>
- <li>Unpacking PACK.GZs using the Java 1.5 <a href="http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/unpack200.html">unpack200</a>
- command.</li>
- <li>Normalizing JARs for future compression by pack200. This is accomplished
- by running the pack200 command with the <tt>--repack</tt> command line argument.</li>
- <li>Signing JARs to allow for authentication of the origin of JARs. This is accomplished by
- running a supplied command (typically the command will just be a wrapper around
- the Java <a href="http://java.sun.com/j2se/1.3/docs/tooldocs/win32/jarsigner.html">jarsigner</a> tool).</li>
-</ul>
-The packing tool is used in the following contexts:
-<ul>
- <li>During a PDE build, to prepare JARs for uploading to an Eclipse
- update site. In this usage, it is used to both nomalize JAR contents
- (pack200 -repack), and sign JARs.</li>
- <li>On an update site, to convert traditional JAR content into the
- compressed pack200 format.</li>
- <li>From an Eclipse client application during update, to convert
- compressed pack200 format content into executable JAR files.</li>
-</ul>
-<h3>Tool usage</h3>
-To run the packing tool, you need a 1.5 JRE installed. The tool is run
-by invoking Java as follows:
-
-<pre>
- java jarprocessor.jar [options] input
-</pre>
-
-Where <tt>input</tt> is either a zip file, a directory, or a JAR (or a pack.gz file). All files ending
-in ".jar" or ".pack.gz" in the provided zip or directory hierarchy
-will be processed.
-The following additional command line arguments are supported:
-<ul>
-<li>-repack : Normalize the jars using pack200 <tt>--repack</tt></li>
-<li>-sign <cmd> : signs the jars by executing the provided command.
-The command will be provided a single argument that will be the full path of the JAR to process.
-</li>
-<li>-pack : for each input in JAR form, produce a corresponding output
-in packed form. For an input "a.jar", the output is a.jar.pack.gz.
-</li>
-<li>-unpack : for each input in packed form, produce a corresponding output
-in unpacked form. For an input "a.jar.pack.gz", the output is "a.jar". -unpack is mutually exclusive with -repack, -pack and -sign.</li>
-<li>-outputDir <dir> : The directory to put the tool's output into. If the input was a zip file, then an output zip file will be
-created containg all the output files. If the input was a directory, for each input file there is a corresponding output file in the output directory. By default the current working directory is used. If the input is in the same
-directory as the output, the input files may be overwritten.</li>
-</ul>
-
-Additionally, when the input is a zip file, it may contain a file called
-<tt>pack.properties</tt>. The pack.properties file supports the following values:
-<ul>
-<li>pack.excludes = jarName[, jarName]* : A comma-delimited list of JARs that should not be packed or repacked.
-</li>
-<li>sign.excludes = jarName[, jarName]* : A comma-delimited list of JARs that should not be signed.
-</li>
-<li><jarname>.pack.args = option[, option]* : A comma-delimited list of additional arguments that should
-be passed to pack200 when packing any jar with name <jarname>.
-</ul>
-</p>
-<p>
-<font size=-1>
-Copyright (c) IBM Corporation and others 2006. All rights reserved. This program and the accompanying materials
-are made available under the terms of the
-<a href="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0</a>.
-</font>
-</body>
-</html>
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/verifier/Verifier.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/verifier/Verifier.java
deleted file mode 100644
index 075d88b..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/verifier/Verifier.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.p2.jarprocessor.verifier;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.util.Properties;
-
-import org.eclipse.equinox.internal.p2.jarprocessor.UnpackStep;
-import org.eclipse.equinox.internal.p2.jarprocessor.Utils;
-import org.eclipse.internal.provisional.equinox.p2.jarprocessor.JarProcessor;
-import org.eclipse.internal.provisional.equinox.p2.jarprocessor.JarProcessorExecutor;
-
-public class Verifier extends JarProcessorExecutor {
-
- private static void printUsage() {
- System.out.println("This tool verifies that unpacking a pack.gz file with the jarprocessor results in a valid jar file."); //$NON-NLS-1$
- System.out.println("Usage: java -cp jarprocessor.jar org.eclipse.update.internal.jarprocessor.verifier.Verifier -dir <workingDirectory> input [input]"); //$NON-NLS-1$
- System.out.println(""); //$NON-NLS-1$
- System.out.println("-dir : specifies a working directory where pack.gz files can be temporarily unpacked"); //$NON-NLS-1$
- System.out.println("input : a list of directories and/or pack.gz files to verify."); //$NON-NLS-1$
-
- }
-
- public static void main(String[] args) {
- if (!VerifyStep.canVerify()) {
- System.out.println("Can't find jarsigner. Please adjust your system path or use a jdk."); //$NON-NLS-1$
- printUsage();
- return;
- }
-
- String workingDirectory = null;
- String [] input;
-
- if(args.length == 0) {
- workingDirectory = "."; //$NON-NLS-1$
- input = new String[] {"."}; //$NON-NLS-1$
- }else {
- int idx = 0;
- if(args[0] == "-help"){ //$NON-NLS-1$
- printUsage();
- return;
- }
- if (args[idx] == "-dir") { //$NON-NLS-1$
- workingDirectory = args[++idx];
- idx++;
- } else {
- workingDirectory = "temp"; //$NON-NLS-1$
- }
-
- input = new String[args.length - idx];
- System.arraycopy(args, idx, input, 0, args.length - idx);
- }
-
- File workingDir = new File(workingDirectory);
- boolean clear = false;
- if( workingDir.exists()) {
- workingDir = new File( workingDir, "jarprocessor.verifier.temp"); //$NON-NLS-1$
- clear = true;
- }
-
- Verifier verifier = new Verifier();
- verifier.verify(workingDir, input);
-
- if(clear)
- workingDir.deleteOnExit();
- }
-
- public void verify(final File workingDirectory, String[] input) {
- Properties options = new Properties();
-
- JarProcessor unpacker = new JarProcessor();
- unpacker.addProcessStep(new UnpackStep(options, false));
- unpacker.setWorkingDirectory(workingDirectory.getAbsolutePath());
-
- /* There is no need to use a full processor to do the verification unless we want to verify nested jars as well.
- * So for now, use a custom processor to just call the verify step directly.
- */
- final VerifyStep verifyStep = new VerifyStep(options, false);
- JarProcessor verifier = new JarProcessor() {
- public File processJar(File inputFile) {
- return verifyStep.postProcess(inputFile, workingDirectory, null);
- }
- };
-
- for (int i = 0; i < input.length; i++) {
- File inputFile = new File(input[i]);
- if (inputFile.exists()) {
- try {
- process(inputFile, Utils.PACK_GZ_FILTER, true, unpacker, verifier);
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- }
- }
- }
- Utils.clear(workingDirectory);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/verifier/VerifyStep.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/verifier/VerifyStep.java
deleted file mode 100644
index 7e63698..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/verifier/VerifyStep.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM - Initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.equinox.internal.p2.jarprocessor.verifier;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.List;
-import java.util.Properties;
-
-import org.eclipse.equinox.internal.p2.jarprocessor.CommandStep;
-import org.eclipse.equinox.internal.p2.jarprocessor.Utils;
-
-public class VerifyStep extends CommandStep {
-
- static String verifyCommand = "jarsigner"; //$NON-NLS-1$
- static Boolean canVerify = null;
-
- public static boolean canVerify() {
- if (canVerify != null)
- return canVerify.booleanValue();
-
- String javaHome = System.getProperty("java.home"); //$NON-NLS-1$
- String command = javaHome + "/../bin/jarsigner"; //$NON-NLS-1$
- int result = execute(new String[] {command});
- if (result < 0) {
- command = "jarsigner"; //$NON-NLS-1$
- result = execute(new String[] {command});
- if (result < 0) {
- canVerify = Boolean.FALSE;
- return false;
- }
- }
- verifyCommand = command;
- canVerify = Boolean.TRUE;
- return true;
- }
-
- public VerifyStep(Properties options, boolean verbose) {
- super(options, verifyCommand, ".jar", verbose); //$NON-NLS-1$
- }
-
- public String getStepName() {
- return "Verify"; //$NON-NLS-1$
- }
-
- public File postProcess(File input, File workingDirectory, List containers) {
- if (canVerify() && verifyCommand != null) {
- try {
- System.out.print("Verifying " + input.getName() + ": "); //$NON-NLS-1$ //$NON-NLS-2$
- String[] cmd = new String[] {verifyCommand, "-verify", input.getCanonicalPath()}; //$NON-NLS-1$
- int result = execute(cmd, true);
- if (result != 0 && verbose)
- System.out.println("Error: " + result + " was returned from command: " + Utils.concat(cmd)); //$NON-NLS-1$ //$NON-NLS-2$
- } catch (IOException e) {
- if (verbose)
- e.printStackTrace();
- return null;
- }
- return input;
- }
- return null;
- }
-
- public File preProcess(File input, File workingDirectory, List containers) {
- return null;
- }
-
- public String recursionEffect(String entryName) {
- return null;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/internal/provisional/equinox/p2/jarprocessor/IProcessStep.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/internal/provisional/equinox/p2/jarprocessor/IProcessStep.java
deleted file mode 100644
index 1479c4c..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/internal/provisional/equinox/p2/jarprocessor/IProcessStep.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.internal.provisional.equinox.p2.jarprocessor;
-
-import java.io.File;
-import java.util.List;
-import java.util.Properties;
-
-/**
- * @author aniefer@ca.ibm.com
- *
- */
-public interface IProcessStep {
-
- /**
- * The effect of this processing step if the JarProcessor was to recurse on this entry.
- * Return null if this step will not do anything with this entry.
- * Return the new entryName if this step will modify this entry on recursion.
- * @param entryName
- * @return The new entry name, or <code>null</code>
- */
- public String recursionEffect(String entryName);
-
- /**
- * Perform some processing on the input file before the JarProcessor considers the entries for recursion.
- * @param input
- * @param workingDirectory
- * @param containers inf properties for containing jars, innermost jar is first on the list
- * @return the file containing the result of the processing
- */
- public File preProcess(File input, File workingDirectory, List containers);
-
- /**
- * Perform some processing on the input file after the JarProcessor returns from recursion.
- *
- * @param input
- * @param workingDirectory
- * @param containers inf properties for containing jars, innermost jar is first on the list
- * @return the file containing the result of the processing
- */
- public File postProcess(File input, File workingDirectory, List containers);
-
- /**
- * Return the name of this process step
- * @return the name of this process step
- */
- public String getStepName();
-
- /**
- * Adjust any properties in the eclipse.inf as appropriate for this step
- * @param input
- * @param inf
- * @param containers inf properties for containing jars, innermost jar is first on the list
- */
- public void adjustInf(File input, Properties inf, List containers);
-}
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/internal/provisional/equinox/p2/jarprocessor/JarProcessor.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/internal/provisional/equinox/p2/jarprocessor/JarProcessor.java
deleted file mode 100644
index 0badecc..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/internal/provisional/equinox/p2/jarprocessor/JarProcessor.java
+++ /dev/null
@@ -1,392 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.internal.provisional.equinox.p2.jarprocessor;
-
-import java.io.*;
-import java.util.*;
-import java.util.jar.*;
-import org.eclipse.equinox.internal.p2.jarprocessor.*;
-
-public class JarProcessor {
- public static final String PACKED_SUFFIX = "pack.gz"; //$NON-NLS-1$
-
- private List steps = new ArrayList();
- private String workingDirectory = ""; //$NON-NLS-1$
- private int depth = -1;
- private boolean verbose = false;
- private boolean processAll = false;
- private LinkedList containingInfs = new LinkedList();
-
- static public JarProcessor getUnpackProcessor(Properties properties) {
- if (!canPerformUnpack())
- throw new UnsupportedOperationException();
- JarProcessor processor = new JarProcessor();
- processor.addProcessStep(new UnpackStep(properties));
- return processor;
- }
-
- static public JarProcessor getPackProcessor(Properties properties) {
- if (!canPerformPack())
- throw new UnsupportedOperationException();
- JarProcessor processor = new JarProcessor();
- processor.addProcessStep(new PackStep(properties));
- return processor;
- }
-
- static public boolean canPerformPack() {
- return PackStep.canPack();
- }
-
- static public boolean canPerformUnpack() {
- return UnpackStep.canUnpack();
- }
-
- public String getWorkingDirectory() {
- return workingDirectory;
- }
-
- public void setWorkingDirectory(String dir) {
- if(dir != null)
- workingDirectory = dir;
- }
-
- public void setVerbose(boolean verbose) {
- this.verbose = verbose;
- }
-
- public void setProcessAll(boolean all){
- this.processAll = all;
- }
-
- public void addProcessStep(IProcessStep step) {
- steps.add(step);
- }
-
- public void clearProcessSteps() {
- steps.clear();
- }
-
- /**
- * Recreate a jar file. The replacements map specifies entry names to be replaced, the replacements are
- * expected to be found in directory.
- *
- * @param jar - The input jar
- * @param outputJar - the output
- * @param replacements - map of entryName -> new entryName
- * @param directory - location to find file for new entryName
- * @throws IOException
- */
- private void recreateJar(JarFile jar, JarOutputStream outputJar, Map replacements, File directory, Properties inf) throws IOException {
- InputStream in = null;
- boolean marked = false;
- try {
- Enumeration entries = jar.entries();
- for (JarEntry entry = (JarEntry) entries.nextElement(); entry != null; entry = entries.hasMoreElements() ? (JarEntry) entries.nextElement() : null) {
- File replacement = null;
- JarEntry newEntry = null;
- if (replacements.containsKey(entry.getName())) {
- String name = (String) replacements.get(entry.getName());
- replacement = new File(directory, name);
- if (name != null) {
- if (replacement.exists()) {
- try {
- in = new BufferedInputStream(new FileInputStream(replacement));
- newEntry = new JarEntry(name);
- } catch (Exception e) {
- if (verbose) {
- e.printStackTrace();
- System.out.println("Warning: Problem reading " +replacement.getPath() + ", using " + jar.getName() + File.separator + entry.getName() + " instead."); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- }
- } else if (verbose) {
- System.out.println("Warning: " + replacement.getPath() + " not found, using " + jar.getName() + File.separator + entry.getName() + " instead."); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- }
- }
- if (newEntry == null) {
- try {
- in = new BufferedInputStream(jar.getInputStream(entry));
- newEntry = new JarEntry(entry.getName());
- } catch( Exception e ) {
- if(verbose) {
- e.printStackTrace();
- System.out.println("ERROR: problem reading " + entry.getName() + " from " + jar.getName()); //$NON-NLS-1$ //$NON-NLS-2$
- }
- continue;
- }
- }
- newEntry.setTime(entry.getTime());
- outputJar.putNextEntry(newEntry);
- if (entry.getName().equals(Utils.MARK_FILE_NAME)) {
- //The eclipse.inf file was read in earlier, don't need to reread it, just write it out now
- Utils.storeProperties(inf, outputJar);
- marked = true;
- } else {
- Utils.transferStreams(in, outputJar, false);
- }
- outputJar.closeEntry();
- in.close();
-
- //delete the nested jar file
- if (replacement != null) {
- replacement.delete();
- }
- }
- if (!marked) {
- JarEntry entry = new JarEntry(Utils.MARK_FILE_NAME);
- outputJar.putNextEntry(entry);
- Utils.storeProperties(inf, outputJar);
- outputJar.closeEntry();
- }
- } finally {
- Utils.close(outputJar);
- Utils.close(jar);
- Utils.close(in);
- }
- }
-
- private String recursionEffect(String entryName) {
- String result = null;
- for (Iterator iter = steps.iterator(); iter.hasNext();) {
- IProcessStep step = (IProcessStep) iter.next();
-
- result = step.recursionEffect(entryName);
- if (result != null)
- entryName = result;
- }
- return result;
- }
-
- private void extractEntries(JarFile jar, File tempDir, Map data, Properties inf) throws IOException {
- if(inf != null ) {
- //skip if excluding children
- if(inf.containsKey(Utils.MARK_EXCLUDE_CHILDREN)){
- String excludeChildren = inf.getProperty(Utils.MARK_EXCLUDE_CHILDREN);
- if( Boolean.valueOf(excludeChildren).booleanValue() )
- if(verbose){
- for(int i = 0; i <= depth; i++)
- System.out.print(" "); //$NON-NLS-1$
- System.out.println("Children of " + jar.getName() + "are excluded from processing."); //$NON-NLS-1$ //$NON-NLS-2$
- }
- return;
- }
- }
-
- Enumeration entries = jar.entries();
- if (entries.hasMoreElements()) {
- for (JarEntry entry = (JarEntry) entries.nextElement(); entry != null; entry = entries.hasMoreElements() ? (JarEntry) entries.nextElement() : null) {
- String name = entry.getName();
- String newName = recursionEffect(name);
- if (newName != null) {
- if(verbose){
- for(int i = 0; i <= depth; i++)
- System.out.print(" "); //$NON-NLS-1$
- System.out.println("Processing nested file: " + name); //$NON-NLS-1$
- }
- //extract entry to temp directory
- File extracted = new File(tempDir, name);
- File parentDir = extracted.getParentFile();
- if (!parentDir.exists())
- parentDir.mkdirs();
-
- InputStream in = null;
- OutputStream out = null;
- try {
- in = jar.getInputStream(entry);
- out = new BufferedOutputStream(new FileOutputStream(extracted));
- Utils.transferStreams(in, out, true); //this will close both streams
- } finally {
- Utils.close(in);
- Utils.close(out);
- }
- extracted.setLastModified(entry.getTime());
-
- //recurse
- containingInfs.addFirst(inf);
- String dir = getWorkingDirectory();
- setWorkingDirectory(parentDir.getCanonicalPath());
- File result = processJar(extracted);
-
- newName = name.substring(0, name.length() - extracted.getName().length()) + result.getName();
- data.put(name, newName);
-
- setWorkingDirectory(dir);
- containingInfs.removeFirst();
-
- //delete the extracted item leaving the recursion result
- if (!name.equals(newName))
- extracted.delete();
- }
- }
- }
- }
-
- private File preProcess(File input, File tempDir) {
- File result = null;
- for (Iterator iter = steps.iterator(); iter.hasNext();) {
- IProcessStep step = (IProcessStep) iter.next();
- result = step.preProcess(input, tempDir, containingInfs);
- if (result != null)
- input = result;
- }
- return input;
- }
-
- private File postProcess(File input, File tempDir) {
- File result = null;
- for (Iterator iter = steps.iterator(); iter.hasNext();) {
- IProcessStep step = (IProcessStep) iter.next();
- result = step.postProcess(input, tempDir, containingInfs);
- if (result != null)
- input = result;
- }
- return input;
- }
-
- private void adjustInf(File input, Properties inf) {
- for (Iterator iter = steps.iterator(); iter.hasNext();) {
- IProcessStep step = (IProcessStep) iter.next();
- step.adjustInf(input, inf, containingInfs);
- }
- }
-
- public File processJar(File input) throws IOException {
- ++depth;
- long lastModified = input.lastModified();
- File workingDir = new File(getWorkingDirectory());
- if (!workingDir.exists())
- workingDir.mkdirs();
-
- boolean skip = Utils.shouldSkipJar(input, processAll, verbose);
- if (depth == 0 && verbose) {
- if (skip)
- System.out.println("Skipping " + input.getPath()); //$NON-NLS-1$
- else {
- System.out.print("Running "); //$NON-NLS-1$
- for (Iterator iter = steps.iterator(); iter.hasNext();) {
- IProcessStep step = (IProcessStep) iter.next();
- System.out.print(step.getStepName() + " "); //$NON-NLS-1$
- }
- System.out.println("on " + input.getPath()); //$NON-NLS-1$
- }
- }
-
- if (skip) {
- //This jar was not marked as conditioned, and we are only processing conditioned jars, so do nothing
- --depth;
- return input;
- }
-
- //pre
- File workingFile = preProcess(input, workingDir);
-
- //Extract entries from jar and recurse on them
- File tempDir = null;
- if (depth == 0) {
- tempDir = new File(workingDir, "temp." + workingFile.getName()); //$NON-NLS-1$
- } else {
- File parent = workingDir.getParentFile();
- tempDir = new File(parent, "temp_" + depth + '_' + workingFile.getName()); //$NON-NLS-1$
- }
-
- JarFile jar = new JarFile(workingFile, false);
- Map replacements = new HashMap();
- Properties inf = Utils.getEclipseInf(workingFile, verbose);
- extractEntries(jar, tempDir, replacements, inf);
-
- if (inf != null)
- adjustInf(workingFile, inf);
-
- //Recreate the jar with replacements.
- //TODO: This is not strictly necessary if we didn't change the inf file and didn't change any content
- File tempJar = null;
- tempJar = new File(tempDir, workingFile.getName());
- File parent = tempJar.getParentFile();
- if (!parent.exists())
- parent.mkdirs();
- JarOutputStream jarOut = new JarOutputStream(new BufferedOutputStream(new FileOutputStream(tempJar)));
- recreateJar(jar, jarOut, replacements, tempDir, inf);
-
- jar.close();
- if (tempJar != null) {
- if (!workingFile.equals(input)) {
- workingFile.delete();
- }
- workingFile = tempJar;
- }
-
- //post
- File result = postProcess(workingFile, workingDir);
-
- //have to normalize after the post steps
- normalize(result, workingDir);
-
- if (!result.equals(workingFile) && !workingFile.equals(input))
- workingFile.delete();
- if (!result.getParentFile().equals(workingDir)) {
- File finalFile = new File(workingDir, result.getName());
- if (finalFile.exists())
- finalFile.delete();
- result.renameTo(finalFile);
- result = finalFile;
- }
-
- if (tempDir.exists())
- Utils.clear(tempDir);
-
- result.setLastModified(lastModified);
- --depth;
- return result;
- }
-
- private void normalize(File input, File directory) {
- if(input.getName().endsWith(JarProcessor.PACKED_SUFFIX)) {
- //not a jar
- return;
- }
- try {
- File tempJar = new File(directory, "temp_" + input.getName()); //$NON-NLS-1$
- JarFile jar = null;
- try {
- jar = new JarFile(input, false);
- } catch (JarException e) {
- //not a jar
- return ;
- }
- JarOutputStream jarOut = new JarOutputStream(new BufferedOutputStream(new FileOutputStream(tempJar)));
- InputStream in = null;
- try {
- Enumeration entries = jar.entries();
- for (JarEntry entry = (JarEntry) entries.nextElement(); entry != null; entry = entries.hasMoreElements() ? (JarEntry) entries.nextElement() : null) {
- JarEntry newEntry = new JarEntry(entry.getName());
- newEntry.setTime(entry.getTime());
- in = new BufferedInputStream(jar.getInputStream(entry));
- jarOut.putNextEntry(newEntry);
- Utils.transferStreams(in, jarOut, false);
- jarOut.closeEntry();
- in.close();
- }
- } finally {
- Utils.close(jarOut);
- Utils.close(jar);
- Utils.close(in);
- }
- tempJar.setLastModified(input.lastModified());
- input.delete();
- tempJar.renameTo(input);
- } catch (IOException e) {
- if (verbose) {
- System.out.println("Error normalizing jar " + input.getName()); //$NON-NLS-1$
- e.printStackTrace();
- }
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/internal/provisional/equinox/p2/jarprocessor/JarProcessorExecutor.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/internal/provisional/equinox/p2/jarprocessor/JarProcessorExecutor.java
deleted file mode 100644
index 29a560e..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/internal/provisional/equinox/p2/jarprocessor/JarProcessorExecutor.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.internal.provisional.equinox.p2.jarprocessor;
-
-import java.io.*;
-import java.util.Properties;
-import java.util.zip.ZipException;
-import org.eclipse.equinox.internal.p2.jarprocessor.*;
-
-public class JarProcessorExecutor {
- public static class Options {
- public String outputDir = "."; //$NON-NLS-1$
- public String signCommand = null;
- public boolean pack = false;
- public boolean repack = false;
- public boolean unpack = false;
- public boolean verbose = false;
- public boolean processAll = false;
- public File input = null;
- }
-
- public void runJarProcessor(Options options) {
- if (options.input.isFile() && options.input.getName().endsWith(".zip")) { //$NON-NLS-1$
- ZipProcessor processor = new ZipProcessor();
- processor.setWorkingDirectory(options.outputDir);
- processor.setSignCommand(options.signCommand);
- processor.setPack(options.pack);
- processor.setRepack(options.repack || (options.pack && options.signCommand != null));
- processor.setUnpack(options.unpack);
- processor.setVerbose(options.verbose);
- processor.setProcessAll(options.processAll);
- try {
- processor.processZip(options.input);
- } catch (ZipException e) {
- if (options.verbose)
- e.printStackTrace();
- } catch (IOException e) {
- if (options.verbose)
- e.printStackTrace();
- }
- } else {
- JarProcessor processor = new JarProcessor();
- JarProcessor packProcessor = null;
-
- processor.setWorkingDirectory(options.outputDir);
- processor.setProcessAll(options.processAll);
- processor.setVerbose(options.verbose);
-
- //load options file
- Properties properties = new Properties();
- if (options.input.isDirectory()) {
- File packProperties = new File(options.input, "pack.properties"); //$NON-NLS-1$
- if (packProperties.exists() && packProperties.isFile()) {
- InputStream in = null;
- try {
- in = new BufferedInputStream(new FileInputStream(packProperties));
- properties.load(in);
- } catch (IOException e) {
- if (options.verbose)
- e.printStackTrace();
- } finally {
- Utils.close(in);
- }
- }
- }
-
- if (options.unpack)
- addUnpackStep(processor, properties, options);
-
- if (options.repack || (options.pack && options.signCommand != null))
- addPackUnpackStep(processor, properties, options);
-
- if (options.signCommand != null)
- addSignStep(processor, properties, options);
-
- if (options.pack) {
- packProcessor = new JarProcessor();
- packProcessor.setWorkingDirectory(options.outputDir);
- packProcessor.setProcessAll(options.processAll);
- packProcessor.setVerbose(options.verbose);
- addPackStep(packProcessor, properties, options);
- }
-
- try {
- process(options.input, options.unpack ? Utils.PACK_GZ_FILTER : Utils.JAR_FILTER, options.verbose, processor, packProcessor);
- } catch (FileNotFoundException e) {
- if (options.verbose)
- e.printStackTrace();
- }
- }
- }
-
- protected void process(File input, FileFilter filter, boolean verbose, JarProcessor processor, JarProcessor packProcessor) throws FileNotFoundException {
- if (!input.exists())
- throw new FileNotFoundException();
-
- File[] files = null;
- if (input.isDirectory()) {
- files = input.listFiles();
- } else if (filter.accept(input)) {
- files = new File[] {input};
- } else
- return;
- for (int i = 0; i < files.length; i++) {
- if (files[i].isDirectory()) {
- String dir = processor.getWorkingDirectory();
- processor.setWorkingDirectory(dir + "/" + files[i].getName()); //$NON-NLS-1$
- if (packProcessor != null)
- packProcessor.setWorkingDirectory(dir + "/" + files[i].getName()); //$NON-NLS-1$
- process(files[i], filter, verbose, processor, packProcessor);
- processor.setWorkingDirectory(dir);
- if (packProcessor != null)
- packProcessor.setWorkingDirectory(dir);
- } else if (filter.accept(files[i])) {
- try {
- File result = processor.processJar(files[i]);
- if (packProcessor != null && result != null && result.exists()) {
- packProcessor.processJar(result);
- }
- } catch (IOException e) {
- if (verbose)
- e.printStackTrace();
- }
- }
- }
- }
-
- public void addPackUnpackStep(JarProcessor processor, Properties properties, JarProcessorExecutor.Options options) {
- processor.addProcessStep(new PackUnpackStep(properties, options.verbose));
- }
-
- public void addSignStep(JarProcessor processor, Properties properties, JarProcessorExecutor.Options options) {
- processor.addProcessStep(new SignCommandStep(properties, options.signCommand, options.verbose));
- }
-
- public void addPackStep(JarProcessor processor, Properties properties, JarProcessorExecutor.Options options) {
- processor.addProcessStep(new PackStep(properties, options.verbose));
- }
-
- public void addUnpackStep(JarProcessor processor, Properties properties, JarProcessorExecutor.Options options) {
- processor.addProcessStep(new UnpackStep(properties, options.verbose));
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/.classpath b/bundles/org.eclipse.equinox.p2.metadata.generator/.classpath
deleted file mode 100644
index ef37949..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="src" output="bin_ant" path="src_ant"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/.cvsignore b/bundles/org.eclipse.equinox.p2.metadata.generator/.cvsignore
deleted file mode 100644
index e17d879..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-org.eclipse.equinox.simpleconfigurator.jar
-org.eclipse.update.configurator.jar
-bin
-ant_tasks
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/.externalToolBuilders/Build Metadata Generator Ant Tasks.launch b/bundles/org.eclipse.equinox.p2.metadata.generator/.externalToolBuilders/Build Metadata Generator Ant Tasks.launch
deleted file mode 100644
index ec9c3e8..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/.externalToolBuilders/Build Metadata Generator Ant Tasks.launch
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
-<booleanAttribute key="org.eclipse.ant.ui.ATTR_TARGETS_UPDATED" value="true"/>
-<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
-<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${project}"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.equinox.p2.metadata.generator"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="4"/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
-<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
-<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.equinox.p2.metadata.generator"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.equinox.p2.metadata.generator/scripts/buildExtraJAR.xml}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value=""/>
-<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/.project b/bundles/org.eclipse.equinox.p2.metadata.generator/.project
deleted file mode 100644
index 6e83cc2..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/.project
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.equinox.p2.metadata.generator</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
- <triggers>full,incremental,</triggers>
- <arguments>
- <dictionary>
- <key>LaunchConfigHandle</key>
- <value><project>/.externalToolBuilders/Build Metadata Generator Ant Tasks.launch</value>
- </dictionary>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.metadata.generator/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9c85103..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,344 +0,0 @@
-#Thu Feb 21 15:21:23 EST 2008
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.metadata.generator/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index f873868..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,60 +0,0 @@
-#Thu Jan 24 12:13:40 EST 2008
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=true
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.metadata.generator/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 7913d20..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/CDC-1.0_Foundation-1.0.profile b/bundles/org.eclipse.equinox.p2.metadata.generator/CDC-1.0_Foundation-1.0.profile
deleted file mode 100644
index 1157a29..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/CDC-1.0_Foundation-1.0.profile
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-org.osgi.framework.system.packages = \
- javax.microedition.io
-org.osgi.framework.bootdelegation = \
- javax.microedition.io
-org.osgi.framework.executionenvironment = \
- OSGi/Minimum-1.0,\
- OSGi/Minimum-1.1,\
- CDC-1.0/Foundation-1.0
-osgi.java.profile.name = CDC-1.0/Foundation-1.0
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/CDC-1.1_Foundation-1.1.profile b/bundles/org.eclipse.equinox.p2.metadata.generator/CDC-1.1_Foundation-1.1.profile
deleted file mode 100644
index 374300a..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/CDC-1.1_Foundation-1.1.profile
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-org.osgi.framework.system.packages = \
- javax.microedition.io,\
- javax.microedition.pki,\
- javax.security.auth.x500
-org.osgi.framework.bootdelegation = \
- javax.microedition.io,\
- javax.microedition.pki,\
- javax.security.auth.x500
-org.osgi.framework.executionenvironment = \
- OSGi/Minimum-1.0,\
- OSGi/Minimum-1.1,\
- CDC-1.0/Foundation-1.0,\
- CDC-1.1/Foundation-1.1
-osgi.java.profile.name = CDC-1.1/Foundation-1.1
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/J2SE-1.2.profile b/bundles/org.eclipse.equinox.p2.metadata.generator/J2SE-1.2.profile
deleted file mode 100644
index 28f973a..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/J2SE-1.2.profile
+++ /dev/null
@@ -1,42 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-org.osgi.framework.system.packages = \
- javax.accessibility,\
- javax.swing,\
- javax.swing.border,\
- javax.swing.colorchooser,\
- javax.swing.event,\
- javax.swing.filechooser,\
- javax.swing.plaf,\
- javax.swing.plaf.basic,\
- javax.swing.plaf.metal,\
- javax.swing.plaf.multi,\
- javax.swing.table,\
- javax.swing.text,\
- javax.swing.text.html,\
- javax.swing.text.html.parser,\
- javax.swing.text.rtf,\
- javax.swing.tree,\
- javax.swing.undo,\
- org.omg.CORBA,\
- org.omg.CORBA.DynAnyPackage,\
- org.omg.CORBA.ORBPackage,\
- org.omg.CORBA.portable,\
- org.omg.CORBA.TypeCodePackage,\
- org.omg.CosNaming,\
- org.omg.CosNaming.NamingContextPackage
-org.osgi.framework.bootdelegation = \
- sun.*,\
- com.sun.*
-org.osgi.framework.executionenvironment = \
- JRE-1.1,\
- J2SE-1.2
-osgi.java.profile.name = J2SE-1.2
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/J2SE-1.3.profile b/bundles/org.eclipse.equinox.p2.metadata.generator/J2SE-1.3.profile
deleted file mode 100644
index b7dbdfa..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/J2SE-1.3.profile
+++ /dev/null
@@ -1,63 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-org.osgi.framework.system.packages = \
- javax.accessibility,\
- javax.naming,\
- javax.naming.directory,\
- javax.naming.event,\
- javax.naming.ldap,\
- javax.naming.spi,\
- javax.rmi,\
- javax.rmi.CORBA,\
- javax.sound.midi,\
- javax.sound.midi.spi,\
- javax.sound.sampled,\
- javax.sound.sampled.spi,\
- javax.swing,\
- javax.swing.border,\
- javax.swing.colorchooser,\
- javax.swing.event,\
- javax.swing.filechooser,\
- javax.swing.plaf,\
- javax.swing.plaf.basic,\
- javax.swing.plaf.metal,\
- javax.swing.plaf.multi,\
- javax.swing.table,\
- javax.swing.text,\
- javax.swing.text.html,\
- javax.swing.text.html.parser,\
- javax.swing.text.rtf,\
- javax.swing.tree,\
- javax.swing.undo,\
- javax.transaction,\
- org.omg.CORBA,\
- org.omg.CORBA_2_3,\
- org.omg.CORBA_2_3.portable,\
- org.omg.CORBA.DynAnyPackage,\
- org.omg.CORBA.ORBPackage,\
- org.omg.CORBA.portable,\
- org.omg.CORBA.TypeCodePackage,\
- org.omg.CosNaming,\
- org.omg.CosNaming.NamingContextPackage,\
- org.omg.SendingContext,\
- org.omg.stub.java.rmi
-org.osgi.framework.bootdelegation = \
- javax.*,\
- org.omg.*,\
- sun.*,\
- com.sun.*
-org.osgi.framework.executionenvironment = \
- OSGi/Minimum-1.0,\
- OSGi/Minimum-1.1,\
- JRE-1.1,\
- J2SE-1.2,\
- J2SE-1.3
-osgi.java.profile.name = J2SE-1.3
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/J2SE-1.4.profile b/bundles/org.eclipse.equinox.p2.metadata.generator/J2SE-1.4.profile
deleted file mode 100644
index b307c97..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/J2SE-1.4.profile
+++ /dev/null
@@ -1,118 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-org.osgi.framework.system.packages = \
- javax.accessibility,\
- javax.crypto,\
- javax.crypto.interfaces,\
- javax.crypto.spec,\
- javax.imageio,\
- javax.imageio.event,\
- javax.imageio.metadata,\
- javax.imageio.plugins.jpeg,\
- javax.imageio.spi,\
- javax.imageio.stream,\
- javax.naming,\
- javax.naming.directory,\
- javax.naming.event,\
- javax.naming.ldap,\
- javax.naming.spi,\
- javax.net,\
- javax.net.ssl,\
- javax.print,\
- javax.print.attribute,\
- javax.print.attribute.standard,\
- javax.print.event,\
- javax.rmi,\
- javax.rmi.CORBA,\
- javax.security.auth,\
- javax.security.auth.callback,\
- javax.security.auth.kerberos,\
- javax.security.auth.login,\
- javax.security.auth.spi,\
- javax.security.auth.x500,\
- javax.security.cert,\
- javax.sound.midi,\
- javax.sound.midi.spi,\
- javax.sound.sampled,\
- javax.sound.sampled.spi,\
- javax.sql,\
- javax.swing,\
- javax.swing.border,\
- javax.swing.colorchooser,\
- javax.swing.event,\
- javax.swing.filechooser,\
- javax.swing.plaf,\
- javax.swing.plaf.basic,\
- javax.swing.plaf.metal,\
- javax.swing.plaf.multi,\
- javax.swing.table,\
- javax.swing.text,\
- javax.swing.text.html,\
- javax.swing.text.html.parser,\
- javax.swing.text.rtf,\
- javax.swing.tree,\
- javax.swing.undo,\
- javax.transaction,\
- javax.transaction.xa,\
- javax.xml.parsers,\
- javax.xml.transform,\
- javax.xml.transform.dom,\
- javax.xml.transform.sax,\
- javax.xml.transform.stream,\
- org.ietf.jgss,\
- org.omg.CORBA,\
- org.omg.CORBA_2_3,\
- org.omg.CORBA_2_3.portable,\
- org.omg.CORBA.DynAnyPackage,\
- org.omg.CORBA.ORBPackage,\
- org.omg.CORBA.portable,\
- org.omg.CORBA.TypeCodePackage,\
- org.omg.CosNaming,\
- org.omg.CosNaming.NamingContextExtPackage,\
- org.omg.CosNaming.NamingContextPackage,\
- org.omg.Dynamic,\
- org.omg.DynamicAny,\
- org.omg.DynamicAny.DynAnyFactoryPackage,\
- org.omg.DynamicAny.DynAnyPackage,\
- org.omg.IOP,\
- org.omg.IOP.CodecFactoryPackage,\
- org.omg.IOP.CodecPackage,\
- org.omg.Messaging,\
- org.omg.PortableInterceptor,\
- org.omg.PortableInterceptor.ORBInitInfoPackage,\
- org.omg.PortableServer,\
- org.omg.PortableServer.CurrentPackage,\
- org.omg.PortableServer.POAManagerPackage,\
- org.omg.PortableServer.POAPackage,\
- org.omg.PortableServer.portable,\
- org.omg.PortableServer.ServantLocatorPackage,\
- org.omg.SendingContext,\
- org.omg.stub.java.rmi,\
- org.w3c.dom,\
- org.xml.sax,\
- org.xml.sax.ext,\
- org.xml.sax.helpers
-org.osgi.framework.bootdelegation = \
- javax.*,\
- org.ietf.jgss,\
- org.omg.*,\
- org.w3c.*,\
- org.xml.*,\
- sun.*,\
- com.sun.*
-org.osgi.framework.executionenvironment = \
- OSGi/Minimum-1.0,\
- OSGi/Minimum-1.1,\
- JRE-1.1,\
- J2SE-1.2,\
- J2SE-1.3,\
- J2SE-1.4
-osgi.java.profile.name = J2SE-1.4
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/J2SE-1.5.profile b/bundles/org.eclipse.equinox.p2.metadata.generator/J2SE-1.5.profile
deleted file mode 100644
index d23d6ca..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/J2SE-1.5.profile
+++ /dev/null
@@ -1,146 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-org.osgi.framework.system.packages = \
- javax.accessibility,\
- javax.activity,\
- javax.crypto,\
- javax.crypto.interfaces,\
- javax.crypto.spec,\
- javax.imageio,\
- javax.imageio.event,\
- javax.imageio.metadata,\
- javax.imageio.plugins.bmp,\
- javax.imageio.plugins.jpeg,\
- javax.imageio.spi,\
- javax.imageio.stream,\
- javax.management,\
- javax.management.loading,\
- javax.management.modelmbean,\
- javax.management.monitor,\
- javax.management.openmbean,\
- javax.management.relation,\
- javax.management.remote,\
- javax.management.remote.rmi,\
- javax.management.timer,\
- javax.naming,\
- javax.naming.directory,\
- javax.naming.event,\
- javax.naming.ldap,\
- javax.naming.spi,\
- javax.net,\
- javax.net.ssl,\
- javax.print,\
- javax.print.attribute,\
- javax.print.attribute.standard,\
- javax.print.event,\
- javax.rmi,\
- javax.rmi.CORBA,\
- javax.rmi.ssl,\
- javax.security.auth,\
- javax.security.auth.callback,\
- javax.security.auth.kerberos,\
- javax.security.auth.login,\
- javax.security.auth.spi,\
- javax.security.auth.x500,\
- javax.security.cert,\
- javax.security.sasl,\
- javax.servlet,\
- javax.servlet.http,\
- javax.sound.midi,\
- javax.sound.midi.spi,\
- javax.sound.sampled,\
- javax.sound.sampled.spi,\
- javax.sql,\
- javax.sql.rowset,\
- javax.sql.rowset.serial,\
- javax.sql.rowset.spi,\
- javax.swing,\
- javax.swing.border,\
- javax.swing.colorchooser,\
- javax.swing.event,\
- javax.swing.filechooser,\
- javax.swing.plaf,\
- javax.swing.plaf.basic,\
- javax.swing.plaf.metal,\
- javax.swing.plaf.multi,\
- javax.swing.plaf.synth,\
- javax.swing.table,\
- javax.swing.text,\
- javax.swing.text.html,\
- javax.swing.text.html.parser,\
- javax.swing.text.rtf,\
- javax.swing.tree,\
- javax.swing.undo,\
- javax.transaction,\
- javax.transaction.xa,\
- javax.xml,\
- javax.xml.datatype,\
- javax.xml.namespace,\
- javax.xml.parsers,\
- javax.xml.transform,\
- javax.xml.transform.dom,\
- javax.xml.transform.sax,\
- javax.xml.transform.stream,\
- javax.xml.validation,\
- javax.xml.xpath,\
- org.ietf.jgss,\
- org.omg.CORBA,\
- org.omg.CORBA_2_3,\
- org.omg.CORBA_2_3.portable,\
- org.omg.CORBA.DynAnyPackage,\
- org.omg.CORBA.ORBPackage,\
- org.omg.CORBA.portable,\
- org.omg.CORBA.TypeCodePackage,\
- org.omg.CosNaming,\
- org.omg.CosNaming.NamingContextExtPackage,\
- org.omg.CosNaming.NamingContextPackage,\
- org.omg.Dynamic,\
- org.omg.DynamicAny,\
- org.omg.DynamicAny.DynAnyFactoryPackage,\
- org.omg.DynamicAny.DynAnyPackage,\
- org.omg.IOP,\
- org.omg.IOP.CodecFactoryPackage,\
- org.omg.IOP.CodecPackage,\
- org.omg.Messaging,\
- org.omg.PortableInterceptor,\
- org.omg.PortableInterceptor.ORBInitInfoPackage,\
- org.omg.PortableServer,\
- org.omg.PortableServer.CurrentPackage,\
- org.omg.PortableServer.POAManagerPackage,\
- org.omg.PortableServer.POAPackage,\
- org.omg.PortableServer.portable,\
- org.omg.PortableServer.ServantLocatorPackage,\
- org.omg.SendingContext,\
- org.omg.stub.java.rmi,\
- org.w3c.dom,\
- org.w3c.dom.bootstrap,\
- org.w3c.dom.events,\
- org.w3c.dom.ls,\
- org.xml.sax,\
- org.xml.sax.ext,\
- org.xml.sax.helpers
-org.osgi.framework.bootdelegation = \
- javax.*,\
- org.ietf.jgss,\
- org.omg.*,\
- org.w3c.*,\
- org.xml.*,\
- sun.*,\
- com.sun.*
-org.osgi.framework.executionenvironment = \
- OSGi/Minimum-1.0,\
- OSGi/Minimum-1.1,\
- JRE-1.1,\
- J2SE-1.2,\
- J2SE-1.3,\
- J2SE-1.4,\
- J2SE-1.5
-osgi.java.profile.name = J2SE-1.5
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/JRE-1.1.profile b/bundles/org.eclipse.equinox.p2.metadata.generator/JRE-1.1.profile
deleted file mode 100644
index 9a8d8fd..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/JRE-1.1.profile
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-org.osgi.framework.system.packages =
-org.osgi.framework.bootdelegation = \
- sun.*,\
- com.sun.*
-org.osgi.framework.executionenvironment = \
- JRE-1.1
-osgi.java.profile.name = JRE-1.1
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/JavaSE-1.6.profile b/bundles/org.eclipse.equinox.p2.metadata.generator/JavaSE-1.6.profile
deleted file mode 100644
index 1c7abcb..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/JavaSE-1.6.profile
+++ /dev/null
@@ -1,145 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-org.osgi.framework.system.packages = \
- javax.accessibility,\
- javax.activity,\
- javax.crypto,\
- javax.crypto.interfaces,\
- javax.crypto.spec,\
- javax.imageio,\
- javax.imageio.event,\
- javax.imageio.metadata,\
- javax.imageio.plugins.bmp,\
- javax.imageio.plugins.jpeg,\
- javax.imageio.spi,\
- javax.imageio.stream,\
- javax.management,\
- javax.management.loading,\
- javax.management.modelmbean,\
- javax.management.monitor,\
- javax.management.openmbean,\
- javax.management.relation,\
- javax.management.remote,\
- javax.management.remote.rmi,\
- javax.management.timer,\
- javax.naming,\
- javax.naming.directory,\
- javax.naming.event,\
- javax.naming.ldap,\
- javax.naming.spi,\
- javax.net,\
- javax.net.ssl,\
- javax.print,\
- javax.print.attribute,\
- javax.print.attribute.standard,\
- javax.print.event,\
- javax.rmi,\
- javax.rmi.CORBA,\
- javax.rmi.ssl,\
- javax.security.auth,\
- javax.security.auth.callback,\
- javax.security.auth.kerberos,\
- javax.security.auth.login,\
- javax.security.auth.spi,\
- javax.security.auth.x500,\
- javax.security.cert,\
- javax.security.sasl,\
- javax.sound.midi,\
- javax.sound.midi.spi,\
- javax.sound.sampled,\
- javax.sound.sampled.spi,\
- javax.sql,\
- javax.sql.rowset,\
- javax.sql.rowset.serial,\
- javax.sql.rowset.spi,\
- javax.swing,\
- javax.swing.border,\
- javax.swing.colorchooser,\
- javax.swing.event,\
- javax.swing.filechooser,\
- javax.swing.plaf,\
- javax.swing.plaf.basic,\
- javax.swing.plaf.metal,\
- javax.swing.plaf.multi,\
- javax.swing.plaf.synth,\
- javax.swing.table,\
- javax.swing.text,\
- javax.swing.text.html,\
- javax.swing.text.html.parser,\
- javax.swing.text.rtf,\
- javax.swing.tree,\
- javax.swing.undo,\
- javax.transaction,\
- javax.transaction.xa,\
- javax.xml,\
- javax.xml.datatype,\
- javax.xml.namespace,\
- javax.xml.parsers,\
- javax.xml.transform,\
- javax.xml.transform.dom,\
- javax.xml.transform.sax,\
- javax.xml.transform.stream,\
- javax.xml.validation,\
- javax.xml.xpath,\
- org.ietf.jgss,\
- org.omg.CORBA,\
- org.omg.CORBA_2_3,\
- org.omg.CORBA_2_3.portable,\
- org.omg.CORBA.DynAnyPackage,\
- org.omg.CORBA.ORBPackage,\
- org.omg.CORBA.portable,\
- org.omg.CORBA.TypeCodePackage,\
- org.omg.CosNaming,\
- org.omg.CosNaming.NamingContextExtPackage,\
- org.omg.CosNaming.NamingContextPackage,\
- org.omg.Dynamic,\
- org.omg.DynamicAny,\
- org.omg.DynamicAny.DynAnyFactoryPackage,\
- org.omg.DynamicAny.DynAnyPackage,\
- org.omg.IOP,\
- org.omg.IOP.CodecFactoryPackage,\
- org.omg.IOP.CodecPackage,\
- org.omg.Messaging,\
- org.omg.PortableInterceptor,\
- org.omg.PortableInterceptor.ORBInitInfoPackage,\
- org.omg.PortableServer,\
- org.omg.PortableServer.CurrentPackage,\
- org.omg.PortableServer.POAManagerPackage,\
- org.omg.PortableServer.POAPackage,\
- org.omg.PortableServer.portable,\
- org.omg.PortableServer.ServantLocatorPackage,\
- org.omg.SendingContext,\
- org.omg.stub.java.rmi,\
- org.w3c.dom,\
- org.w3c.dom.bootstrap,\
- org.w3c.dom.events,\
- org.w3c.dom.ls,\
- org.xml.sax,\
- org.xml.sax.ext,\
- org.xml.sax.helpers
-org.osgi.framework.bootdelegation = \
- javax.*,\
- org.ietf.jgss,\
- org.omg.*,\
- org.w3c.*,\
- org.xml.*,\
- sun.*,\
- com.sun.*
-org.osgi.framework.executionenvironment = \
- OSGi/Minimum-1.0,\
- OSGi/Minimum-1.1,\
- JRE-1.1,\
- J2SE-1.2,\
- J2SE-1.3,\
- J2SE-1.4,\
- J2SE-1.5,\
- JavaSE-1.6
-osgi.java.profile.name = JavaSE-1.6
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.metadata.generator/META-INF/MANIFEST.MF
deleted file mode 100644
index dc57d2b..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,37 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.metadata.generator;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 1.0.1.qualifier
-Require-Bundle: org.eclipse.equinox.p2.core,
- org.eclipse.osgi,
- org.eclipse.equinox.common
-Import-Package: javax.xml.parsers,
- org.eclipse.equinox.app;version="1.0.0",
- org.eclipse.equinox.internal.frameworkadmin.equinox,
- org.eclipse.equinox.internal.frameworkadmin.utils,
- org.eclipse.equinox.internal.p2.artifact.repository,
- org.eclipse.equinox.internal.p2.metadata,
- org.eclipse.equinox.internal.p2.metadata.repository,
- org.eclipse.equinox.internal.provisional.frameworkadmin,
- org.eclipse.equinox.internal.provisional.p2.artifact.repository,
- org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.internal.provisional.p2.metadata.query,
- org.eclipse.equinox.internal.provisional.p2.metadata.repository,
- org.w3c.dom,
- org.xml.sax,
- org.xml.sax.helpers
-Bundle-Activator: org.eclipse.equinox.internal.p2.metadata.generator.Activator
-Export-Package: org.eclipse.equinox.internal.p2.metadata.generator;x-internal:=true,
- org.eclipse.equinox.internal.p2.metadata.generator.features;x-friends:="org.eclipse.equinox.p2.updatesite,org.eclipse.equinox.p2.directorywatcher,org.eclipse.equinox.p2.extensionlocation",
- org.eclipse.equinox.internal.provisional.p2.metadata.generator;
- x-friends:="org.eclipse.equinox.p2.ui.sdk,
- org.eclipse.equinox.p2.touchpoint.eclipse,
- org.eclipse.equinox.p2.directorywatcher,
- org.eclipse.equinox.p2.extensionlocation,
- org.eclipse.equinox.p2.updatesite"
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/Metadata Generator Plugins and Features.launch b/bundles/org.eclipse.equinox.p2.metadata.generator/Metadata Generator Plugins and Features.launch
deleted file mode 100644
index 68c4fe1..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/Metadata Generator Plugins and Features.launch
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/Metadata Generator Plugins and Features"/>
-<booleanAttribute key="default_auto_start" value="false"/>
-<intAttribute key="default_start_level" value="4"/>
-<booleanAttribute key="includeOptional" value="false"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-console -consolelog -application org.eclipse.equinox.p2.metadata.generator.EclipseGenerator -metadataRepository file:C:/equinox.p2/servers/ -artifactRepository file:C:/equinox.p2/servers/ -source d:/tmp/orbit/eclipse -publishArtifacts -append -noDefaultIUs"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="target_bundles" value="org.eclipse.equinox.security.win32.x86*1.0.0.v20080324@default:false,org.eclipse.core.runtime.compatibility.registry*3.2.200.v20070717@default:false,org.eclipse.osgi.services*3.1.200.v20071203@default:default,org.eclipse.ant.core*3.2.0.v20080319@default:default,org.eclipse.core.runtime*3.4.0.v20080324-1725@default:default,org.eclipse.equinox.preferences*3.2.200.v20080201@default:default,org.eclipse.core.contenttype*3.3.0.v20080414@default:default,org.eclipse.equinox.common*3.4.0.v20080407@default:default,org.eclipse.equinox.app*1.0.100.v20080331@default:true,org.eclipse.osgi*3.4.0.v20080414@:,org.eclipse.core.runtime.compatibility.auth*3.2.100.v20070502@default:default,org.eclipse.update.configurator*3.2.200.v20080404@default:default,org.eclipse.equinox.registry*3.4.0.v20080316@default:default,org.eclipse.equinox.security*1.0.0.v20080414@default:default,org.eclipse.core.jobs*3.4.0.v20080310@default:default,org.eclipse.core.variables*3.2.100.v20080324-1600@default:default"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<booleanAttribute key="useNamedJRE" value="true"/>
-<stringAttribute key="workspace_bundles" value="org.eclipse.ecf.provider.filetransfer.ssl*1.0.0.qualifier@default:false,org.eclipse.ecf.filetransfer*2.0.0.qualifier@default:default,org.eclipse.equinox.p2.core*0.1.0.qualifier@default:true,org.eclipse.equinox.frameworkadmin.equinox*0.1.0.qualifier@default:true,org.eclipse.equinox.p2.artifact.repository*0.1.0.qualifier@default:default,org.eclipse.equinox.p2.metadata*0.1.0.qualifier@default:default,org.eclipse.equinox.p2.engine*0.1.0.qualifier@default:default,org.eclipse.ecf.ssl*1.0.0.qualifier@default:false,org.eclipse.ecf*2.0.0.qualifier@default:default,org.eclipse.equinox.p2.metadata.repository*0.1.0.qualifier@default:default,org.eclipse.ecf.identity*2.0.0.qualifier@default:default,org.eclipse.equinox.p2.metadata.generator*0.1.0.qualifier@default:default,org.eclipse.equinox.frameworkadmin*0.1.0.qualifier@default:default,org.eclipse.ecf.provider.filetransfer*2.0.0.qualifier@default:default"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/Metadata Generator Update Site.launch b/bundles/org.eclipse.equinox.p2.metadata.generator/Metadata Generator Update Site.launch
deleted file mode 100644
index bb6ef0e..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/Metadata Generator Update Site.launch
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/Metadata Generator Update Site"/>
-<booleanAttribute key="default_auto_start" value="false"/>
-<intAttribute key="default_start_level" value="4"/>
-<booleanAttribute key="includeOptional" value="false"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-console -consolelog -application org.eclipse.equinox.p2.metadata.generator.EclipseGenerator -updateSite d:/ganymedeM5/ -site file:d:/ganymedeM5/site.xml -metadataRepository file:d:/ganymedeM5/ -metadataRepositoryName "Ganymede Update Site" -artifactRepository file:d:/ganymedeM5/ -artifactRepositoryName "Ganymede Artifacts" -append -compress -reusePack200Files"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="target_bundles" value="org.eclipse.core.runtime.compatibility.registry*3.2.200.v20070717@default:false,org.eclipse.equinox.common*3.4.0.v20080407@default:default,com.ibm.icu*3.8.1.v20080304@default:default,org.eclipse.osgi.services*3.1.200.v20071203@default:default,org.eclipse.equinox.launcher*1.0.100.v20080407@default:default,org.eclipse.equinox.preferences*3.2.200.v20080201@default:default,org.eclipse.update.configurator*3.2.200.v20080404@default:default,org.eclipse.equinox.launcher.win32.win32.x86*1.0.100.v20080407@default:false,org.eclipse.equinox.app*1.0.100.v20080331@default:true,org.eclipse.osgi*3.4.0.v20080407@:,org.eclipse.core.runtime.compatibility.auth*3.2.100.v20070502@default:default,org.eclipse.equinox.security.win32.x86*1.0.0.v20080324@default:false,org.eclipse.core.jobs*3.4.0.v20080310@default:default,org.eclipse.equinox.registry*3.4.0.v20080316@default:default,org.eclipse.equinox.security*1.0.0.v20080407@default:default,org.eclipse.core.variables*3.2.100.v20080324-1600@default:default,org.eclipse.core.runtime*3.4.0.v20080324-1725@default:default,org.eclipse.core.contenttype*3.3.0.v20080407@default:default,org.eclipse.ant.core*3.2.0.v20080319@default:default,org.eclipse.core.net*1.0.100.I20080322@default:default"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<booleanAttribute key="useNamedJRE" value="true"/>
-<stringAttribute key="workspace_bundles" value="org.eclipse.equinox.p2.metadata.generator*0.1.0.qualifier@default:default,org.eclipse.equinox.p2.metadata*0.1.0.qualifier@default:default,org.eclipse.ecf.provider.filetransfer*2.0.0.qualifier@default:default,org.eclipse.ecf*2.0.0.qualifier@default:default,org.eclipse.equinox.p2.artifact.repository*0.1.0.qualifier@default:default,org.eclipse.ecf.filetransfer*2.0.0.qualifier@default:default,org.eclipse.equinox.frameworkadmin*0.1.0.qualifier@default:default,org.eclipse.equinox.p2.core*0.1.0.qualifier@default:default,org.eclipse.equinox.p2.engine*0.1.0.qualifier@default:default,org.eclipse.ecf.identity*2.0.0.qualifier@default:default,org.eclipse.equinox.frameworkadmin.equinox*0.1.0.qualifier@default:true,org.eclipse.equinox.p2.metadata.repository*0.1.0.qualifier@default:default"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/OSGi_Minimum-1.0.profile b/bundles/org.eclipse.equinox.p2.metadata.generator/OSGi_Minimum-1.0.profile
deleted file mode 100644
index d8c2d3f..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/OSGi_Minimum-1.0.profile
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-org.osgi.framework.system.packages =
-org.osgi.framework.bootdelegation = \
- sun.*,\
- com.sun.*
-org.osgi.framework.executionenvironment = \
- OSGi/Minimum-1.0
-osgi.java.profile.name = OSGi/Minimum-1.0
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/OSGi_Minimum-1.1.profile b/bundles/org.eclipse.equinox.p2.metadata.generator/OSGi_Minimum-1.1.profile
deleted file mode 100644
index 2d8b661..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/OSGi_Minimum-1.1.profile
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-org.osgi.framework.system.packages =
-org.osgi.framework.bootdelegation = \
- sun.*,\
- com.sun.*
-org.osgi.framework.executionenvironment = \
- OSGi/Minimum-1.0,\
- OSGi/Minimum-1.1
-osgi.java.profile.name = OSGi/Minimum-1.1
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/about.html b/bundles/org.eclipse.equinox.p2.metadata.generator/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 2, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/build.properties b/bundles/org.eclipse.equinox.p2.metadata.generator/build.properties
deleted file mode 100644
index ca56ce6..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/build.properties
+++ /dev/null
@@ -1,33 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-source.ant_tasks/generator-ant.jar=src_ant/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- about.html,\
- OSGi_Minimum-1.1.profile,\
- OSGi_Minimum-1.0.profile,\
- JavaSE-1.6.profile,\
- JRE-1.1.profile,\
- J2SE-1.5.profile,\
- J2SE-1.4.profile,\
- J2SE-1.3.profile,\
- J2SE-1.2.profile,\
- CDC-1.1_Foundation-1.1.profile,\
- CDC-1.0_Foundation-1.0.profile,\
- plugin.xml,\
- ant_tasks/generator-ant.jar,\
- plugin.properties
-src.includes = about.html
-jars.compile.order=.,ant_tasks/generator-ant.jar
-extra.ant_tasks/generator-ant.jar = platform:/plugin/org.apache.ant
-jars.extra.classpath = platform:/plugin/org.apache.ant/lib/ant.jar
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/config.ini b/bundles/org.eclipse.equinox.p2.metadata.generator/config.ini
deleted file mode 100644
index ec13298..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/config.ini
+++ /dev/null
@@ -1,57 +0,0 @@
-# Eclipse runtime configuration file
-# This file contains a number of key/value pairs that are merged into the
-# System properties on system startup. The values control the way the
-# runtime is structured and runs.
-
-# Note: Only platform:/base/ and file: URLs are supported. In general the
-# URLs given may include a version number (e.g., .../location_1.2.3).
-# If a version is not specified, the system binds
-# to the location which matches exactly or to the versioned location with the
-# latest version number. If a version number is given then only exact matches
-# are considered.
-
-# The URL for the runtime entry point. The default value is
-# platform:/base/plugins/org.eclipse.osgi
-#osgi.framework=platform:/base/plugins/org.eclipse.osgi
-
-# The classpath for the framework found at the osgi.framework location. This
-# comma-separated list contains either URLs or simple element names. Simple
-# names are assumed to be relative to the framework's install directory.
-# Typically this value need not be set as it is initialized by the framework itself.
-# Version match searching is not done for URLs listed here.
-#osgi.frameworkClassPath =
-
-# The comma-separated list of locations to search for the splash screen file (splash.bmp).
-# For each list element a subdirectory structure based on the pattern nl/<locale> is searched.
-# The system binds to the first matching file. There is no default value.
-#osgi.splashPath=
-
-# The location of the splash screen file. If this value is set at system startup it is used
-# in favour of the osgi.splashPath searching outlined above. If the value is not set
-# the searching is done and this key is bound to the result of the search.
-#osgi.splashLocation =
-
-# The comma-separated list of bundles which are automatically installed and optionally started
-# once the system is up and running. Each entry if of the form
-# <URL | simple bundle location>[@ [<startlevel>] [":start"]]
-# If the startlevel is omitted then the framework will use the default start level for the bundle.
-# If the "start" tag is added then the bundle will be marked as started after being installed.
-# Simple bundle locations are interepreted as relative to the framework's parent directory.
-# The startlevel indicates the OSGi start level at which the bundle should run.
-osgi.bundles=org.eclipse.equinox.common@2:start, org.eclipse.update.configurator@3:start, org.eclipse.core.runtime@start,org.eclipse.equinox.frameworkadmin.equinox@start
-
-# The product to run. A given Eclipse configuration may contain many products.
-# The product identified will supply the branding (window icons, title bar text) etc
-# as well as define the default application to run.
-#eclipse.product=
-
-# The application to run. The value specified here is the id of the application extension
-# the runtime will find, instantiate and execute once the system is up. Note that typically
-# the identified eclipse.product defines the default application to run.
-#eclipse.application=
-
-# The build identifier
-eclipse.buildId=@build@
-
-# End of file marker - must be here
-eof=eof
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/generator.product b/bundles/org.eclipse.equinox.p2.metadata.generator/generator.product
deleted file mode 100644
index 1e313cd..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/generator.product
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.1"?>
-
-<product name="Equinox Provisioning Metadata Generator" id="org.eclipse.equinox.p2.metadata.generator.product" application="org.eclipse.equinox.p2.metadata.generator.EclipseGenerator" useFeatures="true">
-
- <configIni use="custom" path="/org.eclipse.equinox.p2.metadata.generator/config.ini"/>
-
- <launcherArgs>
- <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>
- </launcherArgs>
-
- <launcher name="eclipse">
- <solaris/>
- <win useIco="false">
- <bmp/>
- </win>
- </launcher>
-
- <vm>
- </vm>
-
- <plugins>
- </plugins>
-
- <features>
- <feature id="org.eclipse.equinox.p2.generator.feature" version="0.0.0"/>
- <feature id="org.eclipse.rcp" version="0.0.0"/>
- </features>
-
-</product>
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/p2-izer update site.launch b/bundles/org.eclipse.equinox.p2.metadata.generator/p2-izer update site.launch
deleted file mode 100644
index 7ad55f2..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/p2-izer update site.launch
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/p2-izer update site"/>
-<booleanAttribute key="default_auto_start" value="false"/>
-<intAttribute key="default_start_level" value="4"/>
-<booleanAttribute key="includeOptional" value="false"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-console -consolelog -application org.eclipse.equinox.p2.metadata.generator.EclipseGenerator -metadataRepository file:d:/ganymedeM5/ -artifactRepository file:d:/ganymedeM5/ -updateSite d:/ganymedeM5/ -site file:d:/ganymedeM5/site.xml -flavor tooling -append -reusePack200Files -compress"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="target_bundles" value="org.eclipse.equinox.app*1.0.100.v20080303@default:true,org.eclipse.equinox.preferences*3.2.200.v20080201@default:default,org.eclipse.update.configurator*3.2.200.v20080107@default:default,org.eclipse.core.runtime.compatibility.registry*3.2.200.v20070717@default:false,org.eclipse.core.runtime*3.4.0.v20080303@default:default,org.eclipse.core.jobs*3.3.100.v20080224@default:default,org.eclipse.equinox.launcher.win32.win32.x86*1.0.100.v20080201a@default:false,com.ibm.icu*3.8.1.v20080103@default:default,org.eclipse.equinox.launcher*1.0.100.v20080303@default:default,org.eclipse.equinox.common*3.4.0.v20080201@default:default,org.eclipse.osgi.services*3.1.200.v20071203@default:default,org.eclipse.osgi*3.4.0.v20080304@:,org.eclipse.equinox.launcher.win32.win32.x86*1.0.100.v20080201a@default:false,org.eclipse.equinox.registry*3.4.0.v20080201@default:default,org.eclipse.equinox.launcher*1.0.100.v20080303@default:default,org.eclipse.core.contenttype*3.3.0.v20080201@default:default"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<booleanAttribute key="useNamedJRE" value="true"/>
-<stringAttribute key="workspace_bundles" value="org.eclipse.equinox.p2.metadata.generator*0.1.0.qualifier@default:default,org.eclipse.equinox.frameworkadmin*0.1.0.qualifier@default:default,org.eclipse.equinox.p2.core*0.1.0.qualifier@default:default,org.eclipse.equinox.p2.metadata*0.1.0.qualifier@default:default,org.eclipse.ecf*1.4.0.qualifier@default:default,org.eclipse.equinox.p2.artifact.repository*0.1.0.qualifier@default:default,org.eclipse.equinox.frameworkadmin.equinox*0.1.0.qualifier@default:true,org.eclipse.equinox.p2.metadata.repository*0.1.0.qualifier@default:default,org.eclipse.equinox.p2.engine*0.1.0.qualifier@default:default,org.eclipse.ecf.filetransfer*2.0.0.qualifier@default:default,org.eclipse.ecf.identity*1.3.0.qualifier@default:default"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/plugin.properties b/bundles/org.eclipse.equinox.p2.metadata.generator/plugin.properties
deleted file mode 100644
index 00ebd73..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Equinox Provisioning Metadata Generator
-providerName = Eclipse.org
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/plugin.xml b/bundles/org.eclipse.equinox.p2.metadata.generator/plugin.xml
deleted file mode 100644
index b73a51f..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/plugin.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<plugin>
- <extension
- id="EclipseGenerator"
- point="org.eclipse.core.runtime.applications">
- <application
- cardinality="1"
- thread="main"
- visible="true">
- <run
- class="org.eclipse.equinox.internal.p2.metadata.generator.EclipseGeneratorApplication">
- </run>
- </application>
- </extension>
- <extension
- id="product"
- point="org.eclipse.core.runtime.products">
- <product
- application="org.eclipse.equinox.p2.metadata.generator.EclipseGenerator"
- name="Equinox Provisioning Metadata Generator">
- </product>
- </extension>
-
- <extension point="org.eclipse.ant.core.antTasks">
- <antTask
- library="ant_tasks/generator-ant.jar"
- name="p2.generator"
- class="org.eclipse.equinox.internal.p2.metadata.generator.ant.GeneratorTask">
- </antTask>
- </extension>
-
- <extension point="org.eclipse.ant.core.extraClasspathEntries">
- <extraClasspathEntry library="ant_tasks/generator-ant.jar"/>
- </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/scripts/buildExtraJAR.xml b/bundles/org.eclipse.equinox.p2.metadata.generator/scripts/buildExtraJAR.xml
deleted file mode 100644
index 7820664..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/scripts/buildExtraJAR.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="org.eclipse.core.resources" default="main" basedir="..">
-
- <target name="main" depends="clean, ant_tasks/generator-ant.jar">
- </target>
-
- <target name="init" depends="properties">
- <property name="plugin" value="org.eclipse.equinox.p2.generator.app"/>
- <property name="temp.folder" value="${basedir}/temp.folder"/>
- <property name="plugin.destination" value="${basedir}"/>
- <property name="build.result.folder" value="${basedir}/ant_tasks"/>
- <property name="version.suffix" value="_3.1.0"/>
- </target>
-
- <target name="properties" if="eclipse.running">
- <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
- </target>
-
- <target name="ant_tasks/generator-ant.jar" depends="init" unless="ant_tasks/generator-ant.jar">
- <property name="destdir" value="${temp.folder}/ant_tasks/generator-ant.jar.bin"/>
- <delete dir="${temp.folder}/ant_tasks/generator-ant.jar.bin"/>
- <mkdir dir="${temp.folder}/ant_tasks/generator-ant.jar.bin"/>
- <!-- compile the source code -->
- <javac destdir="${temp.folder}/ant_tasks/generator-ant.jar.bin" failonerror="true" verbose="true" debug="on">
- <classpath>
- <dirset dir="${basedir}/..">
- <include name="org.eclipse.equinox.p2.metadata.generator/bin"/>
- <include name="org.eclipse.osgi/bin"/>
- </dirset>
- <fileset dir="${eclipse.home}">
- <include name="plugins/org.eclipse.equinox.p2.metadata.generator*.jar"/>
- <include name="plugins/org.eclipse.osgi*.jar"/>
- </fileset>
- </classpath>
- <src path="src_ant/"/>
- </javac>
- <!-- copy necessary resources -->
- <copy todir="${temp.folder}/ant_tasks/generator-ant.jar.bin">
- <fileset dir="src_ant/" excludes="**/*.java"/>
- </copy>
- <mkdir dir="${build.result.folder}"/>
- <jar jarfile="${build.result.folder}/generator-ant.jar" basedir="${temp.folder}/ant_tasks/generator-ant.jar.bin"/>
- <delete dir="${temp.folder}/ant_tasks/generator-ant.jar.bin"/>
- <delete dir="${temp.folder}"/>
- </target>
-
- <target name="clean" depends="init">
- <delete file="${build.result.folder}/generator-ant.jar"/>
- <delete dir="${temp.folder}"/>
- </target>
-</project>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/Activator.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/Activator.java
deleted file mode 100644
index 5c2cb2c..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/Activator.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.generator;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
- public static BundleContext context = null;
- public static String ID = "org.eclipse.equinox.p2.metadata.generator"; //$NON-NLS-1$
-
- public static BundleContext getContext() {
- return context;
- }
-
- public void start(BundleContext context) throws Exception {
- Activator.context = context;
- }
-
- public void stop(BundleContext context) throws Exception {
- Activator.context = null;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/EclipseGeneratorApplication.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/EclipseGeneratorApplication.java
deleted file mode 100644
index c226a07..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/EclipseGeneratorApplication.java
+++ /dev/null
@@ -1,451 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.generator;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.equinox.internal.p2.artifact.repository.ArtifactRepositoryManager;
-import org.eclipse.equinox.internal.p2.core.ProvisioningEventBus;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepository;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.EclipseInstallGeneratorInfoProvider;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.Generator;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.ServiceRegistration;
-
-public class EclipseGeneratorApplication implements IApplication {
-
- // The mapping rules for in-place generation need to construct paths into the structure
- // of an eclipse installation; in the future the default artifact mapping declared in
- // SimpleArtifactRepository may change, for example, to not have a 'bundles' directory
- // instead of a 'plugins' directory, so a separate constant is defined and used here.
- static final private String[][] INPLACE_MAPPING_RULES = { {"(& (classifier=osgi.bundle) (format=packed)", "${repoUrl}/features/${id}_${version}.jar.pack.gz"}, //$NON-NLS-1$//$NON-NLS-2$
- {"(& (classifier=org.eclipse.update.feature))", "${repoUrl}/features/${id}_${version}.jar"}, //$NON-NLS-1$//$NON-NLS-2$
- {"(& (classifier=osgi.bundle))", "${repoUrl}/plugins/${id}_${version}.jar"}, //$NON-NLS-1$//$NON-NLS-2$
- {"(& (classifier=binary))", "${repoUrl}/binary/${id}_${version}"}}; //$NON-NLS-1$//$NON-NLS-2$
-
- static final public String PUBLISH_PACK_FILES_AS_SIBLINGS = "publishPackFilesAsSiblings"; //$NON-NLS-1$
-
- private ArtifactRepositoryManager defaultArtifactManager;
- private ServiceRegistration registrationDefaultArtifactManager;
- private MetadataRepositoryManager defaultMetadataManager;
- private ServiceRegistration registrationDefaultMetadataManager;
- private IProvisioningEventBus bus;
- private ServiceRegistration registrationBus;
- private Generator.GeneratorResult incrementalResult = null;
- private boolean generateRootIU = true;
- private String metadataLocation;
- private String metadataRepoName;
- private String artifactLocation;
- private String artifactRepoName;
- private String operation;
- private String argument;
- private String features;
- private String bundles;
- private String base;
- //whether repository xml files should be compressed
- private String compress = "false"; //$NON-NLS-1$
-
- private File getExecutableName(String base, EclipseInstallGeneratorInfoProvider provider) {
- File location = provider.getExecutableLocation();
- if (location == null)
- return new File(base, EclipseInstallGeneratorInfoProvider.getDefaultExecutableName(null));
- if (location.isAbsolute())
- return location;
- return new File(base, location.getPath());
- }
-
- private void initialize(EclipseInstallGeneratorInfoProvider provider) throws ProvisionException {
- if ("-source".equalsIgnoreCase(operation)) //$NON-NLS-1$
- provider.initialize(new File(argument));
- else if ("-inplace".equalsIgnoreCase(operation)) { //$NON-NLS-1$
- provider.initialize(new File(argument));
- initializeForInplace(provider);
- } else if ("-config".equalsIgnoreCase(operation)) { //$NON-NLS-1$
- provider.initialize(new File(argument), new File(argument, "configuration"), getExecutableName(argument, provider), null, null); //$NON-NLS-1$
- } else if ("-updateSite".equalsIgnoreCase(operation)) { //$NON-NLS-1$
- provider.setAddDefaultIUs(false);
- provider.initialize(new File(argument), null, null, new File[] {new File(argument, "plugins")}, new File(argument, "features")); //$NON-NLS-1$ //$NON-NLS-2$
- initializeForInplace(provider);
- } else {
- // base is set but we expect everything else to have been set using
- // explicit args. Note that if we are coming in via an Ant task, we have
- // to ensure all the values are passed in
- if (base != null) {
- File[] bundlesLocation = bundles == null ? null : new File[] {new File(bundles)};
- File featuresLocation = features == null ? null : new File(features);
- provider.initialize(new File(base), null, null, bundlesLocation, featuresLocation);
- }
- }
- initializeRepositories(provider);
- }
-
- private void initializeArtifactRepository(EclipseInstallGeneratorInfoProvider provider) throws ProvisionException {
- if (artifactLocation == null)
- return;
- IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(Activator.context, IArtifactRepositoryManager.class.getName());
- URL location;
- try {
- location = new URL(artifactLocation);
- } catch (MalformedURLException e) {
- throw new IllegalArgumentException(NLS.bind(Messages.exception_artifactRepoLocationURL, artifactLocation));
- }
-
- String repositoryName = (artifactRepoName != null && artifactRepoName.length() > 0) ? artifactRepoName : artifactLocation + " - artifacts"; //$NON-NLS-1$
- Map properties = new HashMap(1);
- properties.put(IRepository.PROP_COMPRESSED, compress);
- if (provider.reuseExistingPack200Files())
- properties.put(PUBLISH_PACK_FILES_AS_SIBLINGS, Boolean.TRUE.toString());
- IArtifactRepository result = null;
- try {
- result = manager.createRepository(location, repositoryName, IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, properties);
- manager.removeRepository(location);
- provider.setArtifactRepository(result);
- return;
- } catch (ProvisionException e) {
- //fall through a load existing repo
- }
-
- IArtifactRepository repository = manager.loadRepository(location, null);
- if (repository != null) {
- manager.removeRepository(location);
- if (!repository.isModifiable())
- throw new IllegalArgumentException(NLS.bind(Messages.exception_artifactRepoNotWritable, location));
- provider.setArtifactRepository(repository);
- if (provider.reuseExistingPack200Files())
- repository.setProperty(PUBLISH_PACK_FILES_AS_SIBLINGS, "true"); //$NON-NLS-1$
- if (!provider.append()) {
- File repoLocation = new File(location.getPath());
- if (repoLocation.isFile())
- repoLocation = repoLocation.getParentFile();
- if (repoLocation.equals(provider.getBaseLocation()))
- throw new IllegalArgumentException(NLS.bind(Messages.exception_artifactRepoNoAppendDestroysInput, location));
-
- repository.removeAll();
- }
- }
- return;
- }
-
- public void initializeForInplace(EclipseInstallGeneratorInfoProvider provider) {
- File location = provider.getBaseLocation();
- if (location == null)
- location = provider.getBundleLocations()[0];
- try {
- metadataLocation = location.toURL().toExternalForm();
- artifactLocation = location.toURL().toExternalForm();
- } catch (MalformedURLException e) {
- // ought not happen...
- }
- provider.setPublishArtifactRepository(true);
- provider.setPublishArtifacts(false);
- provider.setAppend(true);
- provider.setMappingRules(INPLACE_MAPPING_RULES);
- }
-
- private void initializeMetadataRepository(EclipseInstallGeneratorInfoProvider provider) throws ProvisionException {
- if (metadataLocation == null)
- return;
- URL location;
- try {
- location = new URL(metadataLocation);
- } catch (MalformedURLException e) {
- throw new IllegalArgumentException(NLS.bind(Messages.exception_metadataRepoLocationURL, metadataLocation));
- }
-
- // First try to create a simple repo, this will fail if one already exists
- // We try creating a repo first instead of just loading what is there because we don't want a repo based
- // on a site.xml if there is one there.
-
- String repositoryName = (metadataRepoName == null || metadataRepoName.length() == 0) ? metadataLocation + " - metadata" : metadataRepoName; //$NON-NLS-1$
- Map properties = new HashMap(1);
- properties.put(IRepository.PROP_COMPRESSED, compress);
-
- IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(Activator.context, IMetadataRepositoryManager.class.getName());
- try {
- IMetadataRepository result = manager.createRepository(location, repositoryName, IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, properties);
- manager.removeRepository(location);
- provider.setMetadataRepository(result);
- return;
- } catch (ProvisionException e) {
- //fall through and load the existing repo
- }
-
- IMetadataRepository repository = manager.loadRepository(location, null);
- if (repository != null) {
- manager.removeRepository(location);
- // don't set the compress flag here because we don't want to change the format
- // of an already existing repository
- if (!repository.isModifiable())
- throw new IllegalArgumentException(NLS.bind(Messages.exception_metadataRepoNotWritable, location));
- provider.setMetadataRepository(repository);
- if (!provider.append())
- repository.removeAll();
- return;
- }
- }
-
- private void initializeRepositories(EclipseInstallGeneratorInfoProvider provider) throws ProvisionException {
- initializeArtifactRepository(provider);
- initializeMetadataRepository(provider);
- }
-
- public void setCompress(String value) {
- if (Boolean.valueOf(value).booleanValue())
- compress = "true"; //$NON-NLS-1$
- }
-
- public void processCommandLineArguments(String[] args, EclipseInstallGeneratorInfoProvider provider) throws Exception {
- if (args == null)
- return;
- for (int i = 0; i < args.length; i++) {
- // check for args without parameters (i.e., a flag arg)
-
- if (args[i].equalsIgnoreCase("-publishArtifacts") || args[i].equalsIgnoreCase("-pa")) //$NON-NLS-1$ //$NON-NLS-2$
- provider.setPublishArtifacts(true);
-
- if (args[i].equalsIgnoreCase("-publishArtifactRepository") || args[i].equalsIgnoreCase("-par")) //$NON-NLS-1$ //$NON-NLS-2$
- provider.setPublishArtifactRepository(true);
-
- if (args[i].equalsIgnoreCase("-append")) //$NON-NLS-1$
- provider.setAppend(true);
-
- if (args[i].equalsIgnoreCase("-noDefaultIUs")) //$NON-NLS-1$
- provider.setAddDefaultIUs(false);
-
- if (args[i].equalsIgnoreCase("-compress")) //$NON-NLS-1$
- compress = "true"; //$NON-NLS-1$
-
- if (args[i].equalsIgnoreCase("-reusePack200Files")) //$NON-NLS-1$
- provider.reuseExistingPack200Files(true);
-
- // check for args with parameters. If we are at the last argument or if the next one
- // has a '-' as the first character, then we can't have an arg with a parm so continue.
- if (i == args.length - 1 || args[i + 1].startsWith("-")) //$NON-NLS-1$
- continue;
- String arg = args[++i];
-
- if (args[i - 1].equalsIgnoreCase("-source")) { //$NON-NLS-1$
- operation = args[i - 1];
- argument = arg;
- }
-
- if (args[i - 1].equalsIgnoreCase("-inplace")) { //$NON-NLS-1$
- operation = args[i - 1];
- argument = arg;
- }
-
- if (args[i - 1].equalsIgnoreCase("-config")) { //$NON-NLS-1$
- operation = args[i - 1];
- argument = arg;
- }
- if (args[i - 1].equalsIgnoreCase("-updateSite")) { //$NON-NLS-1$
- operation = args[i - 1];
- argument = arg;
- }
-
- if (args[i - 1].equalsIgnoreCase("-exe")) //$NON-NLS-1$
- provider.setExecutableLocation(arg);
-
- if (args[i - 1].equalsIgnoreCase("-launcherConfig")) //$NON-NLS-1$
- provider.setLauncherConfig(arg);
-
- if (args[i - 1].equalsIgnoreCase("-metadataRepository") || args[i - 1].equalsIgnoreCase("-mr")) //$NON-NLS-1$ //$NON-NLS-2$
- metadataLocation = arg;
-
- if (args[i - 1].equalsIgnoreCase("-metadataRepositoryName")) //$NON-NLS-1$
- metadataRepoName = arg;
-
- if (args[i - 1].equalsIgnoreCase("-artifactRepository") | args[i - 1].equalsIgnoreCase("-ar")) //$NON-NLS-1$ //$NON-NLS-2$
- artifactLocation = arg;
-
- if (args[i - 1].equalsIgnoreCase("-artifactRepositoryName")) //$NON-NLS-1$
- artifactRepoName = arg;
-
- if (args[i - 1].equalsIgnoreCase("-flavor")) //$NON-NLS-1$
- provider.setFlavor(arg);
-
- if (args[i - 1].equalsIgnoreCase("-productFile")) //$NON-NLS-1$
- provider.setProductFile(arg);
-
- if (args[i - 1].equalsIgnoreCase("-features")) //$NON-NLS-1$
- features = arg;
-
- if (args[i - 1].equalsIgnoreCase("-bundles")) //$NON-NLS-1$
- bundles = arg;
-
- if (args[i - 1].equalsIgnoreCase("-base")) //$NON-NLS-1$
- base = arg;
-
- if (args[i - 1].equalsIgnoreCase("-root")) //$NON-NLS-1$
- provider.setRootId(arg);
-
- if (args[i - 1].equalsIgnoreCase("-rootVersion")) //$NON-NLS-1$
- provider.setRootVersion(arg);
-
- if (args[i - 1].equalsIgnoreCase("-p2.os")) //$NON-NLS-1$
- provider.setOS(arg);
-
- if (args[i - 1].equalsIgnoreCase("-site")) //$NON-NLS-1$
- provider.setSiteLocation(new URL(arg));
- }
- }
-
- private void registerDefaultArtifactRepoManager() {
- if (ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.class.getName()) == null) {
- defaultArtifactManager = new ArtifactRepositoryManager();
- registrationDefaultArtifactManager = Activator.getContext().registerService(IArtifactRepositoryManager.class.getName(), defaultArtifactManager, null);
- }
- }
-
- private void registerDefaultMetadataRepoManager() {
- if (ServiceHelper.getService(Activator.getContext(), IMetadataRepositoryManager.class.getName()) == null) {
- defaultMetadataManager = new MetadataRepositoryManager();
- registrationDefaultMetadataManager = Activator.getContext().registerService(IMetadataRepositoryManager.class.getName(), defaultMetadataManager, null);
- }
- }
-
- private void registerEventBus() {
- if (ServiceHelper.getService(Activator.getContext(), IProvisioningEventBus.SERVICE_NAME) == null) {
- bus = new ProvisioningEventBus();
- registrationBus = Activator.getContext().registerService(IProvisioningEventBus.SERVICE_NAME, bus, null);
- }
- }
-
- public Object run(String args[]) throws Exception {
- EclipseInstallGeneratorInfoProvider provider = new EclipseInstallGeneratorInfoProvider();
- processCommandLineArguments(args, provider);
- Object result = run(provider);
- if (result != IApplication.EXIT_OK)
- for (int i = 0; i < args.length; i++)
- System.out.println(args[i]);
- return result;
- }
-
- public Object run(EclipseInstallGeneratorInfoProvider provider) throws Exception {
- registerEventBus();
- registerDefaultMetadataRepoManager();
- registerDefaultArtifactRepoManager();
- initialize(provider);
-
- if (provider.getBaseLocation() == null && provider.getProductFile() == null && !generateRootIU) {
- System.out.println(Messages.exception_baseLocationNotSpecified);
- return new Integer(-1);
- }
-
- // if we asked for artifacts to be published in some form, there must be a repo given
- if ((provider.publishArtifactRepository() || provider.publishArtifacts()) && provider.getArtifactRepository() == null) {
- System.out.println(Messages.exception_artifactRepoNotSpecified);
- return new Integer(-1);
- }
-
- if (provider.getMetadataRepository() == null) {
- System.out.println(Messages.exception_metadataRepoNotSpecified);
- return new Integer(-1);
- }
-
- System.out.println(NLS.bind(Messages.message_generatingMetadata, provider.getBaseLocation()));
-
- long before = System.currentTimeMillis();
- IStatus result = generate(provider);
-
- long after = System.currentTimeMillis();
- if (result.isOK()) {
- System.out.println(NLS.bind(Messages.message_generationCompleted, String.valueOf((after - before) / 1000)));
- return IApplication.EXIT_OK;
- }
- System.out.println(result);
- return new Integer(1);
- }
-
- protected IStatus generate(EclipseInstallGeneratorInfoProvider provider) {
- Generator generator = new Generator(provider);
- if (incrementalResult != null)
- generator.setIncrementalResult(incrementalResult);
- generator.setGenerateRootIU(generateRootIU);
- IStatus result = generator.generate();
- incrementalResult = null;
- return result;
- }
-
- public Object start(IApplicationContext context) throws Exception {
- return run((String[]) context.getArguments().get("application.args")); //$NON-NLS-1$
- }
-
- public void stop() {
- if (registrationDefaultMetadataManager != null) {
- registrationDefaultMetadataManager.unregister();
- registrationDefaultMetadataManager = null;
- }
- if (registrationDefaultArtifactManager != null) {
- registrationDefaultArtifactManager.unregister();
- registrationDefaultArtifactManager = null;
- }
- if (registrationBus != null) {
- registrationBus.unregister();
- registrationBus = null;
- }
- }
-
- public void setBase(String base) {
- this.base = base;
- }
-
- public void setArtifactLocation(String location) {
- this.artifactLocation = location;
- }
-
- public void setBundles(String bundles) {
- this.bundles = bundles;
- }
-
- public void setOperation(String operation, String argument) {
- this.operation = operation;
- this.argument = argument;
- }
-
- public void setFeatures(String features) {
- this.features = features;
- }
-
- public void setMetadataLocation(String location) {
- this.metadataLocation = location;
- }
-
- public void setMetadataRepositoryName(String name) {
- this.metadataRepoName = name;
- }
-
- public void setArtifactRepositoryName(String name) {
- this.artifactRepoName = name;
- }
-
- public void setIncrementalResult(Generator.GeneratorResult ius) {
- this.incrementalResult = ius;
- }
-
- public void setGeneratorRootIU(boolean b) {
- this.generateRootIU = b;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/LocalizationHelper.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/LocalizationHelper.java
deleted file mode 100644
index deeae27..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/LocalizationHelper.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.generator;
-
-import java.io.*;
-import java.net.URL;
-import java.net.URLConnection;
-import java.util.*;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-/**
- * Helper functions supporting the processing of localized
- * property files.
- *
- */
-public final class LocalizationHelper {
-
- private static final String PROPERTIES_FILE_EXTENSION = ".properties"; //$NON-NLS-1$
- private static final Locale DEFAULT_LOCALE = new Locale("df", "LT"); //$NON-NLS-1$//$NON-NLS-2$
- private static LocalizationHelper instance = new LocalizationHelper();
-
- // Extract the locale string from the properties file with the given filename
- // where the locale string follows the given prefix. For example, return "zh_HK"
- // from filename == "plugin_zh_HK.properties" and prefix == "plugin".
- static public String getLocaleString(String filename, String prefix) {
- String localeString = null;
- if (filename.startsWith(prefix) && filename.endsWith(PROPERTIES_FILE_EXTENSION)) {
- if (filename.length() > prefix.length() + PROPERTIES_FILE_EXTENSION.length()) {
- localeString = filename.substring(prefix.length() + 1, filename.length() - PROPERTIES_FILE_EXTENSION.length());
- } else {
- localeString = ""; //$NON-NLS-1$
- }
- }
- return localeString;
- }
-
- // Get the locale corresponding to the given locale string
- static public Locale getLocale(String localeString) {
- Locale locale = DEFAULT_LOCALE;
- if (localeString.length() == 5 && localeString.indexOf('_') == 2) {
- locale = new Locale(localeString.substring(0, 2), localeString.substring(3, 5));
- } else if (localeString.length() == 2) {
- locale = new Locale(localeString.substring(0, 2));
- }
- return locale;
- }
-
- // For the given root directory and path to localization files within that directory
- // get a map from locale to property set for the localization property files.
- public static Map getDirPropertyLocalizations(File root, String localizationPath, Locale defaultLocale, String[] propertyKeys) {
- File fullPath = new File(root, localizationPath);
- File localizationDir = fullPath.getParentFile();
- final String localizationFile = fullPath.getName();
- String[] localizationFiles = LocalizationHelper.getLocalizationFiles(localizationDir, localizationFile);
-
- HashMap localizations = null;
-
- if (localizationFiles != null) {
- localizations = new HashMap(localizationFiles.length);
- for (int i = 0; i < localizationFiles.length; i++) {
- String nextFile = localizationFiles[i];
- Locale nextLocale = getLocale(LocalizationHelper.getLocaleString(nextFile, localizationFile));
-
- try {
- Properties properties = loadProperties(root, nextFile);
- Properties localizedStrings = getLocalizedProperties(propertyKeys, properties);
- if (localizedStrings.size() > 0) {
- localizations.put(nextLocale, localizedStrings);
- if (DEFAULT_LOCALE.equals(nextLocale) && defaultLocale != null) {
- localizations.put(nextLocale, localizedStrings);
- }
- }
- } catch (IOException ioe) {
- ioe.printStackTrace();
- }
- }
- }
-
- return localizations;
- }
-
- public static Map getJarPropertyLocalizations(File root, String localizationPath, Locale defaultLocale, String[] propertyKeys) {
- ZipFile jarFile = null;
- Map localizations = new HashMap(4);
- try {
- jarFile = new ZipFile(root, ZipFile.OPEN_READ);
- for (Enumeration entries = jarFile.entries(); entries.hasMoreElements();) {
- ZipEntry nextEntry = (ZipEntry) entries.nextElement();
- String nextName = nextEntry.getName();
- String localeString = LocalizationHelper.getLocaleString(nextName, localizationPath);
-
- if (!nextEntry.isDirectory() && localeString != null) {
- Locale nextLocale = LocalizationHelper.getLocale(localeString);
- InputStream stream = null;
- try {
- stream = jarFile.getInputStream(nextEntry);
- Properties properties = new Properties();
- properties.load(stream);
- Properties localizedStrings = LocalizationHelper.getLocalizedProperties(propertyKeys, properties);
- if (localizedStrings.size() > 0) {
- localizations.put(nextLocale, localizedStrings);
- if (DEFAULT_LOCALE.equals(nextLocale) && defaultLocale != null) {
- localizations.put(nextLocale, localizedStrings);
- }
- }
- } finally {
- if (stream != null)
- stream.close();
- }
- }
- }
- } catch (IOException ioe) {
- ioe.printStackTrace();
- } finally {
- if (jarFile != null) {
- try {
- jarFile.close();
- } catch (IOException ioe) {
- // do nothing
- }
- }
- }
-
- return localizations;
- }
-
- // Load a property set from given root and file with the given name
- private static Properties loadProperties(File root, String propertyFilename) throws IOException {
- Properties result = new Properties();
- InputStream propertyStream = null;
- try {
- try {
- if (root.isDirectory())
- propertyStream = new FileInputStream(new File(root, propertyFilename));
- else {
- URLConnection connection = new URL("jar:" + root.toURL().toExternalForm() + "!/" + propertyFilename).openConnection(); //$NON-NLS-1$ //$NON-NLS-2$
- connection.setUseCaches(false);
- propertyStream = connection.getInputStream();
- }
- } catch (FileNotFoundException e) {
- // if there is no messages file then just return;
- return result;
- }
- result.load(propertyStream);
- } finally {
- if (propertyStream != null)
- propertyStream.close();
- }
- return result;
- }
-
- // Given a list of keys and the corresponding localized property set,
- // return a new property set with those keys and the localized values.
- static public Properties getLocalizedProperties(String[] propertyKeys, Properties properties) {
- Properties localizedProperties = new Properties();
- for (int i = 0; i < propertyKeys.length; i++) {
- String key = propertyKeys[i];
- if (key != null) {
- String localizedValue = properties.getProperty(key);
- if (localizedValue != null)
- localizedProperties.put(key, localizedValue);
- }
- }
- return localizedProperties;
- }
-
- public static String[] getLocalizationFiles(File localizationDir, final String filenamePrefix) {
- return localizationDir.list(instance.new FileFilter() {
- public boolean accept(File directory, String filename) {
- return (getLocaleString(filename, filenamePrefix) != null ? true : false);
- }
- });
- }
-
- private abstract class FileFilter implements FilenameFilter {
-
- public FileFilter() {
- // Nothing to do
- }
-
- /* (non-Javadoc)
- * @see java.io.FilenameFilter#accept(java.io.File, java.lang.String)
- */
- public abstract boolean accept(File directory, String filename);
- }
-
- private LocalizationHelper() {
- //
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/Messages.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/Messages.java
deleted file mode 100644
index 555d7ea..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/Messages.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.generator;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.metadata.generator.messages";//$NON-NLS-1$
-
- public static String exception_errorConverting;
- public static String exception_outputStream;
- public static String exception_errorParsingUpdateSite;
- public static String exception_stateAddition;
- public static String exception_sourceDirectoryInvalid;
- public static String exception_artifactRepoLocationURL;
- public static String exception_artifactRepoNotWritable;
- public static String exception_artifactRepoNotSpecified;
- public static String exception_metadataRepoLocationURL;
- public static String exception_metadataRepoNotWritable;
- public static String exception_metadataRepoNotSpecified;
- public static String exception_baseLocationNotSpecified;
- public static String exception_artifactRepoNoAppendDestroysInput;
-
- public static String message_generatingMetadata;
- public static String message_generationCompleted;
-
- static {
- // load message values from bundle file
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/ProductQuery.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/ProductQuery.java
deleted file mode 100644
index 8486d52..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/ProductQuery.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.generator;
-
-import java.io.*;
-import java.util.*;
-import org.eclipse.equinox.internal.p2.metadata.generator.features.ProductFile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.MetadataGeneratorHelper;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.Generator.GeneratorResult;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.query.Query;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class ProductQuery extends Query {
- private static final String EQUINOX_LAUNCHER = "org.eclipse.equinox.launcher"; //$NON-NLS-1$
-
- private final ProductFile product;
- private final String flavor;
- private final Map children = new HashMap();
- private final String versionAdvice;
-
- // Collector collects the largest version of each IU
- private final Collector collector = new Collector() {
- private final HashMap elements = new HashMap();
-
- public boolean accept(Object object) {
- if (!(object instanceof IInstallableUnit))
- return true;
- IInstallableUnit iu = (IInstallableUnit) object;
- if (elements.containsKey(iu.getId())) {
- IInstallableUnit existing = (IInstallableUnit) elements.get(iu.getId());
- if (existing.getVersion().compareTo(iu.getVersion()) >= 0)
- return true;
- getList().remove(existing);
- }
- elements.put(iu.getId(), iu);
- return super.accept(object);
- }
- };
-
- public ProductQuery(ProductFile product, String flavor, Map configIUs, String versionAdvice) {
- this.product = product;
- this.flavor = flavor;
- this.versionAdvice = versionAdvice;
- initialize(configIUs);
- }
-
- public Collector getCollector() {
- return this.collector;
- }
-
- private Properties loadVersions(String location) {
- Properties properties = new Properties();
- if (location == null)
- return properties;
- File file = new File(location);
- if (file.exists()) {
- InputStream stream = null;
- try {
- stream = new BufferedInputStream(new FileInputStream(file));
- properties.load(stream);
- } catch (IOException e) {
- // nothing
- } finally {
- if (stream != null)
- try {
- stream.close();
- } catch (IOException e) {
- //nothing
- }
- }
- }
- return properties;
- }
-
- private void initialize(Map configIUs) {
- boolean features = product.useFeatures();
- Properties versions = loadVersions(versionAdvice);
-
- List contents = features ? product.getFeatures() : product.getPlugins();
- for (Iterator iterator = contents.iterator(); iterator.hasNext();) {
- String item = (String) iterator.next();
-
- VersionRange range = VersionRange.emptyRange;
- if (versions.containsKey(item)) {
- Version value = new Version(versions.getProperty(item));
- range = new VersionRange(value, true, value, true);
- }
-
- if (features) // for features we want the group
- item = MetadataGeneratorHelper.getTransformedId(item, false, true);
-
- children.put(item, range);
- if (configIUs.containsKey(item)) {
- for (Iterator ius = ((Set) configIUs.get(item)).iterator(); ius.hasNext();) {
- IInstallableUnit object = (IInstallableUnit) ius.next();
- children.put(object.getId(), new VersionRange(object.getVersion(), true, object.getVersion(), true));
- }
- }
- }
-
- //also include the launcher CU fragments as a workaround to bug 218890
- String launcherPrefix = product.getId() + ".launcher"; //$NON-NLS-1$
- if (configIUs.containsKey(launcherPrefix)) {
- for (Iterator ius = ((Set) configIUs.get(launcherPrefix)).iterator(); ius.hasNext();) {
- IInstallableUnit object = (IInstallableUnit) ius.next();
- children.put(object.getId(), new VersionRange(object.getVersion(), true, object.getVersion(), true));
- }
- }
-
- //also add the launcher.jar
- if (!children.containsKey(EQUINOX_LAUNCHER)) {
- children.put(EQUINOX_LAUNCHER, VersionRange.emptyRange);
- children.put(flavor + EQUINOX_LAUNCHER, VersionRange.emptyRange);
- }
-
- // and launcher fragment CUs
- if (configIUs.containsKey(EQUINOX_LAUNCHER)) {
- for (Iterator ius = ((Set) configIUs.get(EQUINOX_LAUNCHER)).iterator(); ius.hasNext();) {
- IInstallableUnit object = (IInstallableUnit) ius.next();
- children.put(object.getId(), new VersionRange(object.getVersion(), true, object.getVersion(), true));
- }
- }
-
- // feature based product, individual bundle config CUs are under CONFIGURATION_CUS for convenience
- if (features && configIUs.containsKey(GeneratorResult.CONFIGURATION_CUS)) {
- for (Iterator ius = ((Set) configIUs.get(GeneratorResult.CONFIGURATION_CUS)).iterator(); ius.hasNext();) {
- IInstallableUnit object = (IInstallableUnit) ius.next();
- children.put(object.getId(), new VersionRange(object.getVersion(), true, object.getVersion(), true));
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.query.Query#isMatch(java.lang.Object)
- */
- public boolean isMatch(Object object) {
- if (!(object instanceof IInstallableUnit))
- return false;
-
- IInstallableUnit candidate = (IInstallableUnit) object;
- VersionRange range = (VersionRange) children.get(candidate.getId());
- if (range != null) {
- return range.isIncluded(candidate.getVersion());
- }
-
- return false;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/DefaultSiteParser.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/DefaultSiteParser.java
deleted file mode 100644
index 14dbbb1..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/DefaultSiteParser.java
+++ /dev/null
@@ -1,860 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.generator.features;
-
-import java.io.*;
-import java.util.*;
-import javax.xml.parsers.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.Tracing;
-import org.eclipse.equinox.internal.p2.metadata.repository.Activator;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.URLEntry;
-import org.eclipse.osgi.util.NLS;
-import org.w3c.dom.*;
-import org.xml.sax.*;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * Parses a site.xml file.
- * This class was initially copied from org.eclipse.update.core.model.DefaultSiteParser.
- */
-public class DefaultSiteParser extends DefaultHandler {
-
- private static final String ARCHIVE = "archive"; //$NON-NLS-1$
- private static final String CATEGORY = "category"; //$NON-NLS-1$
- private static final String CATEGORY_DEF = "category-def"; //$NON-NLS-1$
-
- private static final String ASSOCIATE_SITES_URL = "associateSitesURL"; //$NON-NLS-1$
- private static final String ASSOCIATE_SITE = "associateSite"; //$NON-NLS-1$
- private static final String DEFAULT_INFO_URL = "index.html"; //$NON-NLS-1$
- private static final String DESCRIPTION = "description"; //$NON-NLS-1$
- private static final String FEATURE = "feature"; //$NON-NLS-1$
- private static final String FEATURES = "features/"; //$NON-NLS-1$
- private static final String MIRROR = "mirror"; //$NON-NLS-1$
- private final static SAXParserFactory parserFactory = SAXParserFactory.newInstance();
- private static final String PLUGIN_ID = Activator.ID;
- private static final String SITE = "site"; //$NON-NLS-1$
-
- 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_CATEGORY_DEF = 7;
- private static final int STATE_DESCRIPTION_SITE = 6;
- private static final int STATE_FEATURE = 2;
- private static final int STATE_IGNORED_ELEMENT = -1;
- private static final int STATE_INITIAL = 0;
- private static final int STATE_SITE = 1;
-
- private int currentState;
-
- private boolean DESCRIPTION_SITE_ALREADY_SEEN = false;
- // Current object stack (used to hold the current object we are
- // populating in this plugin descriptor
- Stack objectStack = new Stack();
-
- private SAXParser parser;
-
- // Current State Information
- Stack stateStack = new Stack();
-
- // List of string keys for translated strings
- private final List messageKeys = new ArrayList(4);
-
- private MultiStatus status;
-
- /*
- *
- */
- private static void debug(String s) {
- Tracing.debug("DefaultSiteParser: " + s); //$NON-NLS-1$
- }
-
- private static URLEntry[] getAssociateSites(String associateSitesURL) {
-
- try {
- DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
- DocumentBuilder builder = domFactory.newDocumentBuilder();
- Document document = builder.parse(associateSitesURL);
- if (document == null)
- return null;
- NodeList mirrorNodes = document.getElementsByTagName(ASSOCIATE_SITE);
- URLEntry[] mirrors = new URLEntry[mirrorNodes.getLength()];
- for (int i = 0; i < mirrorNodes.getLength(); i++) {
- Element mirrorNode = (Element) mirrorNodes.item(i);
- mirrors[i] = new URLEntry();
- String infoURL = mirrorNode.getAttribute("url"); //$NON-NLS-1$
- String label = mirrorNode.getAttribute("label"); //$NON-NLS-1$
- mirrors[i].setURL(infoURL);
- mirrors[i].setAnnotation(label);
-
- if (Tracing.DEBUG_GENERATOR_PARSING)
- debug("Processed mirror: url:" + infoURL + " label:" + label); //$NON-NLS-1$ //$NON-NLS-2$
- }
- return mirrors;
- } catch (Exception e) {
- // log if absolute url
- if (associateSitesURL != null && (associateSitesURL.startsWith("http://") //$NON-NLS-1$
- || associateSitesURL.startsWith("https://") //$NON-NLS-1$
- || associateSitesURL.startsWith("file://") //$NON-NLS-1$
- || associateSitesURL.startsWith("ftp://") //$NON-NLS-1$
- || associateSitesURL.startsWith("jar://"))) //$NON-NLS-1$
- log(Messages.DefaultSiteParser_mirrors, e);
- return null;
- }
- }
-
- static URLEntry[] getMirrors(String mirrorsURL) {
-
- try {
- String countryCode = Locale.getDefault().getCountry().toLowerCase();
- int timeZone = (new GregorianCalendar()).get(Calendar.ZONE_OFFSET) / (60 * 60 * 1000);
-
- if (mirrorsURL.indexOf("?") != -1) { //$NON-NLS-1$
- mirrorsURL = mirrorsURL + "&"; //$NON-NLS-1$
- } else {
- mirrorsURL = mirrorsURL + "?"; //$NON-NLS-1$
- }
- mirrorsURL = mirrorsURL + "countryCode=" + countryCode + "&timeZone=" + timeZone + "&responseType=xml"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
- DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
- DocumentBuilder builder = domFactory.newDocumentBuilder();
- Document document = builder.parse(mirrorsURL);
- if (document == null)
- return null;
- NodeList mirrorNodes = document.getElementsByTagName(MIRROR);
- URLEntry[] mirrors = new URLEntry[mirrorNodes.getLength()];
- for (int i = 0; i < mirrorNodes.getLength(); i++) {
- Element mirrorNode = (Element) mirrorNodes.item(i);
- mirrors[i] = new URLEntry();
- String infoURL = mirrorNode.getAttribute("url"); //$NON-NLS-1$
- String label = mirrorNode.getAttribute("label"); //$NON-NLS-1$
- mirrors[i].setURL(infoURL);
- mirrors[i].setAnnotation(label);
-
- if (Tracing.DEBUG_GENERATOR_PARSING)
- debug("Processed mirror: url:" + infoURL + " label:" + label); //$NON-NLS-1$ //$NON-NLS-2$
- }
- return mirrors;
- } catch (Exception e) {
- // log if absolute url
- if (mirrorsURL != null && (mirrorsURL.startsWith("http://") //$NON-NLS-1$
- || mirrorsURL.startsWith("https://") //$NON-NLS-1$
- || mirrorsURL.startsWith("file://") //$NON-NLS-1$
- || mirrorsURL.startsWith("ftp://") //$NON-NLS-1$
- || mirrorsURL.startsWith("jar://"))) //$NON-NLS-1$
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, Messages.DefaultSiteParser_mirrors, e));
- return null;
- }
- }
-
- static void log(Exception e) {
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Internal Error", e)); //$NON-NLS-1$
- }
-
- static void log(IStatus error) {
- LogHelper.log(error);
- }
-
- static void log(String message) {
- LogHelper.log(new Status(IStatus.WARNING, Activator.ID, message, null));
- }
-
- static void log(String message, Exception e) {
- LogHelper.log(new Status(IStatus.WARNING, Activator.ID, message, e));
- }
-
- /**
- * Constructs a site parser.
- */
- public DefaultSiteParser() {
- super();
- stateStack = new Stack();
- objectStack = new Stack();
- status = null;
- DESCRIPTION_SITE_ALREADY_SEEN = false;
- try {
- parserFactory.setNamespaceAware(true);
- this.parser = parserFactory.newSAXParser();
- } catch (ParserConfigurationException e) {
- log(e);
- } catch (SAXException e) {
- log(e);
- }
-
- if (Tracing.DEBUG_GENERATOR_PARSING)
- debug("Created"); //$NON-NLS-1$
- }
-
- /**
- * 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);
- //only push if description
- int state = ((Integer) stateStack.peek()).intValue();
- if (state == STATE_DESCRIPTION_SITE || state == STATE_DESCRIPTION_CATEGORY_DEF)
- objectStack.push(text);
-
- }
-
- /**
- * 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;
- URLEntry 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(Messages.DefaultSiteParser_ParsingStackBackToInitialState);
- break;
-
- case STATE_SITE :
- stateStack.pop();
- if (objectStack.peek() instanceof String) {
- text = (String) objectStack.pop();
- SiteModel site = (SiteModel) objectStack.peek();
- site.getDescription().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();
- SiteCategory category = (SiteCategory) objectStack.peek();
- category.setDescription(text);
- }
- objectStack.pop();
- break;
-
- case STATE_DESCRIPTION_SITE :
- stateStack.pop();
- text = ""; //$NON-NLS-1$
- while (objectStack.peek() instanceof String) {
- // add text, preserving at most one space between text fragments
- String newText = (String) objectStack.pop();
- if (trailingSpace(newText) && !leadingSpace(text)) {
- text = " " + text; //$NON-NLS-1$
- }
- text = newText.trim() + text;
- if (leadingSpace(newText) && !leadingSpace(text)) {
- text = " " + text; //$NON-NLS-1$
- }
- }
- text = text.trim();
-
- info = (URLEntry) 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(NLS.bind(Messages.DefaultSiteParser_ElementAlreadySet, (new String[] {getState(state)})));
- siteModel.setDescription(info);
- DESCRIPTION_SITE_ALREADY_SEEN = true;
- break;
-
- case STATE_DESCRIPTION_CATEGORY_DEF :
- stateStack.pop();
- text = ""; //$NON-NLS-1$
- while (objectStack.peek() instanceof String) {
- // add text, preserving at most one space between text fragments
- String newText = (String) objectStack.pop();
- if (trailingSpace(newText) && !leadingSpace(text)) {
- text = " " + text; //$NON-NLS-1$
- }
- text = newText.trim() + text;
- if (leadingSpace(newText) && !leadingSpace(text)) {
- text = " " + text; //$NON-NLS-1$
- }
- }
- text = text.trim();
-
- info = (URLEntry) objectStack.pop();
- if (text != null)
- info.setAnnotation(text);
-
- SiteCategory category = (SiteCategory) objectStack.peek();
- if (category.getDescription() != null)
- internalError(NLS.bind(Messages.DefaultSiteParser_ElementAlreadySet, (new String[] {getState(state), category.getLabel()})));
- else
- category.setDescription(info.getAnnotation());
- break;
-
- default :
- internalError(NLS.bind(Messages.DefaultSiteParser_UnknownEndState, (new String[] {getState(state)})));
- break;
- }
-
- if (Tracing.DEBUG_GENERATOR_PARSING)
- debug("End Element:" + uri + ":" + localName + ":" + qName);//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
-
- /*
- * 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) {
-
- if (status == null) {
- status = new MultiStatus(PLUGIN_ID, 0, Messages.DefaultSiteParser_ErrorParsingSite, null);
- }
-
- status.add(error);
- if (Tracing.DEBUG_GENERATOR_PARSING)
- LogHelper.log(error);
- }
-
- /**
- * 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;
- }
-
- /*
- * 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 Messages.DefaultSiteParser_UnknownState;
- }
- }
-
- /**
- * Returns all status objects accumulated by the parser.
- *
- * @return multi-status containing accumulated status, or <code>null</code>.
- * @since 2.0
- */
- public MultiStatus getStatus() {
- return status;
- }
-
- private void handleCategoryDefState(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(DESCRIPTION)) {
- stateStack.push(new Integer(STATE_DESCRIPTION_CATEGORY_DEF));
- processInfo(attributes);
- } else
- internalErrorUnknownTag(NLS.bind(Messages.DefaultSiteParser_UnknownElement, (new String[] {elementName, getState(currentState)})));
- }
-
- private void handleCategoryState(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 if (elementName.equals(CATEGORY)) {
- stateStack.push(new Integer(STATE_CATEGORY));
- processCategory(attributes);
- } else
- internalErrorUnknownTag(NLS.bind(Messages.DefaultSiteParser_UnknownElement, (new String[] {elementName, getState(currentState)})));
- }
-
- private void handleFeatureState(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 if (elementName.equals(CATEGORY)) {
- stateStack.push(new Integer(STATE_CATEGORY));
- processCategory(attributes);
- } else
- internalErrorUnknownTag(NLS.bind(Messages.DefaultSiteParser_UnknownElement, (new String[] {elementName, getState(currentState)})));
- }
-
- private void handleInitialState(String elementName, Attributes attributes) throws SAXException {
- if (elementName.equals(SITE)) {
- stateStack.push(new Integer(STATE_SITE));
- processSite(attributes);
- } else {
- internalErrorUnknownTag(NLS.bind(Messages.DefaultSiteParser_UnknownElement, (new String[] {elementName, getState(currentState)})));
- // what we received was not a site.xml, no need to continue
- throw new SAXException(Messages.DefaultSiteParser_InvalidXMLStream);
- }
-
- }
-
- 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(NLS.bind(Messages.DefaultSiteParser_UnknownElement, (new String[] {elementName, getState(currentState)})));
- }
-
- /*
- *
- */
- private void internalError(String message) {
- error(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.OK, message, null));
- }
-
- /*
- *
- */
- private void internalErrorUnknownTag(String msg) {
- stateStack.push(new Integer(STATE_IGNORED_ELEMENT));
- internalError(msg);
- }
-
- private boolean leadingSpace(String str) {
- if (str.length() <= 0) {
- return false;
- }
- return Character.isWhitespace(str.charAt(0));
- }
-
- /*
- *
- */
- 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 = NLS.bind(Messages.DefaultSiteParser_ErrorParsing, (new String[] {ex.getMessage()}));
- else {
- String[] values = new String[] {name, Integer.toString(ex.getLineNumber()), Integer.toString(ex.getColumnNumber()), ex.getMessage()};
- msg = NLS.bind(Messages.DefaultSiteParser_ErrorlineColumnMessage, values);
- }
- error(new Status(IStatus.ERROR, PLUGIN_ID, msg, ex));
- }
-
- /**
- * 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), this);
- if (objectStack.isEmpty())
- throw new SAXException(Messages.DefaultSiteParser_NoSiteTag);
- if (objectStack.peek() instanceof SiteModel) {
- SiteModel site = (SiteModel) objectStack.pop();
- site.setMessageKeys(messageKeys);
- return site;
- }
- 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(NLS.bind(Messages.DefaultSiteParser_WrongParsingStack, (new String[] {stack})));
- }
-
- /*
- * process archive info
- */
- private void processArchive(Attributes attributes) {
- URLEntry archive = new URLEntry();
- String id = attributes.getValue("path"); //$NON-NLS-1$
- if (id == null || id.trim().equals("")) { //$NON-NLS-1$
- internalError(NLS.bind(Messages.DefaultSiteParser_Missing, (new String[] {"path", getState(currentState)}))); //$NON-NLS-1$
- }
-
- archive.setAnnotation(id);
-
- String url = attributes.getValue("url"); //$NON-NLS-1$
- if (url == null || url.trim().equals("")) { //$NON-NLS-1$
- internalError(NLS.bind(Messages.DefaultSiteParser_Missing, (new String[] {"archive", getState(currentState)}))); //$NON-NLS-1$
- } else {
- archive.setURL(url);
-
- SiteModel site = (SiteModel) objectStack.peek();
- site.addArchive(archive);
- }
- if (Tracing.DEBUG_GENERATOR_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$
- SiteFeature feature = (SiteFeature) objectStack.peek();
- feature.addCategoryName(category);
-
- if (Tracing.DEBUG_GENERATOR_PARSING)
- debug("End processing Category: name:" + category); //$NON-NLS-1$
- }
-
- /*
- * process category def info
- */
- private void processCategoryDef(Attributes attributes) {
- SiteCategory category = new SiteCategory();
- String name = attributes.getValue("name"); //$NON-NLS-1$
- String label = attributes.getValue("label"); //$NON-NLS-1$
- checkTranslated(label);
- category.setName(name);
- category.setLabel(label);
-
- SiteModel site = (SiteModel) objectStack.peek();
- site.addCategory(category);
- objectStack.push(category);
-
- if (Tracing.DEBUG_GENERATOR_PARSING)
- debug("End processing CategoryDef: name:" + name + " label:" + label); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- /*
- * process feature info
- */
- private void processFeature(Attributes attributes) {
- SiteFeature feature = new SiteFeature();
-
- // feature location on the site
- String urlInfo = attributes.getValue("url"); //$NON-NLS-1$
- // identifier and version
- String id = attributes.getValue("id"); //$NON-NLS-1$
- String ver = attributes.getValue("version"); //$NON-NLS-1$
-
- boolean noURL = (urlInfo == null || urlInfo.trim().equals("")); //$NON-NLS-1$
- boolean noId = (id == null || id.trim().equals("")); //$NON-NLS-1$
- boolean noVersion = (ver == null || ver.trim().equals("")); //$NON-NLS-1$
-
- // We need to have id and version, or the url, or both.
- if (noURL) {
- if (noId || noVersion)
- internalError(NLS.bind(Messages.DefaultSiteParser_Missing, (new String[] {"url", getState(currentState)}))); //$NON-NLS-1$
- else
- // default url
- urlInfo = FEATURES + id + '_' + ver; //
- }
-
- feature.setURLString(urlInfo);
-
- String type = attributes.getValue("type"); //$NON-NLS-1$
- feature.setType(type);
-
- // if one is null, and not the other
- if (noId ^ noVersion) {
- String[] values = new String[] {id, ver, getState(currentState)};
- log(NLS.bind(Messages.DefaultFeatureParser_IdOrVersionInvalid, values));
- } else {
- feature.setFeatureIdentifier(id);
- feature.setFeatureVersion(ver);
- }
-
- // get label if it exists
- String label = attributes.getValue("label"); //$NON-NLS-1$
- if (label != null) {
- if ("".equals(label.trim())) //$NON-NLS-1$
- label = null;
- checkTranslated(label);
- }
- feature.setLabel(label);
-
- // 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);
-
- //patch
- String patch = attributes.getValue("patch"); //$NON-NLS-1$
- feature.setPatch(patch);
-
- SiteModel site = (SiteModel) objectStack.peek();
- site.addFeature(feature);
- feature.setSiteModel(site);
-
- objectStack.push(feature);
-
- if (Tracing.DEBUG_GENERATOR_PARSING)
- debug("End Processing DefaultFeature Tag: url:" + urlInfo + " type:" + type); //$NON-NLS-1$ //$NON-NLS-2$
-
- }
-
- /*
- * process URL info with element text
- */
- private void processInfo(Attributes attributes) {
- URLEntry inf = new URLEntry();
- String infoURL = attributes.getValue("url"); //$NON-NLS-1$
- inf.setURL(infoURL);
-
- if (Tracing.DEBUG_GENERATOR_PARSING)
- debug("Processed Info: url:" + infoURL); //$NON-NLS-1$
-
- objectStack.push(inf);
- }
-
- /*
- * process site info
- */
- private void processSite(Attributes attributes) {
- // create site map
- SiteModel site = new SiteModel();
-
- // 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
- URLEntry description = new URLEntry();
- description.setURL(DEFAULT_INFO_URL);
- site.setDescription(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$
- site.setType(type);
-
- // get mirrors, if any
- String mirrorsURL = attributes.getValue("mirrorsURL"); //$NON-NLS-1$
- if (mirrorsURL != null && mirrorsURL.trim().length() > 0) {
- // URLEntry[] mirrors = getMirrors(mirrorsURL);
- // if (mirrors != null)
- // site.setMirrors(mirrors);
- // else
-
- //Since we are parsing the site at p2 generation time and the
- //mirrors may change, there is no point doing the mirror expansion now
- site.setMirrorsURLString(mirrorsURL);
- }
-
- String pack200 = attributes.getValue("pack200"); //$NON-NLS-1$
- if (pack200 != null && new Boolean(pack200).booleanValue()) {
- site.setSupportsPack200(true);
- }
-
- String digestURL = attributes.getValue("digestURL"); //$NON-NLS-1$
- if (digestURL != null)
- site.setDigestURLString(digestURL);
-
- // TODO: Digest locales
- // if ((attributes.getValue("availableLocales") != null) && (!attributes.getValue("availableLocales").trim().equals(""))) { //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
- // StringTokenizer locals = new StringTokenizer(attributes.getValue("availableLocales"), ","); //$NON-NLS-1$//$NON-NLS-2$
- // String[] availableLocals = new String[locals.countTokens()];
- // int i = 0;
- // while (locals.hasMoreTokens()) {
- // availableLocals[i++] = locals.nextToken();
- // }
- // extendedSite.setAvailableLocals(availableLocals);
- // }
- // }
- //
- if (attributes.getValue(ASSOCIATE_SITES_URL) != null)
- site.setAssociateSites(getAssociateSites(attributes.getValue(ASSOCIATE_SITES_URL)));
-
- objectStack.push(site);
-
- if (Tracing.DEBUG_GENERATOR_PARSING)
- debug("End process Site tag: siteURL:" + siteURL + " type:" + type);//$NON-NLS-1$ //$NON-NLS-2$
-
- }
-
- /**
- * 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 (Tracing.DEBUG_GENERATOR_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(NLS.bind(Messages.DefaultSiteParser_UnknownElement, (new String[] {localName, getState(currentState)})));
- 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 :
- handleSiteState(localName, attributes);
- break;
-
- case STATE_CATEGORY :
- handleCategoryState(localName, attributes);
- break;
-
- case STATE_CATEGORY_DEF :
- handleCategoryDefState(localName, attributes);
- break;
-
- case STATE_DESCRIPTION_SITE :
- handleSiteState(localName, attributes);
- break;
-
- case STATE_DESCRIPTION_CATEGORY_DEF :
- handleSiteState(localName, attributes);
- break;
-
- default :
- internalErrorUnknownTag(NLS.bind(Messages.DefaultSiteParser_UnknownStartState, (new String[] {getState(currentState)})));
- break;
- }
- int newState = ((Integer) stateStack.peek()).intValue();
- if (newState != STATE_IGNORED_ELEMENT)
- currentState = newState;
-
- }
-
- private boolean trailingSpace(String str) {
- if (str.length() <= 0) {
- return false;
- }
- return Character.isWhitespace(str.charAt(str.length() - 1));
- }
-
- // Add translatable strings from the site.xml
- // to the list of message keys.
- private void checkTranslated(String value) {
- if (value != null && value.length() > 1 && value.startsWith("%")) //$NON-NLS-1$
- messageKeys.add(value.substring(1));
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/DigestParser.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/DigestParser.java
deleted file mode 100644
index 26df487..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/DigestParser.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.generator.features;
-
-import java.io.*;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
-import javax.xml.parsers.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.metadata.generator.Activator;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.Feature;
-import org.eclipse.osgi.util.NLS;
-import org.xml.sax.*;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * Default feature parser.
- * Parses the feature manifest file as defined by the platform.
- *
- * @since 3.0
- */
-public class DigestParser extends DefaultHandler {
-
- private final static SAXParserFactory parserFactory = SAXParserFactory.newInstance();
- private SAXParser parser;
- private final List features = new ArrayList();
- private final FeatureParser featureHandler = new FeatureParser(false);
-
- public DigestParser() {
- super();
- try {
- parserFactory.setNamespaceAware(true);
- this.parser = parserFactory.newSAXParser();
- } catch (ParserConfigurationException e) {
- System.out.println(e);
- } catch (SAXException e) {
- System.out.println(e);
- }
- }
-
- public void characters(char[] ch, int start, int length) throws SAXException {
- featureHandler.characters(ch, start, length);
- }
-
- public void endElement(String uri, String localName, String qName) throws SAXException {
- if ("digest".equals(localName)) { //$NON-NLS-1$
- return;
- }
- if ("feature".equals(localName)) { //$NON-NLS-1$
- Feature feature = featureHandler.getResult();
- features.add(feature);
- } else
- featureHandler.endElement(uri, localName, qName);
- }
-
- public Feature[] parse(File location) {
- if (!location.exists())
- return null;
-
- JarFile jar = null;
- InputStream is = null;
- try {
- jar = new JarFile(location);
- JarEntry entry = jar.getJarEntry("digest.xml"); //$NON-NLS-1$
- if (entry == null)
- return null;
- is = new BufferedInputStream(jar.getInputStream(entry));
- parser.parse(new InputSource(is), this);
- return (Feature[]) features.toArray(new Feature[features.size()]);
- } catch (IOException e) {
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.DefaultSiteParser_ErrorReadingDigest, location), e));
- } catch (SAXException e) {
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.DefaultSiteParser_ErrorReadingDigest, location), e));
- } finally {
- try {
- if (is != null)
- is.close();
- } catch (IOException e1) {
- //
- }
- try {
- if (jar != null)
- jar.close();
- } catch (IOException e) {
- //
- }
- }
- return null;
- }
-
- public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
- if ("digest".equals(localName)) { //$NON-NLS-1$
- return;
- }
- featureHandler.startElement(uri, localName, qName, attributes);
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/FeatureParser.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/FeatureParser.java
deleted file mode 100644
index 40107bf..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/FeatureParser.java
+++ /dev/null
@@ -1,376 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.generator.features;
-
-import java.io.*;
-import java.net.URL;
-import java.util.*;
-import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
-import javax.xml.parsers.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.metadata.generator.Activator;
-import org.eclipse.equinox.internal.p2.metadata.generator.LocalizationHelper;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.Feature;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.FeatureEntry;
-import org.eclipse.osgi.util.NLS;
-import org.xml.sax.*;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * Default feature parser.
- * Parses the feature manifest file as defined by the platform.
- *
- * @since 3.0
- */
-public class FeatureParser extends DefaultHandler {
-
- private final static SAXParserFactory parserFactory = SAXParserFactory.newInstance();
- private SAXParser parser;
- protected Feature result;
- private URL url;
- private StringBuffer characters = null;
-
- private Properties messages = null;
- private List messageKeys = null;
-
- public FeatureParser() {
- this(true);
- }
-
- protected FeatureParser(boolean createParser) {
- super();
- if (!createParser)
- return;
- try {
- parserFactory.setNamespaceAware(true);
- this.parser = parserFactory.newSAXParser();
- } catch (ParserConfigurationException e) {
- System.out.println(e);
- } catch (SAXException e) {
- System.out.println(e);
- }
- }
-
- public void characters(char[] ch, int start, int length) throws SAXException {
- if (characters == null)
- return;
- characters.append(ch, start, length);
- }
-
- protected Feature createFeature(String id, String version) {
- return new Feature(id, version);
- }
-
- public void endElement(String uri, String localName, String qName) throws SAXException {
- if (characters == null)
- return;
- if ("description".equals(localName)) { //$NON-NLS-1$
- result.setDescription(localize(characters.toString().trim()));
- } else if ("license".equals(localName)) { //$NON-NLS-1$
- result.setLicense(localize(characters.toString().trim()));
- } else if ("copyright".equals(localName)) { //$NON-NLS-1$
- result.setCopyright(localize(characters.toString().trim()));
- }
- characters = null;
- }
-
- public Feature getResult() {
- return result;
- }
-
- private void loadProperties(File directory, Properties properties) {
- //skip directories that don't contain a feature.properties file
- File file = new File(directory, "feature.properties"); //$NON-NLS-1$
- if (!file.exists())
- return;
- try {
- InputStream input = new BufferedInputStream(new FileInputStream(file));
- try {
- properties.load(input);
- } finally {
- if (input != null)
- input.close();
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
- private void loadProperties(JarFile jar, Properties properties) {
- JarEntry entry = jar.getJarEntry("feature.properties"); //$NON-NLS-1$
- if (entry == null)
- return;
- try {
- InputStream input = new BufferedInputStream(jar.getInputStream(entry));
- try {
- properties.load(input);
- } finally {
- if (input != null)
- input.close();
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
- private String localize(String value) {
- if (messages == null || value == null)
- return value;
- if (!value.startsWith("%")) //$NON-NLS-1$
- return value;
- String key = value.substring(1);
- messageKeys.add(key);
- return value;
- }
-
- /**
- * Parses the specified location and constructs a feature. The given location
- * should be either the location of the feature JAR or the directory containing
- * the feature.
- *
- * @param location the location of the feature to parse.
- */
- public Feature parse(File location) {
- if (!location.exists())
- return null;
-
- Feature feature = null;
- Properties properties = new Properties();
-
- if (location.isDirectory()) {
- //skip directories that don't contain a feature.xml file
- File file = new File(location, "feature.xml"); //$NON-NLS-1$
- if (!file.exists())
- return null;
- loadProperties(location, properties);
- try {
- InputStream input = new BufferedInputStream(new FileInputStream(file));
- feature = parse(input, properties);
- if (feature != null) {
- String[] keyStrings = (String[]) messageKeys.toArray(new String[messageKeys.size()]);
- feature.setLocalizations(LocalizationHelper.getDirPropertyLocalizations(location, "feature", null, keyStrings)); //$NON-NLS-1$
- }
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- }
- } else if (location.getName().endsWith(".jar")) { //$NON-NLS-1$
- JarFile jar = null;
- try {
- jar = new JarFile(location);
- loadProperties(jar, properties);
- JarEntry entry = jar.getJarEntry("feature.xml"); //$NON-NLS-1$
- if (entry == null)
- return null;
- InputStream input = new BufferedInputStream(jar.getInputStream(entry));
- feature = parse(input, properties);
- if (feature != null) {
- String[] keyStrings = (String[]) messageKeys.toArray(new String[messageKeys.size()]);
- feature.setLocalizations(LocalizationHelper.getJarPropertyLocalizations(location, "feature", null, keyStrings)); //$NON-NLS-1$
- }
- } catch (IOException e) {
- e.printStackTrace();
- } catch (SecurityException e) {
- LogHelper.log(new Status(IStatus.WARNING, Activator.ID, "Exception parsing feature: " + location.getAbsolutePath(), e)); //$NON-NLS-1$
- } finally {
- try {
- if (jar != null)
- jar.close();
- } catch (IOException e) {
- //
- }
- }
- }
- return feature;
- }
-
- /**
- * Parse the given input stream and return a feature object
- * or null. This method closes the input stream.
- */
- public Feature parse(InputStream in, Properties messages) {
- this.messages = messages;
- this.messageKeys = new ArrayList(messages.size());
- result = null;
- try {
- parser.parse(new InputSource(in), this);
- } catch (SAXException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- try {
- in.close();
- } catch (IOException e1) {
- // Utils.log(e1.getLocalizedMessage());
- }
- }
- return result;
- }
-
- private void processCopyright(Attributes attributes) {
- result.setCopyrightURL(attributes.getValue("url")); //$NON-NLS-1$
- characters = new StringBuffer();
- }
-
- private void processDescription(Attributes attributes) {
- result.setDescriptionURL(attributes.getValue("url")); //$NON-NLS-1$
- characters = new StringBuffer();
- }
-
- private void processDiscoverySite(Attributes attributes) {
- //ignore discovery sites of type 'web'
- if ("web".equals(attributes.getValue("type"))) //$NON-NLS-1$ //$NON-NLS-2$
- return;
- result.addDiscoverySite(attributes.getValue("label"), attributes.getValue("url")); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- protected void processFeature(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$
- // System.out.println(NLS.bind(Messages.FeatureParser_IdOrVersionInvalid, (new String[] { id, ver})));
- } else {
- result = createFeature(id, ver);
-
- String os = attributes.getValue("os"); //$NON-NLS-1$
- String ws = attributes.getValue("ws"); //$NON-NLS-1$
- String nl = attributes.getValue("nl"); //$NON-NLS-1$
- String arch = attributes.getValue("arch"); //$NON-NLS-1$
- result.setEnvironment(os, ws, arch, nl);
-
- result.setApplication(attributes.getValue("application")); //$NON-NLS-1$
- result.setPlugin(attributes.getValue("plugin")); //$NON-NLS-1$
- result.setExclusive(Boolean.valueOf(attributes.getValue("exclusive")).booleanValue()); //$NON-NLS-1$
- result.setPrimary(Boolean.valueOf(attributes.getValue("primary")).booleanValue()); //$NON-NLS-1$
- result.setColocationAffinity(attributes.getValue("colocation-affinity")); //$NON-NLS-1$
-
- //TODO rootURLs
- if (url != null && "file".equals(url.getProtocol())) { //$NON-NLS-1$
- File f = new File(url.getFile().replace('/', File.separatorChar));
- result.setURL("features" + "/" + f.getParentFile().getName() + "/");// + f.getName()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- } else {
- // externalized URLs might be in relative form, ensure they are absolute
- // feature.setURL(Utils.makeAbsolute(Utils.getInstallURL(), url).toExternalForm());
- }
-
- result.setProviderName(localize(attributes.getValue("provider-name"))); //$NON-NLS-1$
- result.setLabel(localize(attributes.getValue("label"))); //$NON-NLS-1$
- result.setImage(attributes.getValue("image")); //$NON-NLS-1$
-
- // Utils.debug("End process DefaultFeature tag: id:" +id + " ver:" +ver + " url:" + feature.getURL()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- }
-
- private void processImport(Attributes attributes) {
- String id = attributes.getValue("feature"); //$NON-NLS-1$
- FeatureEntry entry = null;
- if (id != null) {
- if ("true".equalsIgnoreCase(attributes.getValue("patch"))) { //$NON-NLS-1$ //$NON-NLS-2$
- entry = FeatureEntry.createRequires(id, attributes.getValue("version"), "perfect", attributes.getValue("filter"), false); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- entry.setPatch(true);
- } else {
- entry = FeatureEntry.createRequires(id, attributes.getValue("version"), attributes.getValue("match"), attributes.getValue("filter"), false); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- } else {
- id = attributes.getValue("plugin"); //$NON-NLS-1$
- entry = FeatureEntry.createRequires(id, attributes.getValue("version"), attributes.getValue("match"), attributes.getValue("filter"), true); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- result.addEntry(entry);
- }
-
- private void processIncludes(Attributes attributes) {
- FeatureEntry entry = new FeatureEntry(attributes.getValue("id"), attributes.getValue("version"), false); //$NON-NLS-1$ //$NON-NLS-2$
- String flag = attributes.getValue("optional"); //$NON-NLS-1$
- if (flag != null)
- entry.setOptional(Boolean.valueOf(flag).booleanValue());
- setEnvironment(attributes, entry);
- result.addEntry(entry);
- }
-
- private void processInstallHandler(Attributes attributes) {
- result.setInstallHandler(attributes.getValue("handler")); //$NON-NLS-1$
- result.setInstallHandlerLibrary(attributes.getValue("library")); //$NON-NLS-1$
- result.setInstallHandlerURL(attributes.getValue("url")); //$NON-NLS-1$
- }
-
- private void processLicense(Attributes attributes) {
- result.setLicenseURL(attributes.getValue("url")); //$NON-NLS-1$
- characters = new StringBuffer();
- }
-
- private void processPlugin(Attributes attributes) {
- String id = attributes.getValue("id"); //$NON-NLS-1$
- String version = attributes.getValue("version"); //$NON-NLS-1$
-
- if (id == null || id.trim().equals("") || version == null || version.trim().equals("")) { //$NON-NLS-1$ //$NON-NLS-2$
- System.out.println(NLS.bind("FeatureParser#processPlugin, ID {0} or version {1} invalid", (new String[] {id, version}))); //$NON-NLS-1$
- } else {
- FeatureEntry plugin = new FeatureEntry(id, version, true);
- setEnvironment(attributes, plugin);
- String unpack = attributes.getValue("unpack"); //$NON-NLS-1$
- if (unpack != null)
- plugin.setUnpack(Boolean.valueOf(unpack).booleanValue());
- String fragment = attributes.getValue("fragment"); //$NON-NLS-1$
- if (fragment != null)
- plugin.setFragment(Boolean.valueOf(fragment).booleanValue());
- String filter = attributes.getValue("filter"); //$NON-NLS-1$
- if (filter != null)
- plugin.setFilter(filter);
- result.addEntry(plugin);
-
- // Utils.debug("End process DefaultFeature tag: id:" + id + " ver:" + ver + " url:" + feature.getURL()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- }
-
- private void processUpdateSite(Attributes attributes) {
- result.setUpdateSiteLabel(attributes.getValue("label")); //$NON-NLS-1$
- result.setUpdateSiteURL(attributes.getValue("url")); //$NON-NLS-1$
- }
-
- private void setEnvironment(Attributes attributes, FeatureEntry entry) {
- String os = attributes.getValue("os"); //$NON-NLS-1$
- String ws = attributes.getValue("ws"); //$NON-NLS-1$
- String nl = attributes.getValue("nl"); //$NON-NLS-1$
- String arch = attributes.getValue("arch"); //$NON-NLS-1$
- entry.setEnvironment(os, ws, arch, nl);
- }
-
- public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
- // Utils.debug("Start Element: uri:" + uri + " local Name:" + localName + " qName:" + qName); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- if ("plugin".equals(localName)) { //$NON-NLS-1$
- processPlugin(attributes);
- } else if ("description".equals(localName)) { //$NON-NLS-1$
- processDescription(attributes);
- } else if ("license".equals(localName)) { //$NON-NLS-1$
- processLicense(attributes);
- } else if ("copyright".equals(localName)) { //$NON-NLS-1$
- processCopyright(attributes);
- } else if ("feature".equals(localName)) { //$NON-NLS-1$
- processFeature(attributes);
- } else if ("import".equals(localName)) { //$NON-NLS-1$
- processImport(attributes);
- } else if ("includes".equals(localName)) { //$NON-NLS-1$
- processIncludes(attributes);
- } else if ("install-handler".equals(localName)) { //$NON-NLS-1$
- processInstallHandler(attributes);
- } else if ("update".equals(localName)) { //$NON-NLS-1$
- processUpdateSite(attributes);
- } else if ("discovery".equals(localName)) { //$NON-NLS-1$
- processDiscoverySite(attributes);
- }
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/Messages.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/Messages.java
deleted file mode 100644
index ac76a3c..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/Messages.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.generator.features;
-
-import org.eclipse.osgi.util.NLS;
-
-public final class Messages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.metadata.generator.features.messages";//$NON-NLS-1$
-
- public static String DefaultFeatureParser_IdOrVersionInvalid;
- public static String DefaultSiteParser_NoSiteTag;
- public static String DefaultSiteParser_WrongParsingStack;
- public static String DefaultSiteParser_UnknownElement;
- public static String DefaultSiteParser_UnknownStartState;
- public static String DefaultSiteParser_Missing;
- public static String DefaultSiteParser_ParsingStackBackToInitialState;
- public static String DefaultSiteParser_ElementAlreadySet;
- public static String DefaultSiteParser_CategoryAlreadySet;
- public static String DefaultSiteParser_UnknownEndState;
- public static String DefaultSiteParser_ErrorParsing;
- public static String DefaultSiteParser_ErrorlineColumnMessage;
- public static String DefaultSiteParser_ErrorParsingSite;
- public static String DefaultSiteParser_UnknownState;
- public static String DefaultSiteParser_InvalidXMLStream;
- public static String DefaultSiteParser_mirrors;
- public static String DefaultSiteParser_ErrorReadingDigest;
-
- static {
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- // Do not instantiate
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/ProductFile.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/ProductFile.java
deleted file mode 100644
index 2eacb15..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/ProductFile.java
+++ /dev/null
@@ -1,563 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.p2.metadata.generator.features;
-
-import java.io.*;
-import java.util.*;
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
-import org.xml.sax.Attributes;
-import org.xml.sax.InputSource;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- *
- * @since 3.1
- */
-public class ProductFile extends DefaultHandler {
- private final static SAXParserFactory parserFactory = SAXParserFactory.newInstance();
-
- private static final String PROGRAM_ARGS = "programArgs"; //$NON-NLS-1$
- private static final String PROGRAM_ARGS_LINUX = "programArgsLin"; //$NON-NLS-1$
- private static final String PROGRAM_ARGS_MAC = "programArgsMac"; //$NON-NLS-1$
- private static final String PROGRAM_ARGS_SOLARIS = "programArgsSol"; //$NON-NLS-1$
- private static final String PROGRAM_ARGS_WIN = "programArgsWin"; //$NON-NLS-1$
- private static final String VM_ARGS = "vmArgs"; //$NON-NLS-1$
- private static final String VM_ARGS_LINUX = "vmArgsLin"; //$NON-NLS-1$
- private static final String VM_ARGS_MAC = "vmArgsMac"; //$NON-NLS-1$
- private static final String VM_ARGS_SOLARIS = "vmArgsSol"; //$NON-NLS-1$
- private static final String VM_ARGS_WIN = "vmArgsWin"; //$NON-NLS-1$
-
- private static final String SOLARIS_LARGE = "solarisLarge"; //$NON-NLS-1$
- private static final String SOLARIS_MEDIUM = "solarisMedium"; //$NON-NLS-1$
- private static final String SOLARIS_SMALL = "solarisSmall"; //$NON-NLS-1$
- private static final String SOLARIS_TINY = "solarisTiny"; //$NON-NLS-1$
- private static final String WIN32_16_LOW = "winSmallLow"; //$NON-NLS-1$
- private static final String WIN32_16_HIGH = "winSmallHigh"; //$NON-NLS-1$
- private static final String WIN32_24_LOW = "win24Low"; //$NON-NLS-1$
- private static final String WIN32_32_LOW = "winMediumLow"; //$NON-NLS-1$
- private static final String WIN32_32_HIGH = "winMediumHigh"; //$NON-NLS-1$
- private static final String WIN32_48_LOW = "winLargeLow"; //$NON-NLS-1$
- private static final String WIN32_48_HIGH = "winLargeHigh"; //$NON-NLS-1$
-
- private static final String OS_WIN32 = "win32";//$NON-NLS-1$
- private static final String OS_LINUX = "linux";//$NON-NLS-1$
- private static final String OS_SOLARIS = "solaris";//$NON-NLS-1$
- private static final String OS_MACOSX = "macosx";//$NON-NLS-1$
-
- private static final String PRODUCT = "product"; //$NON-NLS-1$
- private static final String CONFIG_INI = "configIni"; //$NON-NLS-1$
- private static final String LAUNCHER = "launcher"; //$NON-NLS-1$
- private static final String LAUNCHER_ARGS = "launcherArgs"; //$NON-NLS-1$
- private static final String PLUGINS = "plugins"; //$NON-NLS-1$
- private static final String FEATURES = "features"; //$NON-NLS-1$
- private static final String SPLASH = "splash"; //$NON-NLS-1$
- private static final String P_USE_ICO = "useIco"; //$NON-NLS-1$
-
- //These constants form a small state machine to parse the .product file
- private static final int STATE_START = 0;
- private static final int STATE_PRODUCT = 1;
- private static final int STATE_LAUNCHER = 2;
- private static final int STATE_LAUNCHER_ARGS = 3;
- private static final int STATE_PLUGINS = 4;
- private static final int STATE_FEATURES = 5;
- private static final int STATE_PROGRAM_ARGS = 6;
- private static final int STATE_PROGRAM_ARGS_LINUX = 7;
- private static final int STATE_PROGRAM_ARGS_MAC = 8;
- private static final int STATE_PROGRAM_ARGS_SOLARIS = 9;
- private static final int STATE_PROGRAM_ARGS_WIN = 10;
- private static final int STATE_VM_ARGS = 11;
- private static final int STATE_VM_ARGS_LINUX = 12;
- private static final int STATE_VM_ARGS_MAC = 13;
- private static final int STATE_VM_ARGS_SOLARIS = 14;
- private static final int STATE_VM_ARGS_WIN = 15;
- private static final int STATE_CONFIG_INI = 16;
-
- private int state = STATE_START;
-
- private final SAXParser parser;
- private String currentOS = null;
- private boolean useIco = false;
- private final ArrayList result = new ArrayList(6);
- private String launcherName = null;
- private String icons[] = null;
- private String configPath = null;
- private final Map platformSpecificConfigPaths = new HashMap();
- private String configPlatform = null;
- private String platformConfigPath = null;
- private String id = null;
- private boolean useFeatures = false;
- private List plugins = null;
- private List fragments = null;
- private List features = null;
- private String splashLocation = null;
- private String productName = null;
- private String application = null;
- private String version = null;
-
- private Properties launcherArgs = new Properties();
-
- private static String normalize(String text) {
- if (text == null || text.trim().length() == 0)
- return ""; //$NON-NLS-1$
-
- text = text.replaceAll("\\r|\\n|\\f|\\t", " "); //$NON-NLS-1$ //$NON-NLS-2$
- return text.replaceAll("\\s+", " "); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- /**
- * Constructs a feature parser.
- */
- public ProductFile(String location, String os) throws Exception {
- super();
- this.currentOS = os;
- // try {
- parserFactory.setNamespaceAware(true);
- parser = parserFactory.newSAXParser();
- InputStream in = new BufferedInputStream(new FileInputStream(location));
- parser.parse(new InputSource(in), this);
- // } catch (ParserConfigurationException e) {
- // throw new CoreException(new Status(IStatus.ERROR, PI_PDEBUILD, EXCEPTION_PRODUCT_FORMAT, NLS.bind(Messages.exception_productParse, location), e));
- // } catch (SAXException e) {
- // throw new CoreException(new Status(IStatus.ERROR, PI_PDEBUILD, EXCEPTION_PRODUCT_FORMAT, NLS.bind(Messages.exception_productParse, location), e));
- // } catch (FileNotFoundException e) {
- // throw new CoreException(new Status(IStatus.ERROR, PI_PDEBUILD, EXCEPTION_PRODUCT_FILE, NLS.bind(Messages.exception_missingElement, location), null));
- // } catch (IOException e) {
- // throw new CoreException(new Status(IStatus.ERROR, PI_PDEBUILD, EXCEPTION_PRODUCT_FORMAT, NLS.bind(Messages.exception_productParse, location), e));
- // }
- }
-
- public String getLauncherName() {
- return launcherName;
- }
-
- public List getPlugins() {
- return getPlugins(true);
- }
-
- public List getPlugins(boolean includeFragments) {
- List p = plugins != null ? plugins : Collections.EMPTY_LIST;
- if (!includeFragments)
- return p;
-
- List f = fragments != null ? fragments : Collections.EMPTY_LIST;
- int size = p.size() + f.size();
- if (size == 0)
- return Collections.EMPTY_LIST;
-
- List both = new ArrayList(size);
- both.addAll(p);
- both.addAll(f);
- return both;
- }
-
- public List getFragments() {
- if (fragments == null)
- return Collections.EMPTY_LIST;
- return fragments;
- }
-
- public List getFeatures() {
- if (features == null)
- return Collections.EMPTY_LIST;
- return features;
- }
-
- public boolean containsPlugin(String plugin) {
- return (plugins != null && plugins.contains(plugin)) || (fragments != null && fragments.contains(plugin));
- }
-
- /**
- * Parses the specified url and constructs a feature
- */
- public String[] getIcons() {
- if (icons != null)
- return icons;
- String[] temp = new String[result.size()];
- int i = 0;
- for (Iterator iter = result.iterator(); iter.hasNext();) {
- String element = (String) iter.next();
- if (element != null)
- temp[i++] = element;
- }
- icons = new String[i];
- System.arraycopy(temp, 0, icons, 0, i);
- return icons;
- }
-
- public String getConfigIniPath() {
- return configPath;
- }
-
- public String getConfigIniPath(String os) {
- String specific = (String) platformSpecificConfigPaths.get(os);
- return specific == null ? configPath : specific;
- }
-
- public String getId() {
- return id;
- }
-
- public String getSplashLocation() {
- return splashLocation;
- }
-
- public String getProductName() {
- return productName;
- }
-
- public String getApplication() {
- return application;
- }
-
- public boolean useFeatures() {
- return useFeatures;
- }
-
- public String getVersion() {
- return (version == null || version.length() == 0) ? "0.0.0" : version; //$NON-NLS-1$
- }
-
- public String getVMArguments(String os) {
- String key = null;
- if (os.equals(OS_WIN32)) {
- key = VM_ARGS_WIN;
- } else if (os.equals(OS_LINUX)) {
- key = VM_ARGS_LINUX;
- } else if (os.equals(OS_MACOSX)) {
- key = VM_ARGS_MAC;
- } else if (os.equals(OS_SOLARIS)) {
- key = VM_ARGS_SOLARIS;
- }
-
- String prefix = launcherArgs.getProperty(VM_ARGS);
- String platform = null, args = null;
- if (key != null)
- platform = launcherArgs.getProperty(key);
- if (prefix != null)
- args = platform != null ? prefix + " " + platform : prefix; //$NON-NLS-1$
- else
- args = platform != null ? platform : ""; //$NON-NLS-1$
- return normalize(args);
- }
-
- public String getProgramArguments(String os) {
- String key = null;
- if (os.equals(OS_WIN32)) {
- key = PROGRAM_ARGS_WIN;
- } else if (os.equals(OS_LINUX)) {
- key = PROGRAM_ARGS_LINUX;
- } else if (os.equals(OS_MACOSX)) {
- key = PROGRAM_ARGS_MAC;
- } else if (os.equals(OS_SOLARIS)) {
- key = PROGRAM_ARGS_SOLARIS;
- }
-
- String prefix = launcherArgs.getProperty(PROGRAM_ARGS);
- String platform = null, args = null;
- if (key != null)
- platform = launcherArgs.getProperty(key);
- if (prefix != null)
- args = platform != null ? prefix + " " + platform : prefix; //$NON-NLS-1$
- else
- args = platform != null ? platform : ""; //$NON-NLS-1$
- return normalize(args);
- }
-
- public void startElement(String uri, String localName, String qName, Attributes attributes) {
- switch (state) {
- case STATE_START :
- if (PRODUCT.equals(localName)) {
- processProduct(attributes);
- state = STATE_PRODUCT;
- }
- break;
-
- case STATE_PRODUCT :
- if (CONFIG_INI.equals(localName)) {
- processConfigIni(attributes);
- state = STATE_CONFIG_INI;
- } else if (LAUNCHER.equals(localName)) {
- processLauncher(attributes);
- state = STATE_LAUNCHER;
- } else if (PLUGINS.equals(localName)) {
- state = STATE_PLUGINS;
- } else if (FEATURES.equals(localName)) {
- state = STATE_FEATURES;
- } else if (LAUNCHER_ARGS.equals(localName)) {
- state = STATE_LAUNCHER_ARGS;
- } else if (SPLASH.equals(localName)) {
- splashLocation = attributes.getValue("location"); //$NON-NLS-1$
- }
- break;
-
- case STATE_CONFIG_INI :
- processConfigIniPlatform(localName, true);
- break;
-
- case STATE_LAUNCHER :
- if (OS_SOLARIS.equals(localName)) {
- processSolaris(attributes);
- } else if ("win".equals(localName)) { //$NON-NLS-1$
- processWin(attributes);
- } else if (OS_LINUX.equals(localName)) {
- processLinux(attributes);
- } else if (OS_MACOSX.equals(localName)) {
- processMac(attributes);
- }
- if ("ico".equals(localName)) { //$NON-NLS-1$
- processIco(attributes);
- } else if ("bmp".equals(localName)) { //$NON-NLS-1$
- processBmp(attributes);
- }
- break;
-
- case STATE_LAUNCHER_ARGS :
- if (PROGRAM_ARGS.equals(localName)) {
- state = STATE_PROGRAM_ARGS;
- } else if (PROGRAM_ARGS_LINUX.equals(localName)) {
- state = STATE_PROGRAM_ARGS_LINUX;
- } else if (PROGRAM_ARGS_MAC.equals(localName)) {
- state = STATE_PROGRAM_ARGS_MAC;
- } else if (PROGRAM_ARGS_SOLARIS.equals(localName)) {
- state = STATE_PROGRAM_ARGS_SOLARIS;
- } else if (PROGRAM_ARGS_WIN.equals(localName)) {
- state = STATE_PROGRAM_ARGS_WIN;
- } else if (VM_ARGS.equals(localName)) {
- state = STATE_VM_ARGS;
- } else if (VM_ARGS_LINUX.equals(localName)) {
- state = STATE_VM_ARGS_LINUX;
- } else if (VM_ARGS_MAC.equals(localName)) {
- state = STATE_VM_ARGS_MAC;
- } else if (VM_ARGS_SOLARIS.equals(localName)) {
- state = STATE_VM_ARGS_SOLARIS;
- } else if (VM_ARGS_WIN.equals(localName)) {
- state = STATE_VM_ARGS_WIN;
- }
- break;
-
- case STATE_PLUGINS :
- if ("plugin".equals(localName)) { //$NON-NLS-1$
- processPlugin(attributes);
- }
- break;
-
- case STATE_FEATURES :
- if ("feature".equals(localName)) { //$NON-NLS-1$
- processFeature(attributes);
- }
- break;
- }
- }
-
- public void endElement(String uri, String localName, String qName) {
- switch (state) {
- case STATE_PLUGINS :
- if (PLUGINS.equals(localName))
- state = STATE_PRODUCT;
- break;
- case STATE_FEATURES :
- if (FEATURES.equals(localName))
- state = STATE_PRODUCT;
- break;
- case STATE_LAUNCHER_ARGS :
- if (LAUNCHER_ARGS.equals(localName))
- state = STATE_PRODUCT;
- break;
- case STATE_LAUNCHER :
- if (LAUNCHER.equals(localName))
- state = STATE_PRODUCT;
- break;
-
- case STATE_PROGRAM_ARGS :
- case STATE_PROGRAM_ARGS_LINUX :
- case STATE_PROGRAM_ARGS_MAC :
- case STATE_PROGRAM_ARGS_SOLARIS :
- case STATE_PROGRAM_ARGS_WIN :
- case STATE_VM_ARGS :
- case STATE_VM_ARGS_LINUX :
- case STATE_VM_ARGS_MAC :
- case STATE_VM_ARGS_SOLARIS :
- case STATE_VM_ARGS_WIN :
- state = STATE_LAUNCHER_ARGS;
- break;
-
- case STATE_CONFIG_INI :
- if (CONFIG_INI.equals(localName))
- state = STATE_PRODUCT;
- else
- processConfigIniPlatform(localName, false);
- break;
- }
- }
-
- public void characters(char[] ch, int start, int length) {
- switch (state) {
- case STATE_PROGRAM_ARGS :
- addLaunchArgumentToMap(PROGRAM_ARGS, String.valueOf(ch, start, length));
- break;
- case STATE_PROGRAM_ARGS_LINUX :
- addLaunchArgumentToMap(PROGRAM_ARGS_LINUX, String.valueOf(ch, start, length));
- break;
- case STATE_PROGRAM_ARGS_MAC :
- addLaunchArgumentToMap(PROGRAM_ARGS_MAC, String.valueOf(ch, start, length));
- break;
- case STATE_PROGRAM_ARGS_SOLARIS :
- addLaunchArgumentToMap(PROGRAM_ARGS_SOLARIS, String.valueOf(ch, start, length));
- break;
- case STATE_PROGRAM_ARGS_WIN :
- addLaunchArgumentToMap(PROGRAM_ARGS_WIN, String.valueOf(ch, start, length));
- break;
- case STATE_VM_ARGS :
- addLaunchArgumentToMap(VM_ARGS, String.valueOf(ch, start, length));
- break;
- case STATE_VM_ARGS_LINUX :
- addLaunchArgumentToMap(VM_ARGS_LINUX, String.valueOf(ch, start, length));
- break;
- case STATE_VM_ARGS_MAC :
- addLaunchArgumentToMap(VM_ARGS_MAC, String.valueOf(ch, start, length));
- break;
- case STATE_VM_ARGS_SOLARIS :
- addLaunchArgumentToMap(VM_ARGS_SOLARIS, String.valueOf(ch, start, length));
- break;
- case STATE_VM_ARGS_WIN :
- addLaunchArgumentToMap(VM_ARGS_WIN, String.valueOf(ch, start, length));
- break;
- case STATE_CONFIG_INI :
- if (platformConfigPath != null)
- platformConfigPath += String.valueOf(ch, start, length);
- break;
- }
- }
-
- private void addLaunchArgumentToMap(String key, String value) {
- if (launcherArgs == null)
- launcherArgs = new Properties();
-
- String oldValue = launcherArgs.getProperty(key);
- if (oldValue != null)
- launcherArgs.setProperty(key, oldValue + value);
- else
- launcherArgs.setProperty(key, value);
- }
-
- private void processPlugin(Attributes attributes) {
- String fragment = attributes.getValue("fragment"); //$NON-NLS-1$
- if (fragment != null && new Boolean(fragment).booleanValue()) {
- if (fragments == null)
- fragments = new ArrayList();
- fragments.add(attributes.getValue("id")); //$NON-NLS-1$
- } else {
- if (plugins == null)
- plugins = new ArrayList();
- plugins.add(attributes.getValue("id")); //$NON-NLS-1$
- }
- }
-
- private void processFeature(Attributes attributes) {
- if (features == null)
- features = new ArrayList();
- features.add(attributes.getValue("id")); //$NON-NLS-1$
- }
-
- private void processProduct(Attributes attributes) {
- id = attributes.getValue("id"); //$NON-NLS-1$
- productName = attributes.getValue("name"); //$NON-NLS-1$
- application = attributes.getValue("application"); //$NON-NLS-1$
- String use = attributes.getValue("useFeatures"); //$NON-NLS-1$
- if (use != null)
- useFeatures = Boolean.valueOf(use).booleanValue();
- version = attributes.getValue("version"); //$NON-NLS-1$
- }
-
- private void processConfigIni(Attributes attributes) {
- String path = null;
- if ("custom".equals(attributes.getValue("use"))) { //$NON-NLS-1$//$NON-NLS-2$
- path = attributes.getValue("path"); //$NON-NLS-1$
- }
- String os = attributes.getValue("os"); //$NON-NLS-1$
- if (os != null && os.length() > 0) {
- // TODO should we allow a platform-specific default to over-ride a custom generic path?
- if (path != null)
- platformSpecificConfigPaths.put(os, path);
- } else if (path != null) {
- configPath = path;
- }
- }
-
- private void processConfigIniPlatform(String key, boolean begin) {
- if (begin) {
- configPlatform = key;
- platformConfigPath = ""; //$NON-NLS-1$
- } else if (configPlatform.equals(key) && platformConfigPath.length() > 0) {
- platformSpecificConfigPaths.put(key, platformConfigPath);
- platformConfigPath = null;
- }
- }
-
- private void processLauncher(Attributes attributes) {
- launcherName = attributes.getValue("name"); //$NON-NLS-1$
- }
-
- private boolean osMatch(String os) {
- if (os == currentOS)
- return true;
- if (os == null)
- return false;
- return os.equals(currentOS);
- }
-
- private void processSolaris(Attributes attributes) {
- if (!osMatch(OS_SOLARIS))
- return;
- result.add(attributes.getValue(SOLARIS_LARGE));
- result.add(attributes.getValue(SOLARIS_MEDIUM));
- result.add(attributes.getValue(SOLARIS_SMALL));
- result.add(attributes.getValue(SOLARIS_TINY));
- }
-
- private void processWin(Attributes attributes) {
- if (!osMatch(OS_WIN32))
- return;
- useIco = Boolean.valueOf(attributes.getValue(P_USE_ICO)).booleanValue();
- }
-
- private void processIco(Attributes attributes) {
- if (!osMatch(OS_WIN32) || !useIco)
- return;
- result.add(attributes.getValue("path")); //$NON-NLS-1$
- }
-
- private void processBmp(Attributes attributes) {
- if (!osMatch(OS_WIN32) || useIco)
- return;
- result.add(attributes.getValue(WIN32_16_HIGH));
- result.add(attributes.getValue(WIN32_16_LOW));
- result.add(attributes.getValue(WIN32_24_LOW));
- result.add(attributes.getValue(WIN32_32_HIGH));
- result.add(attributes.getValue(WIN32_32_LOW));
- result.add(attributes.getValue(WIN32_48_HIGH));
- result.add(attributes.getValue(WIN32_48_LOW));
- }
-
- private void processLinux(Attributes attributes) {
- if (!osMatch(OS_LINUX))
- return;
- result.add(attributes.getValue("icon")); //$NON-NLS-1$
- }
-
- private void processMac(Attributes attributes) {
- if (!osMatch(OS_MACOSX))
- return;
- result.add(attributes.getValue("icon")); //$NON-NLS-1$
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/SiteCategory.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/SiteCategory.java
deleted file mode 100644
index 4bf8aca..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/SiteCategory.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.generator.features;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Comparator;
-import java.util.Map;
-
-/**
- * A category in an update site.
- *
- * Based on org.eclipse.update.core.model.CategoryModel.
- */
-public class SiteCategory {
-
- private static Comparator comp;
- private String description;
- private String label;
- private String name;
- private Map localizations;
-
- /**
- * 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) {
-
- SiteCategory cat1 = (SiteCategory) o1;
- SiteCategory cat2 = (SiteCategory) o2;
-
- if (cat1.equals(cat2))
- return 0;
- return cat1.getName().compareTo(cat2.getName());
- }
- };
- }
- return comp;
- }
-
- /**
- * Creates an uninitialized model object.
- *
- * @since 2.0
- */
- public SiteCategory() {
- super();
- }
-
- /**
- * Compare two category models for equality.
- *
- * @see Object#equals(Object)
- * @since 2.0
- */
- public boolean equals(Object obj) {
- boolean result = false;
- if (obj instanceof SiteCategory) {
- SiteCategory otherCategory = (SiteCategory) obj;
- result = getName().equalsIgnoreCase(otherCategory.getName());
- }
- return result;
- }
-
- /**
- * Retrieve the detailed category description
- *
- * @return category description, or <code>null</code>.
- * @since 2.0
- */
- public String getDescription() {
- return description;
- }
-
- /**
- * Retrieve the non-localized displayable label for the category.
- *
- * @return non-localized displayable label, or <code>null</code>.
- * @since 2.0
- */
- public String getLabel() {
- return label;
- }
-
- /**
- * Gets the localizations for the site as a map from locale
- * to the set of translated properties for that locale.
- *
- * @return a map from locale to property set
- * @since 3.4
- */
- public Map getLocalizations() {
- return this.localizations;
- }
-
- /**
- * Retrieve the name of the category.
- *
- * @return category name, or <code>null</code>.
- * @since 2.0
- */
- public String getName() {
- return name;
- }
-
- /**
- * Compute hash code for category model.
- *
- * @see Object#hashCode()
- * @since 2.0
- */
- public int hashCode() {
- return getName().hashCode();
- }
-
- /**
- * 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 bundleURL resource bundle URL
- * @exception MalformedURLException
- * @since 2.0
- */
- public void resolve(URL base, URL bundleURL) throws MalformedURLException {
- // resolve local elements
- // localizedLabel = resolveNLString(bundleURL, label);
-
- // delegate to references
- // resolveReference(getDescriptionModel(), base, bundleURL);
- }
-
- /**
- * Sets the category description.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param description category description
- * @since 2.0
- */
- public void setDescription(String description) {
- this.description = 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) {
- this.label = label;
- }
-
- /**
- * Sets the localizations for the site as a map from locale
- * to the set of translated properties for that locale.
- *
- * @param localizations as a map from locale to property set
- * @since 3.4
- */
- public void setLocalizations(Map localizations) {
- this.localizations = localizations;
- }
-
- /**
- * 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) {
- this.name = name;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/SiteFeature.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/SiteFeature.java
deleted file mode 100644
index 2b02209..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/SiteFeature.java
+++ /dev/null
@@ -1,408 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * James D Miles (IBM Corp.) - bug 191783, NullPointerException in FeatureDownloader
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.generator.features;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-
-/**
- * A reference to a feature in an update site.xml file.
- *
- * Based on org.eclipse.update.core.model.FeatureReferenceModel.
- */
-public class SiteFeature {
-
- private String arch;
- // performance
- private URL base;
- private List /* of String*/categoryNames;
- private String featureId;
- private String featureVersion;
- private String label;
- private String nl;
-
- private String os;
- private String patch;
- private final boolean resolved = false;
- private SiteModel site;
- private String type;
- private URL url;
- private String urlString;
- private String ws;
-
- /*
- * Compares two URL for equality
- * Return false if one of them is null
- */
- public static boolean sameURL(URL url1, URL url2) {
-
- if (url1 == null || url2 == null)
- return false;
- if (url1 == url2)
- return true;
- if (url1.equals(url2))
- return true;
-
- // check if URL are file: URL as we may
- // have 2 URL pointing to the same featureReference
- // but with different representation
- // (i.e. file:/C;/ and file:C:/)
- if (!"file".equalsIgnoreCase(url1.getProtocol())) //$NON-NLS-1$
- return false;
- if (!"file".equalsIgnoreCase(url2.getProtocol())) //$NON-NLS-1$
- return false;
-
- File file1 = new File(url1.getFile());
- File file2 = new File(url2.getFile());
-
- if (file1 == null)
- return false;
-
- return (file1.equals(file2));
- }
-
- /**
- * Creates an uninitialized feature reference model object.
- */
- public SiteFeature() {
- super();
- }
-
- /**
- * 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
- */
- public void addCategoryName(String categoryName) {
- if (this.categoryNames == null)
- this.categoryNames = new ArrayList();
- if (!this.categoryNames.contains(categoryName))
- this.categoryNames.add(categoryName);
- }
-
- private void delayedResolve() {
-
- // PERF: delay resolution
- if (resolved)
- return;
-
- // resolve local elements
- try {
- url = new URL(base, urlString);
- } catch (MalformedURLException e) {
- // UpdateCore.warn("", e); //$NON-NLS-1$
- }
- }
-
- /**
- * 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
- */
- public boolean equals(Object object) {
-
- if (object == null)
- return false;
- if (getURL() == null)
- return false;
-
- if (!(object instanceof SiteFeature))
- return false;
-
- SiteFeature f = (SiteFeature) object;
-
- return sameURL(getURL(), f.getURL());
- }
-
- /**
- * Returns the names of categories the referenced feature belongs to.
- *
- * @return an array of names, or an empty array.
- */
- public String[] getCategoryNames() {
- if (categoryNames == null)
- return new String[0];
-
- return (String[]) categoryNames.toArray(new String[0]);
- }
-
- /**
- * Returns the feature identifier as a string
- *
- * @return feature identifier
- */
- public String getFeatureIdentifier() {
- return featureId;
- }
-
- /**
- * Returns the feature version as a string
- *
- * @return feature version
- */
- public String getFeatureVersion() {
- return featureVersion;
- }
-
- /**
- * Retrieve the displayable label for the feature reference. If the model
- * object has been resolved, the label is localized.
- *
- * @return displayable label, or <code>null</code>.
- */
- public String getLabel() {
- return label;
- }
-
- /**
- * Retrieve the non-localized displayable label for the feature reference.
- *
- * @return non-localized displayable label, or <code>null</code>.
- */
- public String getLabelNonLocalized() {
- return label;
- }
-
- /**
- * Get optional locale specification as a comma-separated string.
- *
- * @return the locale specification string, or <code>null</code>.
- */
- public String getNL() {
- return nl;
- }
-
- /**
- * Get optional operating system specification as a comma-separated string.
- *
- * @return the operating system specification string, or <code>null</code>.
- */
- public String getOS() {
- return os;
- }
-
- /**
- * Get optional system architecture specification as a comma-separated string.
- *
- * @return the system architecture specification string, or <code>null</code>.
- */
- public String getOSArch() {
- return arch;
- }
-
- /**
- * Returns the patch mode.
- */
- public String getPatch() {
- return patch;
- }
-
- /**
- * Returns the site model for the reference.
- *
- * @return site model
- * @since 2.0
- */
- public SiteModel getSiteModel() {
- return site;
- }
-
- /**
- * Returns the referenced feature type.
- *
- * @return feature type, or <code>null</code> representing the default
- * feature type for the site
- */
- public String getType() {
- return type;
- }
-
- /**
- * Returns the resolved URL for the feature reference.
- *
- * @return url string
- */
- public URL getURL() {
- delayedResolve();
- return url;
- }
-
- /**
- * Returns the unresolved URL string for the reference.
- *
- * @return url string
- */
- public String getURLString() {
- return urlString;
- }
-
- /**
- * Get optional windowing system specification as a comma-separated string.
- *
- * @return the windowing system specification string, or <code>null</code>.
- */
- public String getWS() {
- return ws;
- }
-
- /**
- * 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 resolveBase URL
- * @param bundleURL resource bundle URL
- * @exception MalformedURLException
- */
- public void resolve(URL resolveBase, URL bundleURL) throws MalformedURLException {
- this.base = resolveBase;
- }
-
- /**
- * Sets the system architecture specification.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param arch system architecture specification as a comma-separated list
- */
- public void setArch(String arch) {
- this.arch = arch;
- }
-
- /**
- * 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
- */
- public void setCategoryNames(String[] categoryNames) {
- if (categoryNames == null)
- this.categoryNames = null;
- else
- this.categoryNames = new ArrayList(Arrays.asList(categoryNames));
- }
-
- /**
- * Sets the feature identifier.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param featureId feature identifier
- */
- public void setFeatureIdentifier(String featureId) {
- this.featureId = featureId;
- }
-
- /**
- * Sets the feature version.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param featureVersion feature version
- */
- public void setFeatureVersion(String featureVersion) {
- this.featureVersion = featureVersion;
- }
-
- /**
- * Sets the label.
- * @param label The label to set
- */
- public void setLabel(String label) {
- this.label = label;
- }
-
- /**
- * Sets the locale specification.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param nl locale specification as a comma-separated list
- */
- public void setNL(String nl) {
- this.nl = nl;
- }
-
- /**
- * Sets the operating system specification.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param os operating system specification as a comma-separated list
- */
- public void setOS(String os) {
- this.os = os;
- }
-
- /**
- * Sets the patch mode.
- */
- public void setPatch(String patch) {
- this.patch = patch;
- }
-
- /**
- * Sets the site for the referenced.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param site site for the reference
- */
- public void setSiteModel(SiteModel site) {
- this.site = site;
- }
-
- /**
- * Sets the referenced feature type.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param type referenced feature type
- */
- public void setType(String type) {
- this.type = type;
- }
-
- /**
- * Sets the unresolved URL for the feature reference.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param urlString unresolved URL string
- */
- public void setURLString(String urlString) {
- this.urlString = urlString;
- this.url = null;
- }
-
- /**
- * Sets the windowing system specification.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param ws windowing system specification as a comma-separated list
- */
- public void setWS(String ws) {
- this.ws = ws;
- }
-
- /**
- * @see Object#toString()
- */
- public String toString() {
- StringBuffer buffer = new StringBuffer();
- buffer.append(getClass().toString() + " :"); //$NON-NLS-1$
- buffer.append(" at "); //$NON-NLS-1$
- if (url != null)
- buffer.append(url.toExternalForm());
- return buffer.toString();
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/SiteModel.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/SiteModel.java
deleted file mode 100644
index 6fe043d..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/SiteModel.java
+++ /dev/null
@@ -1,398 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.generator.features;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.URLEntry;
-
-/**
- * A model of an update site.
- *
- * Copied from org.eclipse.update.core.model.SiteModel.
- */
-public class SiteModel {
-
- private List /*of ArchiveReferenceModel*/archiveReferences;
- /**
- * Map of String (category id) -> SiteCategory
- */
- private Map categories;
- private URLEntry description;
- /**
- * Map of String (feature id) -> SiteFeature
- */
- private List features;
- private URL locationURL;
- private String locationURLString;
- private List /* of URLEntry */mirrors;
- private String mirrorsURLString;
- private boolean supportsPack200;
- private String type;
- private URLEntry[] associateSites;
- private String digestURLString;
- private List messageKeys;
- private Map localizations;
-
- /**
- * Creates an uninitialized site model object.
- *
- * @since 2.0
- */
- public SiteModel() {
- super();
- }
-
- /**
- * 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 addArchive(URLEntry archiveReference) {
- if (this.archiveReferences == null)
- this.archiveReferences = new ArrayList();
- if (!this.archiveReferences.contains(archiveReference))
- this.archiveReferences.add(archiveReference);
- }
-
- /**
- * Adds a category to the site.
- *
- * @param category category model
- */
- public void addCategory(SiteCategory category) {
- if (categories == null)
- categories = new HashMap();
- if (!categories.containsKey(category.getName())) {
- categories.put(category.getName(), category);
- if (localizations != null && !localizations.isEmpty())
- category.setLocalizations(localizations);
- }
- }
-
- /**
- * Adds a feature reference model to site.
- *
- * @param featureReference feature reference model
- */
- public void addFeature(SiteFeature featureReference) {
- if (this.features == null)
- this.features = new ArrayList();
- this.features.add(featureReference);
- }
-
- /**
- * Adds a mirror site.
- *
- * @param mirror mirror model
- * @since 3.1
- */
- public void addMirror(URLEntry mirror) {
- if (this.mirrors == null)
- this.mirrors = new ArrayList();
- if (!this.mirrors.contains(mirror))
- this.mirrors.add(mirror);
- }
-
- private void doSetMirrorSiteEntryModels(URLEntry[] newMirrors) {
- if (newMirrors == null || newMirrors.length == 0)
- this.mirrors = null;
- else
- this.mirrors = new ArrayList(Arrays.asList(newMirrors));
- }
-
- /**
- * 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 URLEntry[] getArchives() {
- if (archiveReferences == null || archiveReferences.size() == 0)
- return new URLEntry[0];
-
- return (URLEntry[]) archiveReferences.toArray(new URLEntry[0]);
- }
-
- public URLEntry[] getAssociatedSites() {
- return associateSites;
- }
-
- /**
- * Returns an array of category models for this site.
- *
- * @return array of site category models, or an empty array.
- * @since 2.0
- */
- public SiteCategory[] getCategories() {
- if (categories == null || categories.size() == 0)
- return new SiteCategory[0];
- return (SiteCategory[]) categories.values().toArray(new SiteCategory[0]);
- }
-
- /**
- * Returns the category with the given name.
- * @return the category with the given name, or <code>null</code>
- */
- public SiteCategory getCategory(String name) {
- return (SiteCategory) (categories == null ? null : categories.get(name));
- }
-
- /**
- * Returns the site description.
- *
- * @return site description, or <code>null</code>.
- */
- public URLEntry getDescription() {
- return description;
- }
-
- /**
- * Returns an array of feature reference models on this site.
- *
- * @return an array of feature reference models, or an empty array.
- */
- public SiteFeature[] getFeatures() {
- if (features == null || features.size() == 0)
- return new SiteFeature[0];
- return (SiteFeature[]) features.toArray(new SiteFeature[0]);
- }
-
- /**
- * Gets the localizations for the site as a map from locale
- * to the set of translated properties for that locale.
- *
- * @return a map from locale to property set
- * @since 3.4
- */
- public Map getLocalizations() {
- return this.localizations;
- }
-
- /**
- * Returns the resolved URL for the site.
- *
- * @return url, or <code>null</code>
- */
- public URL getLocationURL() {
- if (locationURL == null && locationURLString != null) {
- try {
- locationURL = new URL(locationURLString);
- } catch (MalformedURLException e) {
- //ignore and return null
- }
- }
- return locationURL;
- }
-
- /**
- * Returns the unresolved URL string for the site.
- *
- * @return url string, or <code>null</code>
- */
- public String getLocationURLString() {
- return locationURLString;
- }
-
- /**
- * Return the keys for translatable strings
- *
- * @return the list of keys for translatable strings; may be null
- * @since 3.4
- */
- public List getMessageKeys() {
- return messageKeys;
- }
-
- /**
- * Return an array of update site mirrors
- *
- * @return an array of mirror entries, or an empty array.
- * @since 3.1
- */
- public URLEntry[] getMirrors() {
- //delayedResolve(); no delay;
- if (mirrors == null || mirrors.size() == 0)
- // see if we can get mirrors from the provided url
- if (mirrorsURLString != null)
- doSetMirrorSiteEntryModels(DefaultSiteParser.getMirrors(mirrorsURLString));
-
- if (mirrors == null || mirrors.size() == 0)
- return new URLEntry[0];
- return (URLEntry[]) mirrors.toArray(new URLEntry[0]);
- }
-
- /**
- * Returns the URL from which the list of mirrors of this site can be retrieved.
- *
- * @since org.eclipse.equinox.p2.metadata.generator 1.0
- */
- public String getMirrorsURL() {
- return mirrorsURLString;
- }
-
- /**
- * Returns the site type.
- *
- * @return site type, or <code>null</code>.
- * @since 2.0
- */
- public String getType() {
- return type;
- }
-
- public boolean isPack200Supported() {
- return supportsPack200;
- }
-
- /**
- * 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 bundleURL resource bundle URL
- * @exception MalformedURLException
- * @since 2.0
- */
- public void resolve(URL base, URL bundleURL) throws MalformedURLException {
-
- // Archives and feature are relative to location URL
- // if the Site element has a URL tag: see spec
- // locationURL = resolveURL(base, bundleURL, getLocationURLString());
- // if (locationURL == null)
- // locationURL = base;
- // resolveListReference(getFeatureReferenceModels(), locationURL, bundleURL);
- // resolveListReference(getArchiveReferenceModels(), locationURL, bundleURL);
- //
- // resolveReference(getDescriptionModel(), base, bundleURL);
- // resolveListReference(getCategoryModels(), base, bundleURL);
- //
- // URL url = resolveURL(base, bundleURL, mirrorsURLString);
- // if (url != null)
- // mirrorsURLString = url.toString();
- //
- // if ((this instanceof ExtendedSite) && ((ExtendedSite) this).isDigestExist()) {
- // ExtendedSite extendedSite = (ExtendedSite) this;
- // extendedSite.setLiteFeatures(UpdateManagerUtils.getLightFeatures(extendedSite));
- // }
- }
-
- /**
- * Sets the site description.
- *
- * @param description site description
- * @since 2.0
- */
- public void setDescription(URLEntry description) {
- this.description = description;
- }
-
- /**
- * Sets the localizations for the site as a map from locale
- * to the set of translated properties for that locale.
- *
- * @param localizations as a map from locale to property set
- * @since 3.4
- */
- public void setLocalizations(Map localizations) {
- this.localizations = localizations;
- if (localizations != null && !localizations.isEmpty() && //
- categories != null && !categories.isEmpty()) {
- for (Iterator catIter = categories.entrySet().iterator(); catIter.hasNext();) {
- Map.Entry entry = (Map.Entry) catIter.next();
- SiteCategory category = (SiteCategory) entry.getValue();
- category.setLocalizations(localizations);
- }
- }
- }
-
- /**
- * Sets the unresolved URL for the site.
- *
- * @param locationURLString url for the site (as a string)
- * @since 2.0
- */
- public void setLocationURLString(String locationURLString) {
- this.locationURLString = locationURLString;
- }
-
- /**
- * Sets keys for translatable strings
- *
- * @param keys for translatable strings
- * @since 3.4
- */
- public void setMessageKeys(List keys) {
- this.messageKeys = keys;
- }
-
- /**
- * Sets additional mirror sites
- *
- * @param mirrors additional update site mirrors
- * @since 3.1
- */
- public void setMirrors(URLEntry[] mirrors) {
- doSetMirrorSiteEntryModels(mirrors);
- }
-
- /**
- * Sets the mirrors url. Mirror sites will then be obtained from this mirror url later.
- * This method is complementary to setMirrorsiteEntryModels(), and only one of these
- * methods should be called.
- *
- * @param mirrorsURL additional update site mirrors
- * @since 3.1
- */
- public void setMirrorsURLString(String mirrorsURL) {
- this.mirrorsURLString = mirrorsURL;
- }
-
- public void setSupportsPack200(boolean value) {
- this.supportsPack200 = value;
- }
-
- /**
- * 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) {
- this.type = type;
- }
-
- /**
- * Sets the associated sites for this update site.
- *
- * @param associateSites the associated sites
- */
- public void setAssociateSites(URLEntry[] associateSites) {
- this.associateSites = associateSites;
- }
-
- public void setDigestURLString(String digestURLString) {
- this.digestURLString = digestURLString;
- }
-
- public String getDigestURLString() {
- return digestURLString;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/messages.properties b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/messages.properties
deleted file mode 100644
index 7f7ffa5..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/messages.properties
+++ /dev/null
@@ -1,30 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-# Install Update Core Properties File
-#
-
-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}\".
-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_ErrorParsingSite= Error Parsing site stream.
-DefaultSiteParser_UnknownState= Unknown State \"{0}\".
-DefaultSiteParser_InvalidXMLStream= The XML stream is not a valid default \"site.xml\" file. The root tag is not site.
-DefaultSiteParser_mirrors = Error processing update site mirror.
-DefaultSiteParser_ErrorReadingDigest=Error reading site digest {0}.
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/messages.properties b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/messages.properties
deleted file mode 100644
index c0650b6..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/messages.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-###############################################################################
-# Copyright (c) 2007, 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-exception_errorConverting = An error occurred while generating manifest for {0}.
-exception_outputStream = Unable to open output stream for {0}.
-exception_errorParsingUpdateSite = Error parsing update site: {0}.
-exception_stateAddition = An error has occurred while adding the bundle {0}.
-exception_sourceDirectoryInvalid = Source directory is invalid: {0}.
-exception_artifactRepoLocationURL = Artifact repository location is not a valid URL: {0}.
-exception_artifactRepoNotWritable = Artifact repository is not writable: {0}.
-exception_artifactRepoNotSpecified = An artifact repository was not specified.
-exception_metadataRepoLocationURL = Metadata repository location is not a valid URL: {0}.
-exception_metadataRepoNotWritable = Metadata repository not writable: {0}.
-exception_metadataRepoNotSpecified = A metadata repository location was not specified.
-exception_baseLocationNotSpecified = Eclipse base location not specified.
-exception_artifactRepoNoAppendDestroysInput = Not appending to artifact repository ({0}) will destroy input files.
-message_generatingMetadata = Generating metadata for {0}.
-message_generationCompleted = Generation completed with success [{0} seconds].
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/BundleDescriptionFactory.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/BundleDescriptionFactory.java
deleted file mode 100644
index 3f04702..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/BundleDescriptionFactory.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata.generator;
-
-import java.io.*;
-import java.util.*;
-import java.util.jar.JarFile;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.metadata.generator.Activator;
-import org.eclipse.equinox.internal.p2.metadata.generator.Messages;
-import org.eclipse.osgi.service.pluginconversion.PluginConversionException;
-import org.eclipse.osgi.service.pluginconversion.PluginConverter;
-import org.eclipse.osgi.service.resolver.*;
-import org.eclipse.osgi.util.ManifestElement;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.BundleException;
-
-public class BundleDescriptionFactory {
- static final String DIR = "dir"; //$NON-NLS-1$
- static final String JAR = "jar"; //$NON-NLS-1$
- private static final String FEATURE_FILENAME_DESCRIPTOR = "feature.xml"; //$NON-NLS-1$
- private static final String PLUGIN_FILENAME_DESCRIPTOR = "plugin.xml"; //$NON-NLS-1$
- private static final String FRAGMENT_FILENAME_DESCRIPTOR = "fragment.xml"; //$NON-NLS-1$
-
- static String BUNDLE_FILE_KEY = "eclipse.p2.bundle.format"; //$NON-NLS-1$
-
- // static final String DEFAULT_BUNDLE_LOCALIZATION = "plugin"; //$NON-NLS-1$
- // static final String PROPERTIES_FILE_EXTENSION = ".properties"; //$NON-NLS-1$
- // static final String MANIFEST_LOCALIZATIONS = "eclipse.p2.manifest.localizations"; //$NON-NLS-1$
- //
- // static final Locale DEFAULT_LOCALE = new Locale("df", "LT"); //$NON-NLS-1$//$NON-NLS-2$
- // static final Locale PSEUDO_LOCALE = new Locale("zz", "ZZ"); //$NON-NLS-1$//$NON-NLS-2$
-
- StateObjectFactory factory;
- State state;
-
- public BundleDescriptionFactory(StateObjectFactory factory, State state) {
- this.factory = factory;
- this.state = state;
- //TODO find a state and a factory when not provided
- }
-
- private PluginConverter acquirePluginConverter() {
- return (PluginConverter) ServiceHelper.getService(Activator.getContext(), PluginConverter.class.getName());
- }
-
- private Dictionary convertPluginManifest(File bundleLocation, boolean logConversionException) {
- PluginConverter converter;
- try {
- converter = acquirePluginConverter();
- if (converter == null) {
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Unable to aquire PluginConverter service during generation for: " + bundleLocation));
- return null;
- }
- return converter.convertManifest(bundleLocation, false, null, true, null);
- } catch (PluginConversionException convertException) {
- // only log the exception if we had a plugin.xml or fragment.xml and we failed conversion
- if (bundleLocation.getName().equals(FEATURE_FILENAME_DESCRIPTOR))
- return null;
- if (!new File(bundleLocation, PLUGIN_FILENAME_DESCRIPTOR).exists() && !new File(bundleLocation, FRAGMENT_FILENAME_DESCRIPTOR).exists())
- return null;
- if (logConversionException) {
- IStatus status = new Status(IStatus.WARNING, Activator.ID, 0, NLS.bind(Messages.exception_errorConverting, bundleLocation.getAbsolutePath()), convertException);
- LogHelper.log(status);
- }
- return null;
- }
- }
-
- public BundleDescription getBundleDescription(Dictionary enhancedManifest, File bundleLocation) {
- try {
- BundleDescription descriptor = factory.createBundleDescription(state, enhancedManifest, bundleLocation != null ? bundleLocation.getAbsolutePath() : null, 1); //TODO Do we need to have a real bundle id
- descriptor.setUserObject(enhancedManifest);
- return descriptor;
- } catch (BundleException e) {
- String message = NLS.bind(Messages.exception_stateAddition, bundleLocation == null ? null : bundleLocation.getAbsoluteFile());
- IStatus status = new Status(IStatus.WARNING, Activator.ID, message, e);
- LogHelper.log(status);
- return null;
- }
- }
-
- public BundleDescription getBundleDescription(File bundleLocation) {
- Dictionary manifest = loadManifest(bundleLocation);
- if (manifest == null)
- return null;
- return getBundleDescription(manifest, bundleLocation);
- }
-
- public BundleDescription getBundleDescription(InputStream manifestStream, File bundleLocation) {
- Hashtable entries = new Hashtable();
- try {
- ManifestElement.parseBundleManifest(manifestStream, entries);
- return getBundleDescription(entries, bundleLocation);
- } catch (IOException e) {
- String message = "An error occurred while reading the bundle description " + (bundleLocation == null ? "" : bundleLocation.getAbsolutePath() + '.'); //$NON-NLS-1$ //$NON-NLS-2$
- IStatus status = new Status(IStatus.ERROR, Activator.ID, message, e);
- LogHelper.log(status);
- } catch (BundleException e) {
- String message = "An error occurred while reading the bundle description " + (bundleLocation == null ? "" : bundleLocation.getAbsolutePath() + '.'); //$NON-NLS-1$ //$NON-NLS-2$
- IStatus status = new Status(IStatus.ERROR, Activator.ID, message, e);
- LogHelper.log(status);
- }
- return null;
- }
-
- public Dictionary loadManifest(File bundleLocation) {
- InputStream manifestStream = null;
- ZipFile jarFile = null;
- try {
- if ("jar".equalsIgnoreCase(new Path(bundleLocation.getName()).getFileExtension()) && bundleLocation.isFile()) { //$NON-NLS-1$
- jarFile = new ZipFile(bundleLocation, ZipFile.OPEN_READ);
- ZipEntry manifestEntry = jarFile.getEntry(JarFile.MANIFEST_NAME);
- if (manifestEntry != null) {
- manifestStream = jarFile.getInputStream(manifestEntry);
- }
- } else {
- File manifestFile = new File(bundleLocation, JarFile.MANIFEST_NAME);
- if (manifestFile.exists())
- manifestStream = new BufferedInputStream(new FileInputStream(manifestFile));
- }
- } catch (IOException e) {
- //ignore but log
- LogHelper.log(new Status(IStatus.WARNING, Activator.ID, "An error occurred while loading the bundle manifest " + bundleLocation, e)); //$NON-NLS-1$
- }
-
- Dictionary manifest = null;
- if (manifestStream != null) {
- try {
- Map manifestMap = ManifestElement.parseBundleManifest(manifestStream, null);
- // TODO temporary hack. We are reading a Map but everyone wants a Dictionary so convert.
- // real answer is to have people expect a Map but that is a wider change.
- manifest = new Hashtable(manifestMap);
- } catch (IOException e) {
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "An error occurred while loading the bundle manifest " + bundleLocation, e)); //$NON-NLS-1$
- return null;
- } catch (BundleException e) {
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "An error occurred while loading the bundle manifest " + bundleLocation, e)); //$NON-NLS-1$
- return null;
- } finally {
- try {
- if (jarFile != null)
- jarFile.close();
- } catch (IOException e2) {
- //Ignore
- }
- }
- } else {
- manifest = convertPluginManifest(bundleLocation, true);
- }
-
- if (manifest == null)
- return null;
-
- //Deal with the pre-3.0 plug-in shape who have a default jar manifest.mf
- if (manifest.get(org.osgi.framework.Constants.BUNDLE_SYMBOLICNAME) == null)
- manifest = convertPluginManifest(bundleLocation, true);
-
- if (manifest == null)
- return null;
-
- manifest.put(BUNDLE_FILE_KEY, bundleLocation.isDirectory() ? DIR : JAR);
- return manifest;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/EclipseInstallGeneratorInfoProvider.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/EclipseInstallGeneratorInfoProvider.java
deleted file mode 100644
index b59cb8c..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/EclipseInstallGeneratorInfoProvider.java
+++ /dev/null
@@ -1,618 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata.generator;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.equinox.internal.frameworkadmin.equinox.EquinoxFwConfigFileParser;
-import org.eclipse.equinox.internal.frameworkadmin.equinox.EquinoxManipulatorImpl;
-import org.eclipse.equinox.internal.frameworkadmin.utils.Utils;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.metadata.generator.Activator;
-import org.eclipse.equinox.internal.p2.metadata.generator.Messages;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepository;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.osgi.service.environment.EnvironmentInfo;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.*;
-import org.osgi.service.packageadmin.PackageAdmin;
-import org.osgi.util.tracker.ServiceTracker;
-
-public class EclipseInstallGeneratorInfoProvider implements IGeneratorInfo {
- private final static String FILTER_OBJECTCLASS = "(" + Constants.OBJECTCLASS + "=" + FrameworkAdmin.class.getName() + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
- private final static String filterFwName = "(" + FrameworkAdmin.SERVICE_PROP_KEY_FW_NAME + "=Equinox)"; //$NON-NLS-1$ //$NON-NLS-2$
- //String filterFwVersion = "(" + FrameworkAdmin.SERVICE_PROP_KEY_FW_VERSION + "=" + props.getProperty("equinox.fw.version") + ")";
- private final static String filterLauncherName = "(" + FrameworkAdmin.SERVICE_PROP_KEY_LAUNCHER_NAME + "=Eclipse.exe)"; //$NON-NLS-1$ //$NON-NLS-2$
- //String filterLauncherVersion = "(" + FrameworkAdmin.SERVICE_PROP_KEY_LAUNCHER_VERSION + "=" + props.getProperty("equinox.launcher.version") + ")";
- private final static String frameworkAdminFillter = "(&" + FILTER_OBJECTCLASS + filterFwName + filterLauncherName + ")"; //$NON-NLS-1$ //$NON-NLS-2$
- private static final String ORG_ECLIPSE_EQUINOX_SIMPLECONFIGURATOR = "org.eclipse.equinox.simpleconfigurator"; //$NON-NLS-1$
- private static final String ORG_ECLIPSE_EQUINOX_SIMPLECONFIGURATOR_CONFIGURL = "org.eclipse.equinox.simpleconfigurator.configUrl"; //$NON-NLS-1$
- private static final String ORG_ECLIPSE_EQUINOX_SIMPLECONFIGURATOR_MANIPULATOR = "org.eclipse.equinox.simpleconfigurator.manipulator"; //$NON-NLS-1$
- private static final String ORG_ECLIPSE_EQUINOX_FRAMEWORKADMIN_EQUINOX = "org.eclipse.equinox.frameworkadmin.equinox"; //$NON-NLS-1$
- private static final String ORG_ECLIPSE_EQUINOX_P2_RECONCILER_DROPINS = "org.eclipse.equinox.p2.reconciler.dropins"; //$NON-NLS-1$
-
- private static final String PARAMETER_BASEURL = "org.eclipse.equinox.simpleconfigurator.baseUrl"; //$NON-NLS-1$
-
- /*
- * TODO: Temporary for determining whether eclipse installs
- * in a profile should support backward compatibility
- * with update manager.
- */
- private static final String UPDATE_COMPATIBILITY = "eclipse.p2.update.compatibility"; //$NON-NLS-1$
-
- private String os;
-
- /**
- * Returns a default name for the executable.
- * @param providedOS The operating system to return the executable for. If null,
- * the operating system is determined from the current runtime environment.
- */
- public static String getDefaultExecutableName(String providedOS) {
- String theOS = providedOS;
- if (theOS == null) {
- EnvironmentInfo info = (EnvironmentInfo) ServiceHelper.getService(Activator.getContext(), EnvironmentInfo.class.getName());
- theOS = info.getOS();
- }
- if (theOS.equalsIgnoreCase("win32")) //$NON-NLS-1$
- return "eclipse.exe"; //$NON-NLS-1$
- if (theOS.equalsIgnoreCase("macosx")) //$NON-NLS-1$
- return "Eclipse.app"; //$NON-NLS-1$
- //FIXME Is this a reasonable default for all non-Windows platforms?
- return "eclipse"; //$NON-NLS-1$
- }
-
- private boolean addDefaultIUs = true;
-
- private boolean append = false;
- private IArtifactRepository artifactRepository;
- private File baseLocation;
- private File[] bundleLocations;
- private File configLocation;
- private ArrayList defaultIUs;
- private List otherIUs;
- private File executableLocation;
- private File featuresLocation;
- private String flavor;
- private ServiceTracker frameworkAdminTracker;
- private Manipulator manipulator;
- private String[][] mappingRules;
- private IMetadataRepository metadataRepository;
- private boolean publishArtifactRepo = false;
- private boolean publishArtifacts = false;
- private boolean updateCompatibility = Boolean.valueOf(System.getProperty(UPDATE_COMPATIBILITY, "false")).booleanValue(); //$NON-NLS-1$
- private String rootId;
- private String rootVersion;
- private String productFile = null;
- private String launcherConfig;
- private String versionAdvice;
-
- private URL siteLocation;
-
- private boolean reuseExistingPack200Files = false;
-
- public EclipseInstallGeneratorInfoProvider() {
- super();
- }
-
- public boolean addDefaultIUs() {
- return addDefaultIUs;
- }
-
- public boolean append() {
- return append;
- }
-
- protected GeneratorBundleInfo createDefaultConfigurationBundleInfo() {
- GeneratorBundleInfo result = new GeneratorBundleInfo();
- result.setSymbolicName("defaultConfigure"); //$NON-NLS-1$
- result.setVersion("1.0.0"); //$NON-NLS-1$
- result.setStartLevel(4);
- // These should just be in the install section now
- // result.setSpecialConfigCommands("installBundle(bundle:${artifact});");
- return result;
- }
-
- protected GeneratorBundleInfo createDefaultUnconfigurationBundleInfo() {
- GeneratorBundleInfo result = new GeneratorBundleInfo();
- result.setSymbolicName("defaultUnconfigure"); //$NON-NLS-1$
- result.setVersion("1.0.0"); //$NON-NLS-1$
- // These should just be in the uninstall section now
- // result.setSpecialConfigCommands("uninstallBundle(bundle:${artifact});");
- return result;
- }
-
- /**
- * Obtains the framework manipulator instance. Throws an exception
- * if it could not be created.
- */
- private void createFrameworkManipulator() {
- FrameworkAdmin admin = getFrameworkAdmin();
- if (admin == null)
- throw new RuntimeException("Framework admin service not found"); //$NON-NLS-1$
- manipulator = admin.getManipulator();
- if (manipulator == null)
- throw new RuntimeException("Framework manipulator not found"); //$NON-NLS-1$
- }
-
- public static GeneratorBundleInfo createLauncher() {
- GeneratorBundleInfo result = new GeneratorBundleInfo();
- result.setSymbolicName("org.eclipse.equinox.launcher"); //$NON-NLS-1$
- result.setVersion("0.0.0"); //$NON-NLS-1$
- //result.setSpecialConfigCommands("manipulator.addProgramArgument('-startup'); manipulator.addProgramArgument(artifact);");
- result.setSpecialConfigCommands("addProgramArg(programArg:-startup);addProgramArg(programArg:@artifact);"); //$NON-NLS-1$
- result.setSpecialUnconfigCommands("removeProgramArg(programArg:-startup);removeProgramArg(programArg:@artifact);"); //$NON-NLS-1$
- return result;
- }
-
- private Collection createLauncherBundleInfo(Set ius) {
- Collection result = new HashSet();
- Collection launchers = getIUs(ius, "org.eclipse.equinox.launcher."); //$NON-NLS-1$
- for (Iterator iterator = launchers.iterator(); iterator.hasNext();) {
- IInstallableUnit object = (IInstallableUnit) iterator.next();
- if (object.getId().endsWith(".source")) //$NON-NLS-1$
- continue;
- GeneratorBundleInfo temp = new GeneratorBundleInfo();
- temp.setSymbolicName(object.getId());
- temp.setVersion(object.getVersion().toString());
- temp.setSpecialConfigCommands("addProgramArg(programArg:--launcher.library);addProgramArg(programArg:@artifact);"); //$NON-NLS-1$
- temp.setSpecialUnconfigCommands("removeProgramArg(programArg:--launcher.library);removeProgramArg(programArg:@artifact);"); //$NON-NLS-1$
- result.add(temp);
- }
- return result;
- }
-
- private GeneratorBundleInfo createSimpleConfiguratorBundleInfo() {
- GeneratorBundleInfo result = new GeneratorBundleInfo();
- result.setSymbolicName(ORG_ECLIPSE_EQUINOX_SIMPLECONFIGURATOR);
- result.setVersion("0.0.0"); //$NON-NLS-1$
- result.setStartLevel(1);
- result.setMarkedAsStarted(true);
- return result;
- }
-
- private GeneratorBundleInfo createDropinsReconcilerBundleInfo() {
- GeneratorBundleInfo result = new GeneratorBundleInfo();
- result.setSymbolicName(ORG_ECLIPSE_EQUINOX_P2_RECONCILER_DROPINS);
- result.setVersion("0.0.0"); //$NON-NLS-1$
- result.setMarkedAsStarted(true);
- result.setSpecialConfigCommands("mkdir(path:${installFolder}/dropins)"); //$NON-NLS-1$
- result.setSpecialUnconfigCommands("rmdir(path:${installFolder}/dropins)"); //$NON-NLS-1$
- return result;
- }
-
- private void expandBundleLocations() {
- if (bundleLocations == null) {
- bundleLocations = new File[] {};
- return;
- }
- ArrayList result = new ArrayList();
- for (int i = 0; i < bundleLocations.length; i++) {
- File location = bundleLocations[i];
- if (location.isDirectory()) {
- File[] list = location.listFiles();
- for (int j = 0; j < list.length; j++)
- result.add(list[j]);
- } else {
- result.add(location);
- }
- }
- bundleLocations = (File[]) result.toArray(new File[result.size()]);
- }
-
- public IArtifactRepository getArtifactRepository() {
- return artifactRepository;
- }
-
- public File getBaseLocation() {
- return baseLocation;
- }
-
- public File[] getBundleLocations() {
- return bundleLocations;
- }
-
- public ConfigData getConfigData() {
- return manipulator == null ? null : manipulator.getConfigData();
- }
-
- public ConfigData loadConfigData(File location) {
- if (manipulator == null)
- return null;
-
- EquinoxFwConfigFileParser parser = new EquinoxFwConfigFileParser(Activator.getContext());
- try {
- parser.readFwConfig(manipulator, location);
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
-
- ConfigData data = manipulator.getConfigData();
- String value = data.getFwIndependentProp(ORG_ECLIPSE_EQUINOX_SIMPLECONFIGURATOR_CONFIGURL);
- if (value != null) {
- try {
- //config.ini uses simpleconfigurator, read the bundles.info and replace the bundle infos
- BundleInfo[] bundleInfos = readConfiguration(new URL(value));
- data.setBundles(bundleInfos);
- } catch (MalformedURLException e1) {
- // ignore
- } catch (IOException e1) {
- // ignore
- }
-
- try {
- data.setFwIndependentProp(ORG_ECLIPSE_EQUINOX_SIMPLECONFIGURATOR_CONFIGURL, EquinoxManipulatorImpl.makeRelative(value, configLocation.toURL()));
- } catch (MalformedURLException e) {
- //ignore
- }
- }
-
- return data;
- }
-
- public static BundleInfo[] readConfiguration(URL url) throws IOException {
- List bundles = new ArrayList();
- try {
- BufferedReader r = new BufferedReader(new InputStreamReader(url.openStream()));
- String line;
- try {
- URL baseUrl = new URL(url, "./"); //$NON-NLS-1$
- while ((line = r.readLine()) != null) {
- if (line.startsWith("#")) //$NON-NLS-1$
- continue;
- line = line.trim();// symbolicName,version,location,startlevel,expectedState
- if (line.length() == 0)
- continue;
-
- // (expectedState is an integer).
- if (line.startsWith(PARAMETER_BASEURL + "=")) { //$NON-NLS-1$
- String baseUrlSt = line.substring((PARAMETER_BASEURL + "=").length()); //$NON-NLS-1$
- if (!baseUrlSt.endsWith("/")) //$NON-NLS-1$
- baseUrlSt += "/"; //$NON-NLS-1$
- baseUrl = new URL(url, baseUrlSt);
- continue;
- }
- StringTokenizer tok = new StringTokenizer(line, ",", true); //$NON-NLS-1$
- String symbolicName = tok.nextToken();
- if (symbolicName.equals(",")) //$NON-NLS-1$
- symbolicName = null;
- else
- tok.nextToken(); // ,
-
- String version = tok.nextToken();
- if (version.equals(",")) //$NON-NLS-1$
- version = null;
- else
- tok.nextToken(); // ,
-
- String urlSt = tok.nextToken();
- if (urlSt.equals(",")) { //$NON-NLS-1$
- if (symbolicName != null && version != null)
- urlSt = symbolicName + "_" + version + ".jar"; //$NON-NLS-1$ //$NON-NLS-2$
- else
- urlSt = null;
- } else
- tok.nextToken(); // ,
- try {
- new URL(urlSt);
- } catch (MalformedURLException e) {
- urlSt = Utils.getUrlInFull(urlSt, baseUrl).toExternalForm();
- }
-
- int sl = Integer.parseInt(tok.nextToken().trim());
- tok.nextToken(); // ,
- boolean markedAsStarted = Boolean.valueOf(tok.nextToken()).booleanValue();
-
- BundleInfo bInfo = new BundleInfo(symbolicName, version, urlSt, sl, markedAsStarted);
- bundles.add(bInfo);
- }
- } finally {
- try {
- r.close();
- } catch (IOException ex) {
- // ignore
- }
- }
- } catch (MalformedURLException e) {
- // TODO log something
- }
- return (BundleInfo[]) bundles.toArray(new BundleInfo[bundles.size()]);
- }
-
- public File getConfigurationLocation() {
- return configLocation;
- }
-
- public ArrayList getDefaultIUs(Set ius) {
- if (defaultIUs != null)
- return defaultIUs;
- defaultIUs = new ArrayList(5);
- if (addDefaultIUs) {
- defaultIUs.addAll(createLauncherBundleInfo(ius));
- defaultIUs.add(createLauncher());
- defaultIUs.add(createSimpleConfiguratorBundleInfo());
- defaultIUs.add(createDropinsReconcilerBundleInfo());
- // defaultIUs.add(createDefaultConfigurationBundleInfo());
- // defaultIUs.add(createDefaultUnconfigurationBundleInfo());
- }
- return defaultIUs;
- }
-
- // TODO: This is kind of ugly. It's purpose is to allow us to craft CUs that we know about and need for our build
- // We should try to replace this with something more generic prior to release
- public Collection getOtherIUs() {
- if (otherIUs != null)
- return otherIUs;
- otherIUs = new ArrayList();
- otherIUs.add(createDropinsReconcilerBundleInfo());
- return otherIUs;
- }
-
- public File getExecutableLocation() {
- return executableLocation;
- }
-
- public File getFeaturesLocation() {
- return featuresLocation;
- }
-
- public String getFlavor() {
- //use 'tooling' as default flavor since we are not actively using flavors yet
- return flavor == null ? "tooling" : flavor; //$NON-NLS-1$
- }
-
- private FrameworkAdmin getFrameworkAdmin() {
- if (frameworkAdminTracker == null) {
- try {
- Filter filter = Activator.getContext().createFilter(frameworkAdminFillter);
- frameworkAdminTracker = new ServiceTracker(Activator.getContext(), filter, null);
- frameworkAdminTracker.open();
- } catch (InvalidSyntaxException e) {
- // never happens
- e.printStackTrace();
- }
- }
- // try {
- // frameworkAdminTracker.waitForService(500);
- // } catch (InterruptedException e) {
- // // ignore
- // }
-
- FrameworkAdmin admin = (FrameworkAdmin) frameworkAdminTracker.getService();
- if (admin == null) {
- startBundle(ORG_ECLIPSE_EQUINOX_FRAMEWORKADMIN_EQUINOX);
- startBundle(ORG_ECLIPSE_EQUINOX_SIMPLECONFIGURATOR_MANIPULATOR);
- admin = (FrameworkAdmin) frameworkAdminTracker.getService();
- }
- return admin;
- }
-
- public boolean getIsUpdateCompatible() {
- return updateCompatibility;
- }
-
- private Collection getIUs(Set ius, String prefix) {
- Set result = new HashSet();
- for (Iterator iterator = ius.iterator(); iterator.hasNext();) {
- IInstallableUnit tmp = (IInstallableUnit) iterator.next();
- if (tmp.getId().startsWith(prefix))
- result.add(tmp);
- }
- return result;
- }
-
- public File getJRELocation() {
- //assume JRE is relative to install location
- if (executableLocation == null)
- return null;
- return new File(executableLocation.getParentFile(), "jre"); //$NON-NLS-1$
- }
-
- public String getLauncherConfig() {
- return launcherConfig;
- }
-
- public LauncherData getLauncherData() {
- return manipulator == null ? null : manipulator.getLauncherData();
- }
-
- public String[][] getMappingRules() {
- return mappingRules;
- }
-
- public IMetadataRepository getMetadataRepository() {
- return metadataRepository;
- }
-
- public String getRootId() {
- return rootId;
- }
-
- public String getRootVersion() {
- if (rootVersion == null || rootVersion.length() == 0)
- return "0.0.0"; //$NON-NLS-1$
- return rootVersion;
- }
-
- public String getProductFile() {
- return productFile;
- }
-
- public URL getSiteLocation() {
- return siteLocation;
- }
-
- public void initialize(File base) {
- // if the various locations are set in self, use them. Otherwise compute defaults
- File[] bundles = bundleLocations == null ? new File[] {new File(base, "plugins")} : bundleLocations; //$NON-NLS-1$
- File features = featuresLocation == null ? new File(base, "features") : featuresLocation; //$NON-NLS-1$
- File executable = executableLocation == null ? new File(base, getDefaultExecutableName(os)) : executableLocation;
- File configuration = configLocation == null ? new File(base, "configuration") : configLocation; //$NON-NLS-1$
-
- initialize(base, configuration, executable, bundles, features);
- }
-
- public void initialize(File base, File config, File executable, File[] bundles, File features) {
- if (base == null || !base.exists())
- throw new RuntimeException(NLS.bind(Messages.exception_sourceDirectoryInvalid, base == null ? "null" : base.getAbsolutePath())); //$NON-NLS-1$
- this.baseLocation = base;
- if (config == null || config.exists())
- this.configLocation = config;
- if (executable == null || executable.exists())
- this.executableLocation = executable;
- if (bundles != null)
- bundleLocations = bundles;
- if (features != null)
- featuresLocation = features;
- expandBundleLocations();
-
- // if the config or exe are not set then we cannot be generating any data related to the config so
- // don't bother setting up the manipulator. In fact, the manipulator will likely be invalid without
- // these locations.
- if (configLocation == null || executableLocation == null)
- return;
-
- createFrameworkManipulator();
-
- LauncherData launcherData = manipulator.getLauncherData();
- launcherData.setFwPersistentDataLocation(configLocation, true);
- launcherData.setLauncher(executableLocation);
- try {
- manipulator.load();
- } catch (IllegalStateException e2) {
- // TODO Auto-generated catch block
- e2.printStackTrace();
- } catch (FrameworkAdminRuntimeException e2) {
- // TODO Auto-generated catch block
- e2.printStackTrace();
- } catch (IOException e2) {
- // TODO Auto-generated catch block
- e2.printStackTrace();
- }
- }
-
- public boolean publishArtifactRepository() {
- return publishArtifactRepo;
- }
-
- public boolean publishArtifacts() {
- return publishArtifacts;
- }
-
- public boolean reuseExistingPack200Files() {
- return reuseExistingPack200Files;
- }
-
- public void reuseExistingPack200Files(boolean publishPack) {
- reuseExistingPack200Files = publishPack;
- }
-
- public void setAddDefaultIUs(boolean value) {
- addDefaultIUs = value;
- }
-
- public void setAppend(boolean value) {
- append = value;
- }
-
- public void setArtifactRepository(IArtifactRepository value) {
- artifactRepository = value;
- }
-
- public void setExecutableLocation(String value) {
- executableLocation = new File(value);
- }
-
- public void setFlavor(String value) {
- flavor = value;
- }
-
- public void setIsUpdateCompatible(boolean isCompatible) {
- this.updateCompatibility = isCompatible;
- }
-
- public void setLauncherConfig(String value) {
- launcherConfig = value;
- }
-
- public void setMappingRules(String[][] value) {
- mappingRules = value;
- }
-
- public void setMetadataRepository(IMetadataRepository value) {
- metadataRepository = value;
- }
-
- public void setOS(String os) {
- this.os = os;
- }
-
- public void setPublishArtifactRepository(boolean value) {
- publishArtifactRepo = value;
- }
-
- public void setPublishArtifacts(boolean value) {
- publishArtifacts = value;
- }
-
- public void setRootId(String value) {
- rootId = value;
- }
-
- public void setRootVersion(String value) {
- rootVersion = value;
- }
-
- public void setProductFile(String file) {
- productFile = file;
- }
-
- /**
- * Sets the location of site.xml if applicable.
- */
- public void setSiteLocation(URL location) {
- this.siteLocation = location;
- }
-
- private boolean startBundle(String bundleId) {
- PackageAdmin packageAdmin = (PackageAdmin) ServiceHelper.getService(Activator.getContext(), PackageAdmin.class.getName());
- if (packageAdmin == null)
- return false;
-
- Bundle[] bundles = packageAdmin.getBundles(bundleId, null);
- if (bundles != null && bundles.length > 0) {
- for (int i = 0; i < bundles.length; i++) {
- try {
- if ((bundles[0].getState() & Bundle.RESOLVED) > 0) {
- bundles[0].start();
- return true;
- }
- } catch (BundleException e) {
- // failed, try next bundle
- }
- }
- }
- return false;
- }
-
- public String getVersionAdvice() {
- return versionAdvice;
- }
-
- public void setVersionAdvice(String advice) {
- this.versionAdvice = advice;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/Feature.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/Feature.java
deleted file mode 100644
index fb6a12f..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/Feature.java
+++ /dev/null
@@ -1,335 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata.generator;
-
-import java.util.ArrayList;
-import java.util.Map;
-
-/**
- *
- * Feature information
- */
-public class Feature {
-
- private final String id;
- private String version;
- private String label;
- private String image;
- private String pluginId;
- private boolean primary = false;
- private boolean exclusive = false;
- private String application;
- private String colocationAffinity;
-
- private URLEntry description;
- private URLEntry license;
- private URLEntry copyright;
-
- private String installHandler;
- private String installHandlerURL;
- private String installHandlerLibrary;
-
- private URLEntry updateSite;
- private ArrayList discoverySites;
-
- private ArrayList entries;
- private String providerName;
- private String os;
- private String ws;
- private String arch;
- private String nl;
-
- private String location;
-
- private Map localizations;
-
- public Feature(String id, String version) {
- if (id == null)
- throw new IllegalArgumentException();
- this.id = id;
- this.version = version;
- }
-
- public void addDiscoverySite(String siteLabel, String url) {
- if (siteLabel == null && url == null)
- return;
-
- if (this.discoverySites == null)
- this.discoverySites = new ArrayList();
-
- URLEntry entry = new URLEntry(url, siteLabel);
- this.discoverySites.add(entry);
- }
-
- public void addEntry(FeatureEntry plugin) {
- if (entries == null)
- entries = new ArrayList();
- entries.add(plugin);
- }
-
- public String getApplication() {
- return application;
- }
-
- public String getArch() {
- return arch;
- }
-
- public String getColocationAffinity() {
- return colocationAffinity;
- }
-
- public String getCopyright() {
- if (copyright != null)
- return copyright.getAnnotation();
- return null;
- }
-
- public String getCopyrightURL() {
- if (copyright != null)
- return copyright.getURL();
- return null;
- }
-
- public String getDescription() {
- if (description != null)
- return description.getAnnotation();
- return null;
- }
-
- public String getDescriptionURL() {
- if (description != null)
- return description.getURL();
- return null;
- }
-
- public URLEntry[] getDiscoverySites() {
- if (discoverySites == null)
- return new URLEntry[0];
- return (URLEntry[]) discoverySites.toArray(new URLEntry[discoverySites.size()]);
- }
-
- public FeatureEntry[] getEntries() {
- if (entries == null)
- return new FeatureEntry[0];
- return (FeatureEntry[]) entries.toArray(new FeatureEntry[entries.size()]);
- }
-
- public String getId() {
- return id;
- }
-
- public String getImage() {
- return image;
- }
-
- public String getInstallHandler() {
- return installHandler;
- }
-
- public String getInstallHandlerLibrary() {
- return installHandlerLibrary;
- }
-
- public String getInstallHandlerURL() {
- return installHandlerURL;
- }
-
- public String getLabel() {
- return label;
- }
-
- public String getLicense() {
- if (license != null)
- return license.getAnnotation();
- return null;
- }
-
- public String getLicenseURL() {
- if (license != null)
- return license.getURL();
- return null;
- }
-
- public Map getLocalizations() {
- return this.localizations;
- }
-
- public String getLocation() {
- return this.location;
- }
-
- public String getNL() {
- return nl;
- }
-
- public String getOS() {
- return os;
- }
-
- public String getPlugin() {
- return pluginId;
- }
-
- public String getProviderName() {
- return providerName;
- }
-
- public String getUpdateSiteLabel() {
- if (updateSite != null)
- return updateSite.getAnnotation();
- return null;
- }
-
- public String getUpdateSiteURL() {
- if (updateSite != null)
- return updateSite.getURL();
- return null;
- }
-
- public String getVersion() {
- return version;
- }
-
- public String getWS() {
- return ws;
- }
-
- public boolean isExclusive() {
- return exclusive;
- }
-
- public boolean isPrimary() {
- return primary;
- }
-
- public void setApplication(String application) {
- this.application = application;
- }
-
- public void setColocationAffinity(String colocationAffinity) {
- this.colocationAffinity = colocationAffinity;
- }
-
- public void setCopyright(String copyright) {
- if (this.copyright == null)
- this.copyright = new URLEntry();
- this.copyright.setAnnotation(copyright);
- }
-
- public void setCopyrightURL(String copyrightURL) {
- if (this.copyright == null)
- this.copyright = new URLEntry();
- this.copyright.setURL(copyrightURL);
- }
-
- public void setDescription(String description) {
- if (this.description == null)
- this.description = new URLEntry();
- this.description.setAnnotation(description);
- }
-
- public void setDescriptionURL(String descriptionURL) {
- if (this.description == null)
- this.description = new URLEntry();
- this.description.setURL(descriptionURL);
- }
-
- public void setEnvironment(String os, String ws, String arch, String nl) {
- this.os = os;
- this.ws = ws;
- this.arch = arch;
- this.nl = nl;
- }
-
- public void setExclusive(boolean exclusive) {
- this.exclusive = exclusive;
- }
-
- public void setImage(String image) {
- this.image = image;
- }
-
- public void setInstallHandler(String installHandler) {
- this.installHandler = installHandler;
- }
-
- public void setInstallHandlerLibrary(String installHandlerLibrary) {
- this.installHandlerLibrary = installHandlerLibrary;
- }
-
- public void setInstallHandlerURL(String installHandlerURL) {
- this.installHandlerURL = installHandlerURL;
- }
-
- public void setLabel(String label) {
- this.label = label;
- }
-
- public void setLicense(String license) {
- if (this.license == null)
- this.license = new URLEntry();
- this.license.setAnnotation(license);
- }
-
- public void setLicenseURL(String licenseURL) {
- if (this.license == null)
- this.license = new URLEntry();
- this.license.setURL(licenseURL);
- }
-
- public void setLocalizations(Map localizations) {
- this.localizations = localizations;
- }
-
- public void setLocation(String location) {
- this.location = location;
- }
-
- public void setPlugin(String pluginId) {
- this.pluginId = pluginId;
- }
-
- public void setPrimary(boolean primary) {
- this.primary = primary;
- }
-
- public void setProviderName(String value) {
- providerName = value;
- }
-
- public void setUpdateSiteLabel(String updateSiteLabel) {
- if (this.updateSite == null)
- this.updateSite = new URLEntry();
- this.updateSite.setAnnotation(updateSiteLabel);
- }
-
- public void setUpdateSiteURL(String updateSiteURL) {
- if (this.updateSite == null)
- this.updateSite = new URLEntry();
- this.updateSite.setURL(updateSiteURL);
- }
-
- public void setURL(String value) {
- //
- }
-
- public void setVersion(String version) {
- this.version = version;
- }
-
- /**
- * For debugging purposes only.
- */
- public String toString() {
- return "Feature " + id + " version: " + version; //$NON-NLS-1$ //$NON-NLS-2$
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/FeatureEntry.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/FeatureEntry.java
deleted file mode 100644
index 5a82ea9..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/FeatureEntry.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata.generator;
-
-import org.osgi.framework.Version;
-
-/**
- */
-public class FeatureEntry {
- private final String id;
- private String version;
- private String url;
- private String os;
- private String ws;
- private String arch;
- private String nl;
- private String match;
- private final boolean isPlugin;
- private boolean isFragment = false;
- private boolean isRequires = false;
- private boolean unpack = true;
- private boolean optional = false;
- private boolean isPatch = false;
-
- /**
- * Temporary field to add provisioning filters to features
- */
- private String filter;
-
- public static FeatureEntry createRequires(String id, String version, String match, String filter, boolean isPlugin) {
- FeatureEntry result = new FeatureEntry(id, version, isPlugin);
- result.match = match;
- result.isRequires = true;
- if (filter != null)
- result.setFilter(filter);
- return result;
- }
-
- public FeatureEntry(String id, String version, boolean isPlugin) {
- this.id = id;
- this.version = Version.parseVersion(version).toString();
- this.isPlugin = isPlugin;
- }
-
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- final FeatureEntry other = (FeatureEntry) obj;
- if (id == null) {
- if (other.id != null)
- return false;
- } else if (!id.equals(other.id))
- return false;
- if (version == null) {
- if (other.version != null)
- return false;
- } else if (!version.equals(other.version))
- return false;
- return true;
- }
-
- public String getArch() {
- return arch;
- }
-
- /**
- * Temporary method to add provisioning filters to features
- */
- public String getFilter() {
- return filter;
- }
-
- public String getId() {
- return id;
- }
-
- public String getMatch() {
- return match;
- }
-
- public String getNL() {
- return nl;
- }
-
- public String getOS() {
- return os;
- }
-
- public String getURL() {
- return url;
- }
-
- public String getVersion() {
- return version;
- }
-
- public String getWS() {
- return ws;
- }
-
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((id == null) ? 0 : id.hashCode());
- result = prime * result + ((version == null) ? 0 : version.hashCode());
- return result;
- }
-
- public boolean isFragment() {
- return isFragment;
- }
-
- public boolean isOptional() {
- return optional;
- }
-
- public boolean isPlugin() {
- return isPlugin;
- }
-
- public boolean isRequires() {
- return isRequires;
- }
-
- public boolean isUnpack() {
- return unpack;
- }
-
- public void setEnvironment(String os, String ws, String arch, String nl) {
- this.os = os;
- this.ws = ws;
- this.arch = arch;
- this.nl = nl;
- }
-
- /**
- * Temporary method to add provisioning filters to features
- */
- public void setFilter(String filter) {
- this.filter = filter;
-
- }
-
- public void setFragment(boolean value) {
- isFragment = value;
- }
-
- public void setOptional(boolean value) {
- optional = value;
- }
-
- public void setUnpack(boolean value) {
- unpack = value;
- }
-
- public void setURL(String value) {
- url = value;
- }
-
- public void setVersion(String value) {
- version = Version.parseVersion(value).toString();
- }
-
- public String toString() {
- StringBuffer result = new StringBuffer();
-
- result.append(isPlugin ? "Plugin: " : "Feature: "); //$NON-NLS-1$ //$NON-NLS-2$
- result.append(id != null ? id.toString() : ""); //$NON-NLS-1$
- result.append(version != null ? " " + version.toString() : ""); //$NON-NLS-1$ //$NON-NLS-2$
- return result.toString();
- }
-
- public boolean isPatch() {
- return isPatch;
- }
-
- public void setPatch(boolean patch) {
- this.isPatch = patch;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/Generator.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/Generator.java
deleted file mode 100644
index 2ddfac3..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/Generator.java
+++ /dev/null
@@ -1,1284 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata.generator;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import java.util.Map.Entry;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.frameworkadmin.equinox.EquinoxConstants;
-import org.eclipse.equinox.internal.p2.core.helpers.*;
-import org.eclipse.equinox.internal.p2.metadata.generator.*;
-import org.eclipse.equinox.internal.p2.metadata.generator.Messages;
-import org.eclipse.equinox.internal.p2.metadata.generator.features.*;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitFragmentDescription;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.query.Query;
-import org.eclipse.osgi.service.environment.Constants;
-import org.eclipse.osgi.service.resolver.*;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.Version;
-
-public class Generator {
- /**
- * Captures the output of an execution of the generator.
- */
- public static class GeneratorResult {
- public static final String CONFIGURATION_CUS = "CONFIGURATION_CUS"; //$NON-NLS-1$
-
- final public Map pluginShape = new HashMap();
-
- /**
- * The set of generated IUs that will be children of the root IU
- */
- final public Set rootIUs = new HashSet();
- /**
- * The set of generated IUs that will not be children of the root IU
- */
- final public Set nonRootIUs = new HashSet();
-
- /**
- * Map of symbolic name to a set of generated CUs for that IU
- */
- final public Map configurationIUs = new HashMap();
-
- /**
- * Map launcherConfig to config.ini ConfigData
- */
- final public Map configData = new HashMap();
-
- /**
- * Returns all IUs generated during this execution of the generator.
- */
- public Set allGeneratedIUs() {
- HashSet all = new HashSet();
- all.addAll(rootIUs);
- all.addAll(nonRootIUs);
- return all;
- }
-
- /**
- * Returns the IU in this result with the given id.
- */
- public IInstallableUnit getInstallableUnit(String id) {
- for (Iterator iterator = rootIUs.iterator(); iterator.hasNext();) {
- IInstallableUnit tmp = (IInstallableUnit) iterator.next();
- if (tmp.getId().equals(id))
- return tmp;
- }
- for (Iterator iterator = nonRootIUs.iterator(); iterator.hasNext();) {
- IInstallableUnit tmp = (IInstallableUnit) iterator.next();
- if (tmp.getId().equals(id))
- return tmp;
- }
- return null;
-
- }
-
- public Map getPluginShapeInfo() {
- return pluginShape;
- }
- }
-
- private static final String ORG_ECLIPSE_EQUINOX_SIMPLECONFIGURATOR = "org.eclipse.equinox.simpleconfigurator"; //$NON-NLS-1$
- private static final String ORG_ECLIPSE_UPDATE_CONFIGURATOR = "org.eclipse.update.configurator"; //$NON-NLS-1$
- private static final String ORG_ECLIPSE_EQUINOX_LAUNCHER = "org.eclipse.equinox.launcher"; //$NON-NLS-1$
-
- private static final String PRODUCT_CONFIG_SUFFIX = ".config"; //$NON-NLS-1$
- private static final String PRODUCT_INI_SUFFIX = ".ini"; //$NON-NLS-1$
- private static final String PRODUCT_LAUCHER_SUFFIX = ".launcher"; //$NON-NLS-1$
- private static final String CONFIG_ANY = "ANY"; //$NON-NLS-1$
-
- static final String DEFAULT_BUNDLE_LOCALIZATION = "plugin"; //$NON-NLS-1$
-
- private static final String PROTOCOL_FILE = "file"; //$NON-NLS-1$
-
- protected final IGeneratorInfo info;
-
- private GeneratorResult incrementalResult = null;
- private ProductFile productFile = null;
- private boolean generateRootIU = true;
-
- /**
- * Short term fix to ensure IUs that have no corresponding category are not lost.
- * See https://bugs.eclipse.org/bugs/show_bug.cgi?id=211521.
- */
- protected final Set rootCategory = new HashSet();
-
- private StateObjectFactory stateObjectFactory;
-
- /**
- * 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("")) //$NON-NLS-1$
- return new String[0];
- List result = new ArrayList();
- for (StringTokenizer tokens = new StringTokenizer(list, separator); tokens.hasMoreTokens();) {
- String token = tokens.nextToken().trim();
- if (!token.equals("")) //$NON-NLS-1$
- result.add(token);
- }
- return (String[]) result.toArray(new String[result.size()]);
- }
-
- public static String[] parseConfigSpec(String config) {
- String[] parsed = getArrayFromString(config, "_"); //$NON-NLS-1$
- for (int i = 0; i < parsed.length; i++) {
- if (parsed[i].equals("*")) //$NON-NLS-1$
- parsed[i] = "ANY"; //$NON-NLS-1$
- }
- if (parsed.length > 3) {
- String[] adjusted = new String[] {parsed[0], parsed[1], parsed[2] + '_' + parsed[3]};
- return adjusted;
- }
- return parsed;
- }
-
- public Generator(IGeneratorInfo infoProvider) {
- this.info = infoProvider;
- // TODO need to figure a better way of configuring the generator...
- PlatformAdmin platformAdmin = (PlatformAdmin) ServiceHelper.getService(Activator.getContext(), PlatformAdmin.class.getName());
- if (platformAdmin != null) {
- stateObjectFactory = platformAdmin.getFactory();
- }
- }
-
- public void setIncrementalResult(GeneratorResult result) {
- this.incrementalResult = result;
- }
-
- private String getProductVersion() {
- String version = "1.0.0"; //$NON-NLS-1$
- if (productFile != null && !productFile.getVersion().equals("0.0.0")) //$NON-NLS-1$
- version = productFile.getVersion();
- else if (!info.getRootVersion().equals("0.0.0")) //$NON-NLS-1$
- version = info.getRootVersion();
- return version;
- }
-
- protected IInstallableUnit createProductIU(GeneratorResult result) {
- generateProductConfigCUs(result);
-
- GeneratorResult productContents = new GeneratorResult();
-
- ProductQuery query = new ProductQuery(productFile, info.getFlavor(), result.configurationIUs, info.getVersionAdvice());
- Collector collector = info.getMetadataRepository().query(query, query.getCollector(), null);
- for (Iterator iterator = collector.iterator(); iterator.hasNext();) {
- productContents.rootIUs.add(iterator.next());
- }
-
- String version = getProductVersion();
- VersionRange range = new VersionRange(new Version(version), true, new Version(version), true);
- ArrayList requires = new ArrayList(1);
- requires.add(MetadataFactory.createRequiredCapability(info.getFlavor() + productFile.getId(), productFile.getId() + PRODUCT_LAUCHER_SUFFIX, range, null, false, true));
- requires.add(MetadataFactory.createRequiredCapability(info.getFlavor() + productFile.getId(), productFile.getId() + PRODUCT_INI_SUFFIX, range, null, false, false));
- requires.add(MetadataFactory.createRequiredCapability(info.getFlavor() + productFile.getId(), productFile.getId() + PRODUCT_CONFIG_SUFFIX, range, null, false, false));
-
- //default CUs
- requires.add(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, MetadataGeneratorHelper.createDefaultConfigUnitId(MetadataGeneratorHelper.OSGI_BUNDLE_CLASSIFIER, info.getFlavor()), VersionRange.emptyRange, null, false, false));
- requires.add(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, MetadataGeneratorHelper.createDefaultConfigUnitId("source", info.getFlavor()), VersionRange.emptyRange, null, false, false)); //$NON-NLS-1$
- if (productFile.useFeatures())
- requires.add(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, MetadataGeneratorHelper.createDefaultConfigUnitId(MetadataGeneratorHelper.ECLIPSE_FEATURE_CLASSIFIER, info.getFlavor()), VersionRange.emptyRange, MetadataGeneratorHelper.INSTALL_FEATURES_FILTER, true, false));
-
- InstallableUnitDescription root = createTopLevelIUDescription(productContents, productFile.getId(), version, productFile.getProductName(), requires, false);
- return MetadataFactory.createInstallableUnit(root);
- }
-
- protected IInstallableUnit createTopLevelIU(GeneratorResult result, String configurationIdentification, String configurationVersion) {
- // TODO, bit of a hack but for now set the name of the IU to the ID.
- InstallableUnitDescription root = createTopLevelIUDescription(result, configurationIdentification, configurationVersion, configurationIdentification, null, true);
- return MetadataFactory.createInstallableUnit(root);
- }
-
- protected InstallableUnitDescription createTopLevelIUDescription(GeneratorResult result, String configurationIdentification, String configurationVersion, String configurationName, List requires, boolean configureLauncherData) {
- InstallableUnitDescription root = new MetadataFactory.InstallableUnitDescription();
- root.setSingleton(true);
- root.setId(configurationIdentification);
- root.setVersion(new Version(configurationVersion));
- root.setProperty(IInstallableUnit.PROP_NAME, configurationName);
-
- ArrayList reqsConfigurationUnits = new ArrayList(result.rootIUs.size());
- for (Iterator iterator = result.rootIUs.iterator(); iterator.hasNext();) {
- IInstallableUnit iu = (IInstallableUnit) iterator.next();
- VersionRange range = new VersionRange(iu.getVersion(), true, iu.getVersion(), true);
- // boolean isOptional = checkOptionalRootDependency(iu);
- reqsConfigurationUnits.add(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, iu.getId(), range, iu.getFilter(), false, false));
- }
- if (requires != null)
- reqsConfigurationUnits.addAll(requires);
- root.setRequiredCapabilities((RequiredCapability[]) reqsConfigurationUnits.toArray(new RequiredCapability[reqsConfigurationUnits.size()]));
- root.setArtifacts(new IArtifactKey[0]);
-
- root.setProperty("lineUp", "true"); //$NON-NLS-1$ //$NON-NLS-2$
- root.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor(configurationIdentification, VersionRange.emptyRange, IUpdateDescriptor.NORMAL, null));
- root.setProperty(IInstallableUnit.PROP_TYPE_GROUP, Boolean.TRUE.toString());
- root.setCapabilities(new ProvidedCapability[] {MetadataGeneratorHelper.createSelfCapability(configurationIdentification, new Version(configurationVersion))});
- root.setTouchpointType(MetadataGeneratorHelper.TOUCHPOINT_OSGI);
- Map touchpointData = new HashMap();
-
- String configurationData = ""; //$NON-NLS-1$
- String unconfigurationData = ""; //$NON-NLS-1$
-
- ConfigData configData = info.getConfigData();
- if (configData != null) {
- String[] dataStrings = getConfigurationStrings(configData);
- configurationData += dataStrings[0];
- unconfigurationData += dataStrings[1];
- }
-
- if (configureLauncherData) {
- LauncherData launcherData = info.getLauncherData();
- if (launcherData != null) {
- String[] dataStrings = getLauncherConfigStrings(launcherData.getJvmArgs(), launcherData.getProgramArgs());
- configurationData += dataStrings[0];
- unconfigurationData += dataStrings[1];
- }
- }
-
- touchpointData.put("configure", configurationData); //$NON-NLS-1$
- touchpointData.put("unconfigure", unconfigurationData); //$NON-NLS-1$
- root.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
- return root;
- }
-
- private String[] getConfigurationStrings(ConfigData configData) {
- String configurationData = ""; //$NON-NLS-1$
- String unconfigurationData = ""; //$NON-NLS-1$
- for (Iterator iterator = configData.getFwDependentProps().entrySet().iterator(); iterator.hasNext();) {
- Entry aProperty = (Entry) iterator.next();
- String key = ((String) aProperty.getKey());
- if (key.equals("osgi.frameworkClassPath") || key.equals("osgi.framework") || key.equals("osgi.bundles") || key.equals("eof")) //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- continue;
- configurationData += "setProgramProperty(propName:" + key + ", propValue:" + ((String) aProperty.getValue()) + ");"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- unconfigurationData += "setProgramProperty(propName:" + key + ", propValue:);"; //$NON-NLS-1$ //$NON-NLS-2$
- }
- for (Iterator iterator = configData.getFwIndependentProps().entrySet().iterator(); iterator.hasNext();) {
- Entry aProperty = (Entry) iterator.next();
- String key = ((String) aProperty.getKey());
- if (key.equals("osgi.frameworkClassPath") || key.equals("osgi.framework") || key.equals("osgi.bundles") || key.equals("eof")) //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- continue;
- configurationData += "setProgramProperty(propName:" + key + ", propValue:" + ((String) aProperty.getValue()) + ");"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- unconfigurationData += "setProgramProperty(propName:" + key + ", propValue:);"; //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- return new String[] {configurationData, unconfigurationData};
- }
-
- private String[] getLauncherConfigStrings(final String[] jvmArgs, final String[] programArgs) {
- String configurationData = ""; //$NON-NLS-1$
- String unconfigurationData = ""; //$NON-NLS-1$
-
- for (int i = 0; i < jvmArgs.length; i++) {
- configurationData += "addJvmArg(jvmArg:" + jvmArgs[i] + ");"; //$NON-NLS-1$ //$NON-NLS-2$
- unconfigurationData += "removeJvmArg(jvmArg:" + jvmArgs[i] + ");"; //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- for (int i = 0; i < programArgs.length; i++) {
- String programArg = programArgs[i];
- if (programArg.equals("--launcher.library") || programArg.equals("-startup") || programArg.equals("-configuration")) //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- i++;
- configurationData += "addProgramArg(programArg:" + programArg + ");"; //$NON-NLS-1$ //$NON-NLS-2$
- unconfigurationData += "removeProgramArg(programArg:" + programArg + ");"; //$NON-NLS-1$ //$NON-NLS-2$
- }
- return new String[] {configurationData, unconfigurationData};
- }
-
- public IStatus generate() {
- GeneratorResult result = incrementalResult != null ? incrementalResult : new GeneratorResult();
-
- if (info.getProductFile() != null) {
- try {
- productFile = new ProductFile(info.getProductFile(), null);
- } catch (Exception e) {
- //TODO
- }
- }
-
- Feature[] features = getFeatures(info.getFeaturesLocation());
- generateFeatureIUs(features, result, info.getArtifactRepository());
-
- BundleDescription[] bundles = getBundleDescriptions(info.getBundleLocations());
- generateBundleIUs(bundles, result, info.getArtifactRepository());
-
- generateNativeIUs(info.getExecutableLocation(), result, info.getArtifactRepository());
-
- generateConfigIUs(result);
-
- if (info.addDefaultIUs())
- generateDefaultConfigIU(result.rootIUs);
-
- if (generateRootIU)
- generateRootIU(result, info.getRootId(), info.getRootVersion());
-
- // persistence.setMappingRules(info.getMappingRules() == null ? defaultMappingRules : info.getMappingRules());
- // if (info.publishArtifacts() || info.publishArtifactRepository()) {
- // persistence.saveArtifactRepository();
- // }
- IMetadataRepository metadataRepository = info.getMetadataRepository();
- if (metadataRepository != null) {
- Set allGeneratedUnits = result.allGeneratedIUs();
- metadataRepository.addInstallableUnits((IInstallableUnit[]) allGeneratedUnits.toArray(new IInstallableUnit[allGeneratedUnits.size()]));
- }
-
- return Status.OK_STATUS;
- }
-
- protected void generateBundleIUs(BundleDescription[] bundles, GeneratorResult result, IArtifactRepository destination) {
- // Computing the path for localized property files in a NL fragment bundle
- // requires the BUNDLE_LOCALIZATION property from the manifest of the host bundle,
- // so a first pass is done over all the bundles to cache this value as well as the tags
- // from the manifest for the localizable properties.
- final int CACHE_PHASE = 0;
- final int GENERATE_PHASE = 1;
- Map bundleLocalizationMap = new HashMap(bundles.length);
- Set localizationIUs = new HashSet(32);
- for (int phase = CACHE_PHASE; phase <= GENERATE_PHASE; phase++) {
- for (int i = 0; i < bundles.length; i++) {
- BundleDescription bd = bundles[i];
- // A bundle may be null if the associated plug-in does not have a manifest file -
- // for example, org.eclipse.jdt.launching.j9
- if (bd != null && bd.getSymbolicName() != null && bd.getVersion() != null) {
- Map bundleManifest = (Map) bd.getUserObject();
-
- if (phase == CACHE_PHASE) {
- if (bundleManifest != null) {
- String[] cachedValues = MetadataGeneratorHelper.getManifestCachedValues(bundleManifest);
- bundleLocalizationMap.put(makeSimpleKey(bd), cachedValues);
- }
- } else {
- String format = (String) result.getPluginShapeInfo().get(bd.getSymbolicName() + '_' + bd.getVersion());
- if (format == null)
- format = (String) bundleManifest.get(BundleDescriptionFactory.BUNDLE_FILE_KEY);
- boolean isDir = (format != null && format.equals(BundleDescriptionFactory.DIR) ? true : false);
-
- IArtifactKey key = MetadataGeneratorHelper.createBundleArtifactKey(bd.getSymbolicName(), bd.getVersion().toString());
- IArtifactDescriptor ad = MetadataGeneratorHelper.createArtifactDescriptor(key, new File(bd.getLocation()), true, false);
- ((ArtifactDescriptor) ad).setProperty(IArtifactDescriptor.DOWNLOAD_CONTENTTYPE, IArtifactDescriptor.TYPE_ZIP);
- File bundleFile = new File(bd.getLocation());
- if (bundleFile.isDirectory())
- publishArtifact(ad, bundleFile.listFiles(), destination, false);
- else
- publishArtifact(ad, new File[] {bundleFile}, destination, true);
- if (info.reuseExistingPack200Files() && !info.publishArtifacts()) {
- File packFile = new Path(bd.getLocation()).addFileExtension("pack.gz").toFile(); //$NON-NLS-1$
- if (packFile.exists()) {
- IArtifactDescriptor ad200 = MetadataGeneratorHelper.createPack200ArtifactDescriptor(key, packFile, ad.getProperty(IArtifactDescriptor.ARTIFACT_SIZE));
- publishArtifact(ad200, new File[] {packFile}, destination, true);
- }
- }
-
- IInstallableUnit bundleIU = MetadataGeneratorHelper.createBundleIU(bd, bundleManifest, isDir, key, true);
-
- if (isFragment(bd)) {
- // TODO: Can NL fragments be multi-host? What special handling
- // is required for multi-host fragments in general?
- String hostId = bd.getHost().getName();
- String hostKey = makeSimpleKey(hostId);
- String[] cachedValues = (String[]) bundleLocalizationMap.get(hostKey);
-
- if (cachedValues != null) {
- MetadataGeneratorHelper.createHostLocalizationFragment(bundleIU, bd, hostId, cachedValues, localizationIUs);
- }
- }
-
- result.rootIUs.add(bundleIU);
- result.nonRootIUs.addAll(localizationIUs);
- localizationIUs.clear();
- }
- }
- }
- }
- }
-
- private static boolean isFragment(BundleDescription bd) {
- return (bd.getHost() != null ? true : false);
- }
-
- private static String makeSimpleKey(BundleDescription bd) {
- // TODO: can't use the bundle version in the key for the BundleLocalization
- // property map since the host specification for a fragment has a
- // version range, not a version. Hence, this mechanism for finding
- // manifest localization property files may break under changes
- // to the BundleLocalization property of a bundle.
- return makeSimpleKey(bd.getSymbolicName() /*, bd.getVersion() */);
- }
-
- private static String makeSimpleKey(String id /*, Version version */) {
- return id; // + '_' + version.toString();
- }
-
- /**
- * Generates IUs corresponding to update site categories.
- * @param categoriesToFeatures Map of SiteCategory ->Set (Feature IUs in that category).
- * @param result The generator result being built
- */
- protected void generateCategoryIUs(Map categoriesToFeatures, GeneratorResult result) {
- for (Iterator it = categoriesToFeatures.keySet().iterator(); it.hasNext();) {
- SiteCategory category = (SiteCategory) it.next();
- result.nonRootIUs.add(MetadataGeneratorHelper.createCategoryIU(category, (Set) categoriesToFeatures.get(category), null));
- }
- }
-
- private void storeConfigData(GeneratorResult result) {
- if (result.configData.containsKey(info.getLauncherConfig()))
- return; //been here, done this
-
- LauncherData launcherData = info.getLauncherData();
- if (launcherData == null)
- return;
-
- File fwConfigFile = new File(launcherData.getFwConfigLocation(), EquinoxConstants.CONFIG_INI);
- if (fwConfigFile.exists()) {
- if (info instanceof EclipseInstallGeneratorInfoProvider) {
- ((EclipseInstallGeneratorInfoProvider) info).loadConfigData(fwConfigFile);
- ConfigData data = info.getConfigData();
- result.configData.put(info.getLauncherConfig(), data);
- }
- }
- }
-
- protected GeneratorBundleInfo createGeneratorBundleInfo(BundleInfo bundleInfo, GeneratorResult result) {
- if (bundleInfo.getLocation() != null)
- return new GeneratorBundleInfo(bundleInfo);
-
- String name = bundleInfo.getSymbolicName();
-
- //easy case: do we have a matching IU?
- IInstallableUnit iu = result.getInstallableUnit(name);
- if (iu != null) {
- bundleInfo.setVersion(iu.getVersion().toString());
- return new GeneratorBundleInfo(bundleInfo);
- }
-
- //harder: try id_version
- int i = name.indexOf('_');
- while (i > -1) {
- Version version = null;
- try {
- version = new Version(name.substring(i));
- bundleInfo.setSymbolicName(name.substring(0, i));
- bundleInfo.setVersion(version.toString());
- return new GeneratorBundleInfo(bundleInfo);
- } catch (IllegalArgumentException e) {
- // the '_' found was probably part of the symbolic id
- i = name.indexOf('_', i);
- }
- }
-
- //Query the repo
- Query query = new InstallableUnitQuery(name);
- Collector collector = new Collector();
- Iterator matches = info.getMetadataRepository().query(query, collector, null).iterator();
- //pick the newest match
- IInstallableUnit newest = null;
- while (matches.hasNext()) {
- IInstallableUnit candidate = (IInstallableUnit) matches.next();
- if (newest == null || (newest.getVersion().compareTo(candidate.getVersion()) < 0))
- newest = candidate;
- }
- if (newest != null) {
- bundleInfo.setVersion(newest.getVersion().toString());
- return new GeneratorBundleInfo(bundleInfo);
- }
-
- return null;
- }
-
- protected void generateBundleConfigIUs(BundleInfo[] infos, GeneratorResult result, String launcherConfig) {
- if (infos == null)
- return;
-
- String cuIdPrefix = ""; //$NON-NLS-1$
- String filter = null;
- if (launcherConfig != null) {
- //launcher config is os_ws_arch, we want suffix ws.os.arch
- String[] config = parseConfigSpec(launcherConfig);
- cuIdPrefix = config[1] + '.' + config[0] + '.' + config[2];
-
- filter = "(& (osgi.ws=" + config[1] + ") (osgi.os=" + config[0] + ") (osgi.arch=" + config[2] + "))"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- }
-
- List allCUs = new ArrayList();
- for (int i = 0; i < infos.length; i++) {
- GeneratorBundleInfo bundle = createGeneratorBundleInfo(infos[i], result);
- if (bundle == null)
- continue;
-
- if (bundle.getSymbolicName().equals(ORG_ECLIPSE_EQUINOX_LAUNCHER)) {
- bundle = EclipseInstallGeneratorInfoProvider.createLauncher();
- } else if (bundle.getSymbolicName().startsWith(ORG_ECLIPSE_EQUINOX_LAUNCHER + '.')) {
- //launcher fragments will be handled by generateDefaultConfigIU(Set) for --launcher.library.
- //they don't need to be started so skip them here to avoid having to merge config commands
- continue;
- }
- if (bundle.getSymbolicName().equals(ORG_ECLIPSE_UPDATE_CONFIGURATOR)) {
- bundle.setStartLevel(BundleInfo.NO_LEVEL);
- bundle.setMarkedAsStarted(false);
- bundle.setSpecialConfigCommands("setProgramProperty(propName:org.eclipse.update.reconcile, propValue:false);"); //$NON-NLS-1$
- bundle.setSpecialUnconfigCommands("setProgramProperty(propName:org.eclipse.update.reconcile, propValue:);"); //$NON-NLS-1$
- } else if (bundle.getStartLevel() == BundleInfo.NO_LEVEL && !bundle.isMarkedAsStarted()) {
- // this bundle does not require any particular configuration, the plug-in default IU will handle installing it
- continue;
- }
-
- IInstallableUnit cu = MetadataGeneratorHelper.createBundleConfigurationUnit(bundle.getSymbolicName(), new Version(bundle.getVersion()), false, bundle, info.getFlavor() + cuIdPrefix, filter);
- if (cu != null) {
- allCUs.add(cu);
- result.rootIUs.add(cu);
- String key = (productFile != null && productFile.useFeatures()) ? GeneratorResult.CONFIGURATION_CUS : bundle.getSymbolicName();
- if (result.configurationIUs.containsKey(key)) {
- ((Set) result.configurationIUs.get(key)).add(cu);
- } else {
- Set set = new HashSet();
- set.add(cu);
- result.configurationIUs.put(key, set);
- }
- }
- }
- IMetadataRepository metadataRepository = info.getMetadataRepository();
- if (metadataRepository != null && !allCUs.isEmpty()) {
- // Product Query will run against the repo later in createProductIU, make sure these CUs are in before then
- metadataRepository.addInstallableUnits((IInstallableUnit[]) allCUs.toArray(new IInstallableUnit[allCUs.size()]));
- }
-
- }
-
- protected void generateConfigIUs(GeneratorResult result) {
- ConfigData data = info.getConfigData();
- if ((data == null || data.getBundles().length == 0) && info.getLauncherConfig() != null) {
- //We have the config.ini but not necessarily all the needed bundle IUs, remember for later
- storeConfigData(result);
- } else if (data != null) {
- // generation against an eclipse install (config.ini + bundles)
- generateBundleConfigIUs(data.getBundles(), result, info.getLauncherConfig());
- } else if (result.configData.size() > 0 && generateRootIU) {
- // generation from remembered config.ini's
- // we have N platforms, generate a CU for each
- // TODO try and find common properties across platforms
- for (Iterator iterator = result.configData.keySet().iterator(); iterator.hasNext();) {
- String launcherConfig = (String) iterator.next();
- data = (ConfigData) result.configData.get(launcherConfig);
- generateBundleConfigIUs(data.getBundles(), result, launcherConfig);
- }
- }
-
- List bundleInfoList = new ArrayList();
- if (info.addDefaultIUs())
- bundleInfoList.addAll(info.getDefaultIUs(result.rootIUs));
-
- bundleInfoList.addAll(info.getOtherIUs());
-
- for (Iterator iterator = bundleInfoList.iterator(); iterator.hasNext();) {
- GeneratorBundleInfo bundle = (GeneratorBundleInfo) iterator.next();
- IInstallableUnit configuredIU = result.getInstallableUnit(bundle.getSymbolicName());
- if (configuredIU == null) {
- if (!generateRootIU)
- continue;
- Query query = new InstallableUnitQuery(bundle.getSymbolicName());
- Collector collector = new Collector();
- IMetadataRepository metadataRepository = info.getMetadataRepository();
- if (metadataRepository == null)
- continue;
- Iterator matches = metadataRepository.query(query, collector, null).iterator();
- //pick the newest match
- IInstallableUnit newest = null;
- while (matches.hasNext()) {
- IInstallableUnit candidate = (IInstallableUnit) matches.next();
- if (newest == null || (newest.getVersion().compareTo(candidate.getVersion()) < 0))
- newest = candidate;
- }
- if (newest != null) {
- configuredIU = newest;
- } else {
- continue;
- }
- }
- bundle.setVersion(configuredIU.getVersion().toString());
- String filter = configuredIU == null ? null : configuredIU.getFilter();
- IInstallableUnit cu = MetadataGeneratorHelper.createBundleConfigurationUnit(bundle.getSymbolicName(), new Version(bundle.getVersion()), false, bundle, info.getFlavor(), filter);
- //the configuration unit should share the same platform filter as the IU being configured.
- if (cu != null)
- result.rootIUs.add(cu);
- String key = null;
- if (productFile != null && productFile.useFeatures())
- key = GeneratorResult.CONFIGURATION_CUS;
- else if (bundle.getSymbolicName().startsWith(ORG_ECLIPSE_EQUINOX_LAUNCHER + '.'))
- key = ORG_ECLIPSE_EQUINOX_LAUNCHER;
- else
- key = bundle.getSymbolicName();
- if (result.configurationIUs.containsKey(key)) {
- ((Set) result.configurationIUs.get(key)).add(cu);
- } else {
- Set set = new HashSet();
- set.add(cu);
- result.configurationIUs.put(key, set);
- }
- }
- }
-
- /**
- * Short term fix to ensure IUs that have no corresponding category are not lost.
- * See https://bugs.eclipse.org/bugs/show_bug.cgi?id=211521.
- */
- private IInstallableUnit generateDefaultCategory(IInstallableUnit rootIU) {
- rootCategory.add(rootIU);
-
- InstallableUnitDescription cat = new MetadataFactory.InstallableUnitDescription();
- cat.setSingleton(true);
- String categoryId = rootIU.getId() + ".categoryIU"; //$NON-NLS-1$
- cat.setId(categoryId);
- cat.setVersion(Version.emptyVersion);
- cat.setProperty(IInstallableUnit.PROP_NAME, rootIU.getProperty(IInstallableUnit.PROP_NAME));
- cat.setProperty(IInstallableUnit.PROP_DESCRIPTION, rootIU.getProperty(IInstallableUnit.PROP_DESCRIPTION));
-
- ArrayList required = new ArrayList(rootCategory.size());
- for (Iterator iterator = rootCategory.iterator(); iterator.hasNext();) {
- IInstallableUnit iu = (IInstallableUnit) iterator.next();
- required.add(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, iu.getId(), VersionRange.emptyRange, iu.getFilter(), false, false));
- }
- cat.setRequiredCapabilities((RequiredCapability[]) required.toArray(new RequiredCapability[required.size()]));
- cat.setCapabilities(new ProvidedCapability[] {MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, categoryId, Version.emptyVersion)});
- cat.setArtifacts(new IArtifactKey[0]);
- cat.setProperty(IInstallableUnit.PROP_TYPE_CATEGORY, "true"); //$NON-NLS-1$
- return MetadataFactory.createInstallableUnit(cat);
- }
-
- private void generateDefaultConfigIU(Set ius) {
- // TODO this is a bit of a hack. We need to have the default IU fragment generated with code that configures
- // and unconfigures. The Generator should be decoupled from any particular provider but it is not clear
- // that we should add the create* methods to IGeneratorInfo...
- // MockBundleDescription bd1 = new MockBundleDescription("defaultConfigure");
- // MockBundleDescription bd2 = new MockBundleDescription("defaultUnconfigure");
- EclipseInstallGeneratorInfoProvider provider = (EclipseInstallGeneratorInfoProvider) info;
- ius.add(MetadataGeneratorHelper.createDefaultBundleConfigurationUnit(provider.createDefaultConfigurationBundleInfo(), provider.createDefaultUnconfigurationBundleInfo(), info.getFlavor()));
- ius.add(MetadataGeneratorHelper.createDefaultFeatureConfigurationUnit(info.getFlavor()));
- ius.add(MetadataGeneratorHelper.createDefaultConfigurationUnitForSourceBundles(info.getFlavor()));
- }
-
- /**
- * This method generates IUs for the launchers found in the org.eclipse.executable feature, if present.
- * @return <code>true</code> if the executable feature was processed successfully,
- * and <code>false</code> otherwise.
- */
- private boolean generateExecutableFeatureIUs(GeneratorResult result, IArtifactRepository destination) {
- File parentDir = info.getFeaturesLocation();
- if (parentDir == null || !parentDir.exists())
- return false;
- File[] featureDirs = parentDir.listFiles();
- if (featureDirs == null)
- return false;
- File executableFeatureDir = null;
- final String featurePrefix = "org.eclipse.equinox.executable_"; //$NON-NLS-1$
- for (int i = 0; i < featureDirs.length; i++) {
- if (featureDirs[i].getName().startsWith(featurePrefix)) {
- executableFeatureDir = featureDirs[i];
- break;
- }
- }
- if (executableFeatureDir == null)
- return false;
- File binDir = new File(executableFeatureDir, "bin"); //$NON-NLS-1$
- if (!binDir.exists())
- return false;
- //the bin directory is dividing into a directory tree of the form /bin/ws/os/arch
- File[] wsDirs = binDir.listFiles();
- if (wsDirs == null)
- return false;
- String versionString = executableFeatureDir.getName().substring(featurePrefix.length());
- for (int wsIndex = 0; wsIndex < wsDirs.length; wsIndex++) {
- String ws = wsDirs[wsIndex].getName();
- File[] osDirs = wsDirs[wsIndex].listFiles();
- if (osDirs == null)
- continue;
- for (int osIndex = 0; osIndex < osDirs.length; osIndex++) {
- String os = osDirs[osIndex].getName();
- File[] archDirs = osDirs[osIndex].listFiles();
- if (archDirs == null)
- continue;
- for (int archIndex = 0; archIndex < archDirs.length; archIndex++) {
- String arch = archDirs[archIndex].getName();
- generateExecutableIUs(ws, os, arch, versionString, archDirs[archIndex], result, destination);
- }
- }
- }
- return true;
- }
-
- /**
- * Generates IUs and CUs for the files that make up the launcher for a given
- * ws/os/arch combination.
- */
- private void generateExecutableIUs(String ws, String os, final String arch, String version, File root, GeneratorResult result, IArtifactRepository destination) {
- if (root == null)
- return;
-
- //Create the IU
- InstallableUnitDescription iu = new MetadataFactory.InstallableUnitDescription();
- iu.setSingleton(true);
- String productNamespace = (productFile != null) ? productFile.getId() : "org.eclipse"; //$NON-NLS-1$
- String launcherIdPrefix = productNamespace + PRODUCT_LAUCHER_SUFFIX;
- String launcherId = launcherIdPrefix + '.' + ws + '.' + os + '.' + arch;
- iu.setId(launcherId);
- Version launcherVersion = new Version(version);
- iu.setVersion(launcherVersion);
- iu.setSingleton(true);
- String filter = null;
- if (!ws.equals(CONFIG_ANY) && !os.equals(CONFIG_ANY) && !arch.equals(CONFIG_ANY)) {
- filter = "(& (osgi.ws=" + ws + ") (osgi.os=" + os + ") (osgi.arch=" + arch + "))"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- iu.setFilter(filter);
- }
-
- IArtifactKey key = MetadataGeneratorHelper.createLauncherArtifactKey(launcherId, launcherVersion);
- iu.setArtifacts(new IArtifactKey[] {key});
- iu.setTouchpointType(MetadataGeneratorHelper.TOUCHPOINT_NATIVE);
- ProvidedCapability launcherCapability = MetadataFactory.createProvidedCapability(info.getFlavor() + productNamespace, launcherIdPrefix, launcherVersion);
- iu.setCapabilities(new ProvidedCapability[] {MetadataGeneratorHelper.createSelfCapability(launcherId, launcherVersion), launcherCapability});
-
- String launcherFragment = ORG_ECLIPSE_EQUINOX_LAUNCHER + '.' + ws + '.' + os;
- if (!Constants.OS_MACOSX.equals(os))
- launcherFragment += '.' + arch;
- iu.setRequiredCapabilities(new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, launcherFragment, VersionRange.emptyRange, filter, false, false)});
- result.rootIUs.add(MetadataFactory.createInstallableUnit(iu));
-
- //Create the CU
- InstallableUnitFragmentDescription cu = new InstallableUnitFragmentDescription();
- String configUnitId = info.getFlavor() + launcherId;
- cu.setId(configUnitId);
- cu.setVersion(launcherVersion);
- if (filter != null)
- cu.setFilter(filter);
- cu.setHost(new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, launcherId, new VersionRange(launcherVersion, true, launcherVersion, true), null, false, false)});
- cu.setProperty(IInstallableUnit.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString());
- //TODO bug 218890, would like the fragment to provide the launcher capability as well, but can't right now.
- cu.setCapabilities(new ProvidedCapability[] {MetadataGeneratorHelper.createSelfCapability(configUnitId, launcherVersion)});
-
- mungeLauncherFileNames(root);
-
- cu.setTouchpointType(MetadataGeneratorHelper.TOUCHPOINT_NATIVE);
- Map touchpointData = new HashMap();
- String configurationData = "unzip(source:@artifact, target:${installFolder});"; //$NON-NLS-1$
-
- IInstallableUnit launcherNameIU = null;
-
- File executableLocation = info.getExecutableLocation();
- if (executableLocation != null) {
- if (!executableLocation.exists() && Constants.OS_WIN32.equals(os) && !executableLocation.getName().endsWith(".exe")) //$NON-NLS-1$
- executableLocation = new File(executableLocation.getParentFile(), executableLocation.getName() + ".exe"); //$NON-NLS-1$
-
- if (executableLocation.exists() && executableLocation.isFile())
- launcherNameIU = MetadataGeneratorHelper.generateLauncherSetter(executableLocation.getName(), launcherId, launcherVersion, os, ws, arch, result.rootIUs);
- }
-
- if (Constants.OS_MACOSX.equals(os)) {
- File[] appFolders = root.listFiles(new FilenameFilter() {
- public boolean accept(File dir, String name) {
- return name.substring(name.length() - 4, name.length()).equalsIgnoreCase(".app"); //$NON-NLS-1$
- }
- });
- for (int i = 0; appFolders != null && i < appFolders.length; i++) {
- File macOSFolder = new File(appFolders[i], "Contents/MacOS"); //$NON-NLS-1$
- if (macOSFolder.exists()) {
- File[] launcherFiles = macOSFolder.listFiles();
- for (int j = 0; j < launcherFiles.length; j++) {
- configurationData += " chmod(targetDir:${installFolder}/" + appFolders[i].getName() + "/Contents/MacOS/, targetFile:" + launcherFiles[j].getName() + ", permissions:755);"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- if (executableLocation == null && launcherFiles[i].isFile() && new Path(launcherFiles[j].getName()).getFileExtension() == null)
- launcherNameIU = MetadataGeneratorHelper.generateLauncherSetter(launcherFiles[j].getName(), launcherId, launcherVersion, os, ws, arch, result.rootIUs);
- }
- }
- }
- } else if (!Constants.OS_WIN32.equals(os)) {
- File[] launcherFiles = root.listFiles();
- for (int i = 0; launcherFiles != null && i < launcherFiles.length; i++) {
- configurationData += " chmod(targetDir:${installFolder}, targetFile:" + launcherFiles[i].getName() + ", permissions:755);"; //$NON-NLS-1$ //$NON-NLS-2$
- if (executableLocation == null && launcherFiles[i].isFile() && new Path(launcherFiles[i].getName()).getFileExtension() == null)
- launcherNameIU = MetadataGeneratorHelper.generateLauncherSetter(launcherFiles[i].getName(), launcherId, launcherVersion, os, ws, arch, result.rootIUs);
- }
- } else if (launcherNameIU == null) {
- //windows
- File[] launcherFiles = root.listFiles(new FilenameFilter() {
- public boolean accept(File parent, String name) {
- return name.endsWith(".exe"); //$NON-NLS-1$
- }
- });
- if (launcherFiles != null && launcherFiles.length > 0)
- launcherNameIU = MetadataGeneratorHelper.generateLauncherSetter(launcherFiles[0].getName(), launcherId, launcherVersion, os, ws, arch, result.rootIUs);
- }
- touchpointData.put("install", configurationData); //$NON-NLS-1$
- String unConfigurationData = "cleanupzip(source:@artifact, target:${installFolder});"; //$NON-NLS-1$
- touchpointData.put("uninstall", unConfigurationData); //$NON-NLS-1$
- cu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
- IInstallableUnit unit = MetadataFactory.createInstallableUnit(cu);
- result.rootIUs.add(unit);
- //The Product Query will need to include the launcher CU fragments as a workaround to bug 218890
- if (result.configurationIUs.containsKey(launcherIdPrefix)) {
- ((Set) result.configurationIUs.get(launcherIdPrefix)).add(unit);
- if (launcherNameIU != null)
- ((Set) result.configurationIUs.get(launcherIdPrefix)).add(launcherNameIU);
- } else {
- Set set = new HashSet();
- set.add(unit);
- if (launcherNameIU != null)
- set.add(launcherNameIU);
- result.configurationIUs.put(launcherIdPrefix, set);
- }
-
- //Create the artifact descriptor
- IArtifactDescriptor descriptor = MetadataGeneratorHelper.createArtifactDescriptor(key, root, false, true);
- publishArtifact(descriptor, root.listFiles(), destination, false);
- }
-
- /*
- * For each platform, generate a CU containing the information for the config.ini
- */
- private void generateProductConfigCUs(GeneratorResult result) {
- for (Iterator iterator = result.configData.keySet().iterator(); iterator.hasNext();) {
- String launcherConfig = (String) iterator.next();
- String[] config = parseConfigSpec(launcherConfig);
- String ws = config[1];
- String os = config[0];
- String arch = config[2];
-
- ConfigData data = (ConfigData) result.configData.get(launcherConfig);
-
- InstallableUnitDescription cu = new MetadataFactory.InstallableUnitDescription();
- String configUnitId = info.getFlavor() + productFile.getId() + ".config." + ws + '.' + os + '.' + arch; //$NON-NLS-1$
-
- String version = getProductVersion();
- Version cuVersion = new Version(version);
- cu.setId(configUnitId);
- cu.setVersion(cuVersion);
- cu.setSingleton(true);
- cu.setFilter("(& (osgi.ws=" + ws + ") (osgi.os=" + os + ") (osgi.arch=" + arch + "))"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-
- ProvidedCapability productConfigCapability = MetadataFactory.createProvidedCapability(info.getFlavor() + productFile.getId(), productFile.getId() + PRODUCT_CONFIG_SUFFIX, cuVersion);
- ProvidedCapability selfCapability = MetadataGeneratorHelper.createSelfCapability(configUnitId, cuVersion);
- cu.setCapabilities(new ProvidedCapability[] {selfCapability, productConfigCapability});
-
- cu.setTouchpointType(MetadataGeneratorHelper.TOUCHPOINT_OSGI);
- Map touchpointData = new HashMap();
- String[] dataStrings = getConfigurationStrings(data);
- touchpointData.put("configure", dataStrings[0]); //$NON-NLS-1$
- touchpointData.put("unconfigure", dataStrings[1]); //$NON-NLS-1$
- cu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
-
- result.rootIUs.add(MetadataFactory.createInstallableUnit(cu));
- }
- }
-
- /*
- * For the given platform (ws, os, arch) generate the CU that will populate the product.ini file
- */
- private void generateProductIniCU(String ws, String os, String arch, String version, GeneratorResult result) {
- if (productFile == null)
- return;
-
- //attempt to merge arguments from the launcher data and the product file
- Set jvmArgs = new LinkedHashSet();
- Set progArgs = new LinkedHashSet();
- LauncherData launcherData = info.getLauncherData();
- if (launcherData != null) {
- jvmArgs.addAll(Arrays.asList(launcherData.getJvmArgs()));
- progArgs.addAll(Arrays.asList(launcherData.getProgramArgs()));
- }
- progArgs.addAll(Arrays.asList(getArrayFromString(productFile.getProgramArguments(os), " "))); //$NON-NLS-1$
- jvmArgs.addAll(Arrays.asList(getArrayFromString(productFile.getVMArguments(os), " "))); //$NON-NLS-1$
-
- String[] dataStrings = getLauncherConfigStrings((String[]) jvmArgs.toArray(new String[jvmArgs.size()]), (String[]) progArgs.toArray(new String[progArgs.size()]));
- String configurationData = dataStrings[0];
- String unconfigurationData = dataStrings[1];
-
- InstallableUnitDescription cu = new MetadataFactory.InstallableUnitDescription();
- String configUnitId = info.getFlavor() + productFile.getId() + ".ini." + ws + '.' + os + '.' + arch; //$NON-NLS-1$
- Version cuVersion = new Version(version);
- cu.setId(configUnitId);
- cu.setVersion(cuVersion);
- cu.setSingleton(true);
- cu.setFilter("(& (osgi.ws=" + ws + ") (osgi.os=" + os + ") (osgi.arch=" + arch + "))"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-
- ProvidedCapability productIniCapability = MetadataFactory.createProvidedCapability(info.getFlavor() + productFile.getId(), productFile.getId() + PRODUCT_INI_SUFFIX, cuVersion);
- ProvidedCapability selfCapability = MetadataGeneratorHelper.createSelfCapability(configUnitId, cuVersion);
- cu.setCapabilities(new ProvidedCapability[] {selfCapability, productIniCapability});
-
- cu.setTouchpointType(MetadataGeneratorHelper.TOUCHPOINT_OSGI);
- Map touchpointData = new HashMap();
- touchpointData.put("configure", configurationData); //$NON-NLS-1$
- touchpointData.put("unconfigure", unconfigurationData); //$NON-NLS-1$
- cu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
-
- result.rootIUs.add(MetadataFactory.createInstallableUnit(cu));
-
- }
-
- /**
- * Generates metadata for the given features.
- */
- protected void generateFeatureIUs(Feature[] features, GeneratorResult result, IArtifactRepository destination) {
- Map categoriesToFeatureIUs = new HashMap();
- Map featuresToCategories = getFeatureToCategoryMappings();
- //Build Feature IUs, and add them to any corresponding categories
- for (int i = 0; i < features.length; i++) {
- Feature feature = features[i];
- //publish feature site references
- String updateURL = feature.getUpdateSiteURL();
- //don't enable feature update sites by default since this results in too many
- //extra sites being loaded and searched (Bug 234177)
- if (updateURL != null)
- generateSiteReference(updateURL, feature.getId(), false);
- URLEntry[] discoverySites = feature.getDiscoverySites();
- for (int j = 0; j < discoverySites.length; j++)
- generateSiteReference(discoverySites[j].getURL(), feature.getId(), false);
-
- //generate feature IU
- String location = feature.getLocation();
- boolean isExploded = (location.endsWith(".jar") ? false : true); //$NON-NLS-1$
- IInstallableUnit featureIU = MetadataGeneratorHelper.createFeatureJarIU(feature, true);
- IArtifactKey[] artifacts = featureIU.getArtifacts();
- storePluginShape(feature, result);
- for (int arti = 0; arti < artifacts.length; arti++) {
- IArtifactDescriptor ad = MetadataGeneratorHelper.createArtifactDescriptor(artifacts[arti], new File(location), true, false);
- if (isExploded)
- publishArtifact(ad, new File(location).listFiles(), destination, false);
- else
- publishArtifact(ad, new File[] {new File(location)}, destination, true);
- }
- IInstallableUnit generated = MetadataGeneratorHelper.createGroupIU(feature, featureIU);
- result.rootIUs.add(generated);
- result.rootIUs.add(featureIU);
- Set categories = getCategories(feature, featuresToCategories);
- if (categories != null) {
- for (Iterator it = categories.iterator(); it.hasNext();) {
- SiteCategory category = (SiteCategory) it.next();
- Set featureIUs = (Set) categoriesToFeatureIUs.get(category);
- if (featureIUs == null) {
- featureIUs = new HashSet();
- categoriesToFeatureIUs.put(category, featureIUs);
- }
- featureIUs.add(generated);
- }
- } else {
- rootCategory.add(generated);
- }
- }
- generateCategoryIUs(categoriesToFeatureIUs, result);
- }
-
- private void storePluginShape(Feature feature, GeneratorResult result) {
- FeatureEntry[] entries = feature.getEntries();
- for (int i = 0; i < entries.length; i++) {
- if (entries[i].isPlugin() || entries[i].isFragment()) {
- result.getPluginShapeInfo().put(entries[i].getId() + '_' + entries[i].getVersion(), entries[i].isUnpack() ? BundleDescriptionFactory.DIR : BundleDescriptionFactory.JAR);
- }
- }
- }
-
- protected void generateNativeIUs(File executableLocation, GeneratorResult result, IArtifactRepository destination) {
- //generate data for JRE
- File jreLocation = info.getJRELocation();
- IArtifactDescriptor artifact = MetadataGeneratorHelper.createJREData(jreLocation, result.rootIUs);
- publishArtifact(artifact, new File[] {jreLocation}, destination, false);
-
- if (info.getLauncherConfig() != null) {
- String[] config = parseConfigSpec(info.getLauncherConfig());
- String version = getProductVersion();
- File root = null;
- if (executableLocation != null)
- root = executableLocation.getParentFile();
- else if (info instanceof EclipseInstallGeneratorInfoProvider)
- root = ((EclipseInstallGeneratorInfoProvider) info).getBaseLocation();
- generateExecutableIUs(config[1], config[0], config[2], version, root, result, destination);
- generateProductIniCU(config[1], config[0], config[2], version, result);
- return;
- }
-
- //If the executable feature is present, use it to generate IUs for launchers
- if (generateExecutableFeatureIUs(result, destination) || executableLocation == null)
- return;
-
- //generate data for executable launcher
- artifact = MetadataGeneratorHelper.createLauncherIU(executableLocation, info.getFlavor(), result.rootIUs);
- File[] launcherFiles = null;
- //hard-coded name is ok, since console launcher is not branded, and appears on Windows only
- File consoleLauncher = new File(executableLocation.getParentFile(), "eclipsec.exe"); //$NON-NLS-1$
- if (consoleLauncher.exists())
- launcherFiles = new File[] {executableLocation, consoleLauncher};
- else
- launcherFiles = new File[] {executableLocation};
- publishArtifact(artifact, launcherFiles, destination, false);
- }
-
- protected void generateRootIU(GeneratorResult result, String rootIUId, String rootIUVersion) {
- IInstallableUnit rootIU = null;
-
- if (info.getProductFile() != null)
- rootIU = createProductIU(result);
- else if (rootIUId != null)
- rootIU = createTopLevelIU(result, rootIUId, rootIUVersion);
-
- if (rootIU == null)
- return;
-
- result.nonRootIUs.add(rootIU);
- result.nonRootIUs.add(generateDefaultCategory(rootIU));
- }
-
- /**
- * Generates and publishes a reference to an update site location
- * @param location The update site location
- * @param featureId the identifier of the feature where the error occurred, or null
- * @param isEnabled Whether the site should be enabled by default
- */
- private void generateSiteReference(String location, String featureId, boolean isEnabled) {
- IMetadataRepository metadataRepo = info.getMetadataRepository();
- try {
- URL associateLocation = new URL(location);
- int flags = isEnabled ? IRepository.ENABLED : IRepository.NONE;
- metadataRepo.addReference(associateLocation, IRepository.TYPE_METADATA, flags);
- metadataRepo.addReference(associateLocation, IRepository.TYPE_ARTIFACT, flags);
- } catch (MalformedURLException e) {
- String message = "Invalid site reference: " + location; //$NON-NLS-1$
- if (featureId != null)
- message = message + " in feature: " + featureId; //$NON-NLS-1$
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, message));
- }
- }
-
- protected BundleDescription[] getBundleDescriptions(File[] bundleLocations) {
- if (bundleLocations == null)
- return new BundleDescription[0];
- boolean addSimpleConfigurator = false;
- boolean scIn = false;
- for (int i = 0; i < bundleLocations.length; i++) {
- if (!addSimpleConfigurator)
- addSimpleConfigurator = bundleLocations[i].toString().indexOf(ORG_ECLIPSE_UPDATE_CONFIGURATOR) > 0;
- if (!scIn) {
- scIn = bundleLocations[i].toString().indexOf(ORG_ECLIPSE_EQUINOX_SIMPLECONFIGURATOR) > 0;
- if (scIn)
- break;
- }
- }
- if (scIn)
- addSimpleConfigurator = false;
- BundleDescription[] result = new BundleDescription[bundleLocations.length + (addSimpleConfigurator ? 1 : 0)];
- BundleDescriptionFactory factory = getBundleFactory();
- for (int i = 0; i < bundleLocations.length; i++) {
- BundleDescription desc = factory.getBundleDescription(bundleLocations[i]);
- if (desc != null)
- result[i] = desc;
- }
- if (addSimpleConfigurator) {
- //Add simple configurator to the list of bundles
- try {
- File location = new File(FileLocator.toFileURL(Activator.getContext().getBundle().getEntry(ORG_ECLIPSE_EQUINOX_SIMPLECONFIGURATOR + ".jar")).getFile()); //$NON-NLS-1$
- result[result.length - 1] = factory.getBundleDescription(location);
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- return result;
- }
-
- protected BundleDescriptionFactory getBundleFactory() {
- return new BundleDescriptionFactory(stateObjectFactory, null);
- }
-
- /**
- * Returns the categories corresponding to the given feature, or null if there
- * are no applicable categories.
- * @param feature The feature to return categories for
- * @param featuresToCategories A map of SiteFeature->Set<SiteCategory>
- * @return A Set<SiteCategory> of the categories corresponding to the feature, or <code>null</code>
- */
- private Set getCategories(Feature feature, Map featuresToCategories) {
- //find the SiteFeature corresponding to the given feature
- for (Iterator it = featuresToCategories.keySet().iterator(); it.hasNext();) {
- SiteFeature siteFeature = (SiteFeature) it.next();
- if (siteFeature.getFeatureIdentifier().equals(feature.getId()) && siteFeature.getFeatureVersion().equals(feature.getVersion()))
- return (Set) featuresToCategories.get(siteFeature);
- }
- return null;
- }
-
- protected Feature[] getFeatures(File folder) {
- if (folder == null || !folder.exists())
- return new Feature[0];
- File[] locations = folder.listFiles();
- ArrayList result = new ArrayList(locations.length);
- for (int i = 0; i < locations.length; i++) {
- Feature feature = new FeatureParser().parse(locations[i]);
- if (feature != null) {
- feature.setLocation(locations[i].getAbsolutePath());
- result.add(feature);
- }
- }
- return (Feature[]) result.toArray(new Feature[result.size()]);
- }
-
- /**
- * Computes the mapping of features to categories as defined in the site.xml,
- * if available. Returns an empty map if there is not site.xml, or no categories.
- * @return A map of SiteFeature -> Set<SiteCategory>.
- */
- protected Map getFeatureToCategoryMappings() {
- HashMap mappings = new HashMap();
- URL siteLocation = info.getSiteLocation();
- if (siteLocation == null)
- return mappings;
- InputStream input;
- SiteModel site = null;
- try {
- input = new BufferedInputStream(siteLocation.openStream());
- site = new DefaultSiteParser().parse(input);
- } catch (FileNotFoundException e) {
- //don't complain if the update site is not present
- } catch (Exception e) {
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.exception_errorParsingUpdateSite, siteLocation), e));
- }
- if (site == null)
- return mappings;
-
- //copy mirror information from update site to p2 repositories
- String mirrors = site.getMirrorsURL();
- if (mirrors != null) {
- //remove site.xml file reference
- int index = mirrors.indexOf("site.xml"); //$NON-NLS-1$
- if (index != -1)
- mirrors = mirrors.substring(0, index) + mirrors.substring(index + "site.xml".length()); //$NON-NLS-1$
- info.getMetadataRepository().setProperty(IRepository.PROP_MIRRORS_URL, mirrors);
- info.getArtifactRepository().setProperty(IRepository.PROP_MIRRORS_URL, mirrors);
- }
-
- //publish associate sites as repository references
- URLEntry[] associatedSites = site.getAssociatedSites();
- if (associatedSites != null)
- for (int i = 0; i < associatedSites.length; i++)
- generateSiteReference(associatedSites[i].getURL(), null, true);
-
- if (PROTOCOL_FILE.equals(siteLocation.getProtocol())) {
- File siteFile = new File(siteLocation.getFile());
- if (siteFile.exists()) {
- File siteParent = siteFile.getParentFile();
-
- List messageKeys = site.getMessageKeys();
- if (siteParent.isDirectory()) {
- String[] keyStrings = (String[]) messageKeys.toArray(new String[messageKeys.size()]);
- site.setLocalizations(LocalizationHelper.getDirPropertyLocalizations(siteParent, "site", null, keyStrings)); //$NON-NLS-1$
- } else if (siteFile.getName().endsWith(".jar")) { //$NON-NLS-1$
- String[] keyStrings = (String[]) messageKeys.toArray(new String[messageKeys.size()]);
- site.setLocalizations(LocalizationHelper.getJarPropertyLocalizations(siteParent, "site", null, keyStrings)); //$NON-NLS-1$
- }
- }
- }
-
- SiteFeature[] features = site.getFeatures();
- for (int i = 0; i < features.length; i++) {
- //add a mapping for each category this feature belongs to
- String[] categoryNames = features[i].getCategoryNames();
- for (int j = 0; j < categoryNames.length; j++) {
- SiteCategory category = site.getCategory(categoryNames[j]);
- if (category != null) {
- Set categories = (Set) mappings.get(features[i]);
- if (categories == null) {
- categories = new HashSet();
- mappings.put(features[i], categories);
- }
- categories.add(category);
- }
- }
- }
- return mappings;
- }
-
- protected IGeneratorInfo getGeneratorInfo() {
- return info;
- }
-
- /**
- * @TODO This method is a temporary hack to rename the launcher.exe files
- * to eclipse.exe (or "launcher" to "eclipse"). Eventually we will either hand-craft
- * metadata/artifacts for launchers, or alter the delta pack to contain eclipse-branded
- * launchers.
- */
- private void mungeLauncherFileNames(File root) {
- if (root.isDirectory()) {
- File[] children = root.listFiles();
- for (int i = 0; i < children.length; i++) {
- mungeLauncherFileNames(children[i]);
- }
- } else if (root.isFile()) {
- if (root.getName().equals("launcher")) //$NON-NLS-1$
- root.renameTo(new File(root.getParentFile(), "eclipse")); //$NON-NLS-1$
- else if (root.getName().equals("launcher.exe")) //$NON-NLS-1$
- root.renameTo(new File(root.getParentFile(), "eclipse.exe")); //$NON-NLS-1$
- }
- }
-
- // Put the artifact on the server
- protected void publishArtifact(IArtifactDescriptor descriptor, File[] files, IArtifactRepository destination, boolean asIs) {
- if (descriptor == null || destination == null)
- return;
- if (!info.publishArtifacts()) {
- destination.addDescriptor(descriptor);
- return;
- }
- if (asIs && files.length == 1) {
- try {
- if (!destination.contains(descriptor)) {
- if (destination instanceof IFileArtifactRepository) {
- //if the file is already in the same location the repo will put it, just add the descriptor and exit
- File descriptorFile = ((IFileArtifactRepository) destination).getArtifactFile(descriptor);
- if (files[0].equals(descriptorFile)) {
- destination.addDescriptor(descriptor);
- return;
- }
- }
- OutputStream output = new BufferedOutputStream(destination.getOutputStream(descriptor));
- FileUtils.copyStream(new BufferedInputStream(new FileInputStream(files[0])), true, output, true);
- }
- } catch (ProvisionException e) {
- LogHelper.log(e.getStatus());
- } catch (IOException e) {
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Error publishing artifacts", e)); //$NON-NLS-1$
- }
- } else {
- File tempFile = null;
- try {
- tempFile = File.createTempFile("p2.generator", ""); //$NON-NLS-1$ //$NON-NLS-2$
- FileUtils.zip(files, tempFile);
- if (!destination.contains(descriptor)) {
- destination.setProperty(IArtifactDescriptor.DOWNLOAD_CONTENTTYPE, IArtifactDescriptor.TYPE_ZIP);
- OutputStream output = new BufferedOutputStream(destination.getOutputStream(descriptor));
- FileUtils.copyStream(new BufferedInputStream(new FileInputStream(tempFile)), true, output, true);
- }
- } catch (ProvisionException e) {
- LogHelper.log(e.getStatus());
- } catch (IOException e) {
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Error publishing artifacts", e)); //$NON-NLS-1$
- } finally {
- if (tempFile != null)
- tempFile.delete();
- }
- }
- }
-
- public void setGenerateRootIU(boolean generateRootIU) {
- this.generateRootIU = generateRootIU;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/GeneratorBundleInfo.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/GeneratorBundleInfo.java
deleted file mode 100644
index 62f15f1..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/GeneratorBundleInfo.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata.generator;
-
-import java.io.ByteArrayInputStream;
-import org.eclipse.equinox.internal.p2.core.helpers.Headers;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.osgi.util.ManifestElement;
-import org.osgi.framework.BundleException;
-import org.osgi.framework.Constants;
-
-public class GeneratorBundleInfo extends BundleInfo {
- // public static final int NO_LEVEL = -1;
-
- // private String symbolicName;
- // private String version;
- // private String location;
- // private int expectedState;
- // private int startLevel = NO_LEVEL;
- // private String manifest;
-
- private String specialConfigCommands;
- private String specialUnconfigCommands;
-
- public GeneratorBundleInfo(BundleInfo bInfo) {
- super.setBundleId(bInfo.getBundleId());
- super.setLocation(bInfo.getLocation());
- super.setManifest(bInfo.getManifest());
- super.setMarkedAsStarted(bInfo.isMarkedAsStarted());
- super.setResolved(bInfo.isResolved());
- super.setStartLevel(bInfo.getStartLevel());
- super.setSymbolicName(bInfo.getSymbolicName());
- super.setVersion(bInfo.getVersion());
- }
-
- public GeneratorBundleInfo() {
- // TODO Auto-generated constructor stub
- }
-
- // /* (non-Javadoc)
- // * @see java.lang.Object#hashCode()
- // */
- // public int hashCode() {
- // int result = symbolicName == null ? 0 : symbolicName.hashCode();
- // result = result + (version == null ? 0 : version.hashCode());
- // result = result + (location == null ? 0 : location.hashCode());
- // return result;
- // }
- //
- // public String getSymbolicName() {
- // return symbolicName;
- // }
- //
- // public String getVersion() {
- // return version;
- // }
- //
- // public int expectedState() {
- // return expectedState;
- // }
- //
- // public int getStartLevel() {
- // return startLevel;
- // }
- //
- // public String getLocation() {
- // return location;
- // }
- //
- // public void setSymbolicName(String id) {
- // symbolicName = id;
- // }
- //
- // public void setVersion(String version) {
- // this.version = version;
- // }
- //
- // public void setExpectedState(int state) {
- // expectedState = state;
- // }
- //
- // public void setStartLevel(int level) {
- // this.startLevel = level;
- // }
- //
- // public void setLocation(String location) {
- // this.location = location;
- // }
- //
- // public void setManifest(String manifest) {
- // this.manifest = manifest;
- // }
- //
- // public String getManifest() {
- // return manifest;
- // }
- //
- public String getSpecialConfigCommands() {
- return specialConfigCommands;
- }
-
- public void setSpecialConfigCommands(String specialConfigCommands) {
- this.specialConfigCommands = specialConfigCommands;
- }
-
- public String getSpecialUnconfigCommands() {
- return specialUnconfigCommands;
- }
-
- public void setSpecialUnconfigCommands(String specialUnconfigCommands) {
- this.specialUnconfigCommands = specialUnconfigCommands;
- }
-
- // /* (non-Javadoc)
- // * @see java.lang.Object#equals(java.lang.Object)
- // */
- // public boolean equals(Object toCompare) {
- // if (toCompare instanceof GeneratorBundleInfo) {
- // GeneratorBundleInfo info = (GeneratorBundleInfo) toCompare;
- // if (info.symbolicName.equals(symbolicName) && info.version.equals(version) && (info.location == null || location == null ? true : info.location.equals(location)))
- // return true;
- // }
- // return false;
- // }
-
- /* (non-Javadoc)
- * @see java.lang.Object#toString()
- */
- public String toString() {
- StringBuffer buffer = new StringBuffer();
- String superSt = super.toString();
- if (superSt.length() > 0)
- buffer.append(superSt.substring(0, superSt.length() - 1));
- buffer.append(", this.specialConfigCommands="); //$NON-NLS-1$
- buffer.append(this.specialConfigCommands);
- buffer.append(')');
- return buffer.toString();
- }
-
- public void initFromManifest(String manifest) {
- try {
- super.setManifest(manifest);
- Headers headers = Headers.parseManifest(new ByteArrayInputStream(manifest.getBytes()));
- ManifestElement[] element = ManifestElement.parseHeader("bsn", (String) headers.get(Constants.BUNDLE_SYMBOLICNAME)); //$NON-NLS-1$
- super.setSymbolicName(element[0].getValue());
- super.setVersion((String) headers.get(Constants.BUNDLE_VERSION));
- } catch (BundleException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/IGeneratorInfo.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/IGeneratorInfo.java
deleted file mode 100644
index 0a4f2ac..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/IGeneratorInfo.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata.generator;
-
-import java.io.File;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.ConfigData;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.LauncherData;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepository;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-
-public interface IGeneratorInfo {
-
- /**
- * Returns whether or not to add the default IUs to the published result.
- * The default IUs are typically used to configure bundles, features and
- * source bundles.
- * @return whether or not to publish default IUs
- */
- public boolean addDefaultIUs();
-
- /**
- * Returns whether or not to append to existing repositories or overwrite.
- * @return whether or not to append to existing repositories or overwrite.
- */
- public boolean append();
-
- /**
- * Returns the artifact repository into which any publishable artifacts are published
- * or <code>null</code> if none.
- * @return a destination artifact repository or <code>null</code>
- */
- public IArtifactRepository getArtifactRepository();
-
- /**
- * Returns a list of locations in which bundles may be found. The locations may
- * be directories to search or actual bundle files.
- * @return the list of locations holding bundles to process.
- */
- public File[] getBundleLocations();
-
- /**
- * Return the configuration data to use during publishing or <code>null</code>
- * if none. The configuration data details the framework and launcher setup.
- *
- * @return the configuration data or <code>null</code>
- */
- public ConfigData getConfigData();
-
- public File getConfigurationLocation();
-
- public ArrayList getDefaultIUs(Set ius);
-
- public File getExecutableLocation();
-
- public File getFeaturesLocation();
-
- public String getFlavor();
-
- public boolean getIsUpdateCompatible();
-
- public File getJRELocation();
-
- /**
- * The platform for the data this location
- * @return Returns a pde.build style platform config in the form os_ws_arch
- */
- public String getLauncherConfig();
-
- public LauncherData getLauncherData();
-
- public String[][] getMappingRules();
-
- public IMetadataRepository getMetadataRepository();
-
- public String getRootId();
-
- public String getRootVersion();
-
- public String getProductFile();
-
- public String getVersionAdvice();
-
- /**
- * Returns the location of the site.xml file, or <code>null</code> if not
- * generating for an update site.
- * @return The location of site.xml, or <code>null</code>
- */
- public URL getSiteLocation();
-
- public boolean publishArtifactRepository();
-
- public boolean publishArtifacts();
-
- public boolean reuseExistingPack200Files();
-
- public void reuseExistingPack200Files(boolean publishPack);
-
- public void setArtifactRepository(IArtifactRepository value);
-
- public void setFlavor(String value);
-
- public void setIsUpdateCompatible(boolean isCompatible);
-
- public void setMetadataRepository(IMetadataRepository value);
-
- public void setPublishArtifacts(boolean value);
-
- public void setRootId(String value);
-
- public void setVersionAdvice(String advice);
-
- // TODO: This is kind of ugly. It's purpose is to allow us to craft CUs that we know about and need for our build
- // We should try to replace this with something more generic prior to release
- public Collection getOtherIUs();
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/IncrementalGenerator.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/IncrementalGenerator.java
deleted file mode 100644
index cb90025..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/IncrementalGenerator.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.provisional.p2.metadata.generator;
-
-import org.eclipse.equinox.internal.p2.metadata.generator.EclipseGeneratorApplication;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.Generator.GeneratorResult;
-
-/**
- * A class to enable carrying GeneratorResults across multiple invocations of the Generator.
- * Done here in the bundle instead of in GeneratorTask because of the way org.eclipse.ant.core.AntRunner uses class loaders.
- * @since 1.0
- */
-
-public class IncrementalGenerator {
- private static String MODE_INCREMENTAL = "incremental"; //$NON-NLS-1$
- private String mode = null;
- static private GeneratorResult result = null;
-
- public void setMode(String mode) {
- this.mode = mode;
- }
-
- public void run(EclipseGeneratorApplication generator, EclipseInstallGeneratorInfoProvider provider) throws Exception {
- if (MODE_INCREMENTAL.equals(mode)) {
- if (result == null)
- result = new GeneratorResult();
- generator.setIncrementalResult(result);
- generator.setGeneratorRootIU(false);
- } else if ("final".equals(mode) && result != null) { //$NON-NLS-1$
- generator.setIncrementalResult(result);
- generator.setGeneratorRootIU(true);
- }
-
- generator.run(provider);
-
- if (!MODE_INCREMENTAL.equals(mode)) {
- result = null;
- }
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/MetadataGeneratorHelper.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/MetadataGeneratorHelper.java
deleted file mode 100644
index 5dfcfff..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/MetadataGeneratorHelper.java
+++ /dev/null
@@ -1,1256 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Genuitec, LLC - added license support
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata.generator;
-
-import java.io.*;
-import java.util.*;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.p2.metadata.InstallableUnit;
-import org.eclipse.equinox.internal.p2.metadata.generator.Activator;
-import org.eclipse.equinox.internal.p2.metadata.generator.LocalizationHelper;
-import org.eclipse.equinox.internal.p2.metadata.generator.features.SiteCategory;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.ArtifactDescriptor;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactDescriptor;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStepDescriptor;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.*;
-import org.eclipse.osgi.service.environment.EnvironmentInfo;
-import org.eclipse.osgi.service.resolver.*;
-import org.eclipse.osgi.util.ManifestElement;
-import org.osgi.framework.*;
-
-public class MetadataGeneratorHelper {
- /**
- * A capability namespace representing the type of Eclipse resource (bundle, feature, source bundle, etc)
- * @see RequiredCapability#getNamespace()
- * @see ProvidedCapability#getNamespace()
- */
- public static final String NAMESPACE_ECLIPSE_TYPE = "org.eclipse.equinox.p2.eclipse.type"; //$NON-NLS-1$
-
- /**
- * A capability name in the {@link #NAMESPACE_ECLIPSE_TYPE} namespace
- * representing and OSGi bundle resource
- * @see RequiredCapability#getName()
- * @see ProvidedCapability#getName()
- */
- public static final String TYPE_ECLIPSE_BUNDLE = "bundle"; //$NON-NLS-1$
- /**
- * A capability name in the {@link #NAMESPACE_ECLIPSE_TYPE} namespace
- * representing a feature
- * @see RequiredCapability#getName()
- */
- public static final String TYPE_ECLIPSE_FEATURE = "feature"; //$NON-NLS-1$
-
- /**
- * A capability name in the {@link #NAMESPACE_ECLIPSE_TYPE} namespace
- * representing a source bundle
- * @see RequiredCapability#getName()
- */
- public static final String TYPE_ECLIPSE_SOURCE = "source"; //$NON-NLS-1$
-
- /**
- * A capability namespace representing the localization (translation)
- * of strings from a specified IU in a specified locale
- * @see RequiredCapability#getNamespace()
- * @see ProvidedCapability#getNamespace()
- * TODO: this should be in API, probably in IInstallableUnit
- */
- public static final String NAMESPACE_IU_LOCALIZATION = "org.eclipse.equinox.p2.localization"; //$NON-NLS-1$
-
- // Only certain properties in the bundle manifest are assumed to be localized.
- public static final String[] BUNDLE_LOCALIZED_PROPERTIES = {Constants.BUNDLE_NAME, Constants.BUNDLE_DESCRIPTION, Constants.BUNDLE_VENDOR, Constants.BUNDLE_CONTACTADDRESS, Constants.BUNDLE_DOCURL, Constants.BUNDLE_UPDATELOCATION};
- public static final int BUNDLE_LOCALIZATION_INDEX = BUNDLE_LOCALIZED_PROPERTIES.length;
-
- private static final String[] BUNDLE_IU_PROPERTY_MAP = {Constants.BUNDLE_NAME, IInstallableUnit.PROP_NAME, Constants.BUNDLE_DESCRIPTION, IInstallableUnit.PROP_DESCRIPTION, Constants.BUNDLE_VENDOR, IInstallableUnit.PROP_PROVIDER, Constants.BUNDLE_CONTACTADDRESS, IInstallableUnit.PROP_CONTACT, Constants.BUNDLE_DOCURL, IInstallableUnit.PROP_DOC_URL};
-
- private static final String CAPABILITY_NS_JAVA_PACKAGE = "java.package"; //$NON-NLS-1$
- private static final String CAPABILITY_NS_OSGI_BUNDLE = "osgi.bundle"; //$NON-NLS-1$
- private static final String CAPABILITY_NS_OSGI_FRAGMENT = "osgi.fragment"; //$NON-NLS-1$
-
- private static final String CAPABILITY_NS_UPDATE_FEATURE = "org.eclipse.update.feature"; //$NON-NLS-1$
-
- private static final Version DEFAULT_JRE_VERSION = new Version("1.6"); //$NON-NLS-1$
-
- public static final String ECLIPSE_FEATURE_CLASSIFIER = "org.eclipse.update.feature"; //$NON-NLS-1$
- public static final String OSGI_BUNDLE_CLASSIFIER = "osgi.bundle"; //$NON-NLS-1$
- public static final String BINARY_ARTIFACT_CLASSIFIER = "binary"; //$NON-NLS-1$
-
- public static final String INSTALL_FEATURES_FILTER = "(org.eclipse.update.install.features=true)"; //$NON-NLS-1$
-
- private static final String IU_NAMESPACE = IInstallableUnit.NAMESPACE_IU_ID;
-
- private static final String LAUNCHER_ID_PREFIX = "org.eclipse.launcher"; //$NON-NLS-1$
-
- private static final String ECLIPSE_INSTALL_HANDLER_PROP = "org.eclipse.update.installHandler"; //$NON-NLS-1$
- private static final String UPDATE_FEATURE_APPLICATION_PROP = "org.eclipse.update.feature.application"; //$NON-NLS-1$
- private static final String UPDATE_FEATURE_PLUGIN_PROP = "org.eclipse.update.feature.plugin"; //$NON-NLS-1$
- private static final String UPDATE_FEATURE_EXCLUSIVE_PROP = "org.eclipse.update.feature.exclusive"; //$NON-NLS-1$
- private static final String UPDATE_FEATURE_PRIMARY_PROP = "org.eclipse.update.feature.primary"; //$NON-NLS-1$
-
- //TODO - need to come up with a way to infer launcher version
- private static final Version LAUNCHER_VERSION = new Version(1, 0, 0);
-
- private static final Version versionMax = new Version(Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE);
-
- public static final TouchpointType TOUCHPOINT_NATIVE = MetadataFactory.createTouchpointType("org.eclipse.equinox.p2.native", new Version(1, 0, 0)); //$NON-NLS-1$
- public static final TouchpointType TOUCHPOINT_OSGI = MetadataFactory.createTouchpointType("org.eclipse.equinox.p2.osgi", new Version(1, 0, 0)); //$NON-NLS-1$
-
- public static final ProvidedCapability BUNDLE_CAPABILITY = MetadataFactory.createProvidedCapability(NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_BUNDLE, new Version(1, 0, 0));
- public static final ProvidedCapability FEATURE_CAPABILITY = MetadataFactory.createProvidedCapability(NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_FEATURE, new Version(1, 0, 0));
- public static final ProvidedCapability SOURCE_BUNDLE_CAPABILITY = MetadataFactory.createProvidedCapability(NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_SOURCE, new Version(1, 0, 0));
-
- static final String DEFAULT_BUNDLE_LOCALIZATION = "plugin"; //$NON-NLS-1$
- static final String PROPERTIES_FILE_EXTENSION = ".properties"; //$NON-NLS-1$
-
- static final String BUNDLE_ADVICE_FILE = "META-INF/p2.inf"; //$NON-NLS-1$
- static final String ADVICE_INSTRUCTIONS_PREFIX = "instructions."; //$NON-NLS-1$
-
- static final Locale DEFAULT_LOCALE = new Locale("df", "LT"); //$NON-NLS-1$//$NON-NLS-2$
- static final Locale PSEUDO_LOCALE = new Locale("zz", "ZZ"); //$NON-NLS-1$//$NON-NLS-2$
-
- public static IArtifactDescriptor createArtifactDescriptor(IArtifactKey key, File pathOnDisk, boolean asIs, boolean recur) {
- //TODO this size calculation is bogus
- ArtifactDescriptor result = new ArtifactDescriptor(key);
- if (pathOnDisk != null) {
- result.setProperty(IArtifactDescriptor.ARTIFACT_SIZE, Long.toString(pathOnDisk.length()));
- // TODO - this is wrong but I'm testing a work-around for bug 205842
- result.setProperty(IArtifactDescriptor.DOWNLOAD_SIZE, Long.toString(pathOnDisk.length()));
- }
- return result;
- }
-
- public static IArtifactDescriptor createPack200ArtifactDescriptor(IArtifactKey key, File pathOnDisk, String installSize) {
- final String PACKED_FORMAT = "packed"; //$NON-NLS-1$
- //TODO this size calculation is bogus
- ArtifactDescriptor result = new ArtifactDescriptor(key);
- if (pathOnDisk != null) {
- result.setProperty(IArtifactDescriptor.ARTIFACT_SIZE, installSize);
- // TODO - this is wrong but I'm testing a work-around for bug 205842
- result.setProperty(IArtifactDescriptor.DOWNLOAD_SIZE, Long.toString(pathOnDisk.length()));
- }
- ProcessingStepDescriptor[] steps = new ProcessingStepDescriptor[] {new ProcessingStepDescriptor("org.eclipse.equinox.p2.processing.Pack200Unpacker", null, true)}; //$NON-NLS-1$
- result.setProcessingSteps(steps);
- result.setProperty(IArtifactDescriptor.FORMAT, PACKED_FORMAT);
- return result;
- }
-
- public static IArtifactKey createBundleArtifactKey(String bsn, String version) {
- return new ArtifactKey(OSGI_BUNDLE_CLASSIFIER, bsn, new Version(version));
- }
-
- public static IInstallableUnit createBundleConfigurationUnit(String iuId, Version iuVersion, boolean isBundleFragment, GeneratorBundleInfo configInfo, String configurationFlavor, String filter) {
- if (configInfo == null)
- return null;
-
- InstallableUnitFragmentDescription cu = new InstallableUnitFragmentDescription();
- String configUnitId = configurationFlavor + iuId;
- cu.setId(configUnitId);
- cu.setVersion(iuVersion);
-
- //Indicate the IU to which this CU apply
- cu.setHost(new RequiredCapability[] { //
- MetadataFactory.createRequiredCapability(CAPABILITY_NS_OSGI_BUNDLE, iuId, new VersionRange(iuVersion, true, versionMax, true), null, false, false, true), //
- MetadataFactory.createRequiredCapability(NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_BUNDLE, new VersionRange(new Version(1, 0, 0), true, new Version(2, 0, 0), false), null, false, false, false)});
-
- //Adds capabilities for fragment, self, and describing the flavor supported
- cu.setProperty(IInstallableUnit.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString());
- cu.setCapabilities(new ProvidedCapability[] {createSelfCapability(configUnitId, iuVersion), MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_FLAVOR, configurationFlavor, new Version(1, 0, 0))});
-
- Map touchpointData = new HashMap();
- touchpointData.put("install", "installBundle(bundle:${artifact})"); //$NON-NLS-1$ //$NON-NLS-2$
- touchpointData.put("uninstall", "uninstallBundle(bundle:${artifact})"); //$NON-NLS-1$ //$NON-NLS-2$
- touchpointData.put("configure", createConfigScript(configInfo, isBundleFragment)); //$NON-NLS-1$
- touchpointData.put("unconfigure", createUnconfigScript(configInfo, isBundleFragment)); //$NON-NLS-1$
- cu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
- cu.setFilter(filter);
- return MetadataFactory.createInstallableUnit(cu);
- }
-
- public static IInstallableUnit createBundleIU(BundleDescription bd, Map manifest, boolean isFolderPlugin, IArtifactKey key) {
- return createBundleIU(bd, manifest, isFolderPlugin, key, false);
- }
-
- public static IInstallableUnit createBundleIU(BundleDescription bd, Map manifest, boolean isFolderPlugin, IArtifactKey key, boolean useNestedAdvice) {
- Map manifestLocalizations = null;
- if (manifest != null && bd.getLocation() != null) {
- manifestLocalizations = getManifestLocalizations(manifest, new File(bd.getLocation()));
- }
-
- return createBundleIU(bd, manifest, isFolderPlugin, key, manifestLocalizations, useNestedAdvice);
- }
-
- public static IInstallableUnit createBundleIU(BundleDescription bd, Map manifest, boolean isFolderPlugin, IArtifactKey key, Map manifestLocalizations) {
- return createBundleIU(bd, manifest, isFolderPlugin, key, manifestLocalizations, false);
- }
-
- public static IInstallableUnit createBundleIU(BundleDescription bd, Map manifest, boolean isFolderPlugin, IArtifactKey key, Map manifestLocalizations, boolean useNestedAdvice) {
- boolean isBinaryBundle = true;
- if (manifest != null && manifest.containsKey("Eclipse-SourceBundle")) { //$NON-NLS-1$
- isBinaryBundle = false;
- }
- InstallableUnitDescription iu = new MetadataFactory.InstallableUnitDescription();
- iu.setSingleton(bd.isSingleton());
- iu.setId(bd.getSymbolicName());
- iu.setVersion(bd.getVersion());
- iu.setFilter(bd.getPlatformFilter());
-
- iu.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor(bd.getSymbolicName(), new VersionRange(new Version(0, 0, 0), true, bd.getVersion(), false), IUpdateDescriptor.NORMAL, null));
-
- boolean isFragment = bd.getHost() != null;
- // boolean requiresAFragment = isFragment ? false : requireAFragment(bd, manifest);
-
- //Process the required bundles
- BundleSpecification requiredBundles[] = bd.getRequiredBundles();
- ArrayList reqsDeps = new ArrayList();
- // if (requiresAFragment)
- // reqsDeps.add(MetadataFactory.createRequiredCapability(CAPABILITY_TYPE_OSGI_FRAGMENTS, bd.getSymbolicName(), VersionRange.emptyRange, null, false, false));
- if (isFragment)
- reqsDeps.add(MetadataFactory.createRequiredCapability(CAPABILITY_NS_OSGI_BUNDLE, bd.getHost().getName(), bd.getHost().getVersionRange(), null, false, false));
- for (int j = 0; j < requiredBundles.length; j++)
- reqsDeps.add(MetadataFactory.createRequiredCapability(CAPABILITY_NS_OSGI_BUNDLE, requiredBundles[j].getName(), requiredBundles[j].getVersionRange() == VersionRange.emptyRange ? null : requiredBundles[j].getVersionRange(), null, requiredBundles[j].isOptional(), false));
-
- // Process the import packages
- ImportPackageSpecification osgiImports[] = bd.getImportPackages();
- for (int i = 0; i < osgiImports.length; i++) {
- // TODO we need to sort out how we want to handle wild-carded dynamic imports - for now we ignore them
- ImportPackageSpecification importSpec = osgiImports[i];
- String importPackageName = importSpec.getName();
- if (importPackageName.indexOf('*') != -1)
- continue;
-
- VersionRange versionRange = importSpec.getVersionRange() == VersionRange.emptyRange ? null : importSpec.getVersionRange();
-
- //TODO this needs to be refined to take into account all the attribute handled by imports
- reqsDeps.add(MetadataFactory.createRequiredCapability(CAPABILITY_NS_JAVA_PACKAGE, importPackageName, versionRange, null, isOptional(importSpec), false));
- }
- iu.setRequiredCapabilities((RequiredCapability[]) reqsDeps.toArray(new RequiredCapability[reqsDeps.size()]));
-
- // Create set of provided capabilities
- ArrayList providedCapabilities = new ArrayList();
- providedCapabilities.add(createSelfCapability(bd.getSymbolicName(), bd.getVersion()));
- providedCapabilities.add(MetadataFactory.createProvidedCapability(CAPABILITY_NS_OSGI_BUNDLE, bd.getSymbolicName(), bd.getVersion()));
-
- // Process the export package
- ExportPackageDescription exports[] = bd.getExportPackages();
- for (int i = 0; i < exports.length; i++) {
- //TODO make sure that we support all the refinement on the exports
- providedCapabilities.add(MetadataFactory.createProvidedCapability(CAPABILITY_NS_JAVA_PACKAGE, exports[i].getName(), exports[i].getVersion() == Version.emptyVersion ? null : exports[i].getVersion()));
- }
- // Here we add a bundle capability to identify bundles
- if (isBinaryBundle)
- providedCapabilities.add(BUNDLE_CAPABILITY);
- else
- providedCapabilities.add(SOURCE_BUNDLE_CAPABILITY);
-
- if (isFragment)
- providedCapabilities.add(MetadataFactory.createProvidedCapability(CAPABILITY_NS_OSGI_FRAGMENT, bd.getHost().getName(), bd.getVersion()));
-
- if (manifestLocalizations != null) {
- for (Iterator iter = manifestLocalizations.keySet().iterator(); iter.hasNext();) {
- Locale locale = (Locale) iter.next();
- Properties translatedStrings = (Properties) manifestLocalizations.get(locale);
- Enumeration propertyKeys = translatedStrings.propertyNames();
- while (propertyKeys.hasMoreElements()) {
- String nextKey = (String) propertyKeys.nextElement();
- iu.setProperty(locale.toString() + '.' + nextKey, translatedStrings.getProperty(nextKey));
- }
- providedCapabilities.add(makeTranslationCapability(bd.getSymbolicName(), locale));
- }
- }
-
- iu.setCapabilities((ProvidedCapability[]) providedCapabilities.toArray(new ProvidedCapability[providedCapabilities.size()]));
-
- iu.setArtifacts(new IArtifactKey[] {key});
-
- iu.setTouchpointType(TOUCHPOINT_OSGI);
-
- // Set certain properties from the manifest header attributes as IU properties.
- // The values of these attributes may be localized (strings starting with '%')
- // with the translated values appearing in the localization IU fragments
- // associated with the bundle IU.
- if (manifest != null) {
- int i = 0;
- while (i < BUNDLE_IU_PROPERTY_MAP.length) {
- if (manifest.containsKey(BUNDLE_IU_PROPERTY_MAP[i])) {
- String value = (String) manifest.get(BUNDLE_IU_PROPERTY_MAP[i]);
- if (value != null && value.length() > 0) {
- iu.setProperty(BUNDLE_IU_PROPERTY_MAP[i + 1], value);
- }
- }
- i += 2;
- }
- }
-
- // Define the immutable metadata for this IU. In this case immutable means
- // that this is something that will not impact the configuration.
- Map touchpointData = new HashMap();
- if (isFolderPlugin)
- touchpointData.put("zipped", "true"); //$NON-NLS-1$ //$NON-NLS-2$
- touchpointData.put("manifest", toManifestString(manifest)); //$NON-NLS-1$
-
- if (useNestedAdvice)
- mergeInstructionsAdvice(touchpointData, getBundleAdvice(bd.getLocation()));
-
- iu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
-
- return MetadataFactory.createInstallableUnit(iu);
- }
-
- private static void mergeInstructionsAdvice(Map touchpointData, Map bundleAdvice) {
- if (touchpointData == null || bundleAdvice == null)
- return;
-
- for (Iterator iterator = bundleAdvice.keySet().iterator(); iterator.hasNext();) {
- String key = (String) iterator.next();
- if (key.startsWith(ADVICE_INSTRUCTIONS_PREFIX)) {
- String phase = key.substring(ADVICE_INSTRUCTIONS_PREFIX.length());
- String instructions = touchpointData.containsKey(phase) ? (String) touchpointData.get(phase) : ""; //$NON-NLS-1$
- if (instructions.length() > 0)
- instructions += ";"; //$NON-NLS-1$
- instructions += ((String) bundleAdvice.get(key)).trim();
- touchpointData.put(phase, instructions);
- }
- }
- }
-
- public static void createHostLocalizationFragment(IInstallableUnit bundleIU, BundleDescription bd, String hostId, String[] hostBundleManifestValues, Set localizationIUs) {
- Map hostLocalizations = getHostLocalizations(new File(bd.getLocation()), hostBundleManifestValues);
- if (hostLocalizations != null) {
- IInstallableUnitFragment localizationFragment = createLocalizationFragmentOfHost(bd, hostId, hostBundleManifestValues, hostLocalizations);
- localizationIUs.add(localizationFragment);
- }
- }
-
- /*
- * @param hostId
- * @param bd
- * @param locale
- * @param localizedStrings
- * @return installableUnitFragment
- */
- private static IInstallableUnitFragment createLocalizationFragmentOfHost(BundleDescription bd, String hostId, String[] hostManifestValues, Map hostLocalizations) {
- InstallableUnitFragmentDescription fragment = new MetadataFactory.InstallableUnitFragmentDescription();
- String fragmentId = makeHostLocalizationFragmentId(bd.getSymbolicName());
- fragment.setId(fragmentId);
- fragment.setVersion(bd.getVersion()); // TODO: is this a meaningful version?
-
- HostSpecification hostSpec = bd.getHost();
- RequiredCapability[] hostReqs = new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, hostSpec.getName(), hostSpec.getVersionRange(), null, false, false, false)};
- fragment.setHost(hostReqs);
-
- fragment.setSingleton(true);
- fragment.setProperty(IInstallableUnit.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString());
-
- // Create a provided capability for each locale and add the translated properties.
- ArrayList providedCapabilities = new ArrayList(hostLocalizations.keySet().size());
- for (Iterator iter = hostLocalizations.keySet().iterator(); iter.hasNext();) {
- Locale locale = (Locale) iter.next();
- Properties translatedStrings = (Properties) hostLocalizations.get(locale);
-
- Enumeration propertyKeys = translatedStrings.propertyNames();
- while (propertyKeys.hasMoreElements()) {
- String nextKey = (String) propertyKeys.nextElement();
- fragment.setProperty(locale.toString() + '.' + nextKey, translatedStrings.getProperty(nextKey));
- }
- providedCapabilities.add(makeTranslationCapability(hostId, locale));
- }
- fragment.setCapabilities((ProvidedCapability[]) providedCapabilities.toArray(new ProvidedCapability[providedCapabilities.size()]));
-
- return MetadataFactory.createInstallableUnitFragment(fragment);
- }
-
- /**
- * @param id
- * @return the id for the iu fragment containing the localized properties
- * for the bundle with the given id
- */
- // private static String makeBundleLocalizationFragmentId(String id) {
- // return id + ".translated_properties"; //$NON-NLS-1$
- // }
- /**
- * @param id
- * @return the id for the iu fragment containing localized properties
- * for the fragment with the given id.
- */
- private static String makeHostLocalizationFragmentId(String id) {
- return id + ".translated_host_properties"; //$NON-NLS-1$
- }
-
- private static ProvidedCapability makeTranslationCapability(String hostId, Locale locale) {
- return MetadataFactory.createProvidedCapability(NAMESPACE_IU_LOCALIZATION, locale.toString(), new Version(1, 0, 0));
- }
-
- /**
- * Creates an IU corresponding to an update site category
- * @param category The category descriptor
- * @param featureIUs The IUs of the features that belong to the category
- * @param parentCategory The parent category, or <code>null</code>
- * @return an IU representing the category
- */
- public static IInstallableUnit createCategoryIU(SiteCategory category, Set featureIUs, IInstallableUnit parentCategory) {
- InstallableUnitDescription cat = new MetadataFactory.InstallableUnitDescription();
- cat.setSingleton(true);
- String categoryId = category.getName();
- cat.setId(categoryId);
- cat.setVersion(Version.emptyVersion);
- cat.setProperty(IInstallableUnit.PROP_NAME, category.getLabel());
- cat.setProperty(IInstallableUnit.PROP_DESCRIPTION, category.getDescription());
-
- ArrayList reqsConfigurationUnits = new ArrayList(featureIUs.size());
- for (Iterator iterator = featureIUs.iterator(); iterator.hasNext();) {
- IInstallableUnit iu = (IInstallableUnit) iterator.next();
- VersionRange range = new VersionRange(iu.getVersion(), true, iu.getVersion(), true);
- reqsConfigurationUnits.add(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, iu.getId(), range, iu.getFilter(), false, false));
- }
- //note that update sites don't currently support nested categories, but it may be useful to add in the future
- if (parentCategory != null) {
- reqsConfigurationUnits.add(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, parentCategory.getId(), VersionRange.emptyRange, parentCategory.getFilter(), false, false));
- }
- cat.setRequiredCapabilities((RequiredCapability[]) reqsConfigurationUnits.toArray(new RequiredCapability[reqsConfigurationUnits.size()]));
-
- // Create set of provided capabilities
- ArrayList providedCapabilities = new ArrayList();
- providedCapabilities.add(createSelfCapability(categoryId, Version.emptyVersion));
-
- Map localizations = category.getLocalizations();
- if (localizations != null) {
- for (Iterator iter = localizations.keySet().iterator(); iter.hasNext();) {
- Locale locale = (Locale) iter.next();
- Properties translatedStrings = (Properties) localizations.get(locale);
- Enumeration propertyKeys = translatedStrings.propertyNames();
- while (propertyKeys.hasMoreElements()) {
- String nextKey = (String) propertyKeys.nextElement();
- cat.setProperty(locale.toString() + '.' + nextKey, translatedStrings.getProperty(nextKey));
- }
- providedCapabilities.add(makeTranslationCapability(categoryId, locale));
- }
- }
-
- cat.setCapabilities((ProvidedCapability[]) providedCapabilities.toArray(new ProvidedCapability[providedCapabilities.size()]));
-
- cat.setArtifacts(new IArtifactKey[0]);
- cat.setProperty(IInstallableUnit.PROP_TYPE_CATEGORY, "true"); //$NON-NLS-1$
- return MetadataFactory.createInstallableUnit(cat);
- }
-
- private static String createConfigScript(GeneratorBundleInfo configInfo, boolean isBundleFragment) {
- if (configInfo == null)
- return ""; //$NON-NLS-1$
-
- String configScript = "";//$NON-NLS-1$
- if (!isBundleFragment && configInfo.getStartLevel() != BundleInfo.NO_LEVEL) {
- configScript += "setStartLevel(startLevel:" + configInfo.getStartLevel() + ");"; //$NON-NLS-1$ //$NON-NLS-2$
- }
- if (!isBundleFragment && configInfo.isMarkedAsStarted()) {
- configScript += "markStarted(started: true);"; //$NON-NLS-1$
- }
-
- if (configInfo.getSpecialConfigCommands() != null) {
- configScript += configInfo.getSpecialConfigCommands();
- }
-
- return configScript;
- }
-
- private static String createDefaultBundleConfigScript(GeneratorBundleInfo configInfo) {
- return createConfigScript(configInfo, false);
- }
-
- public static IInstallableUnit createDefaultBundleConfigurationUnit(GeneratorBundleInfo configInfo, GeneratorBundleInfo unconfigInfo, String configurationFlavor) {
- InstallableUnitFragmentDescription cu = new InstallableUnitFragmentDescription();
- String configUnitId = createDefaultConfigUnitId(OSGI_BUNDLE_CLASSIFIER, configurationFlavor);
- cu.setId(configUnitId);
- Version configUnitVersion = new Version(1, 0, 0);
- cu.setVersion(configUnitVersion);
-
- // Add capabilities for fragment, self, and describing the flavor supported
- cu.setProperty(IInstallableUnit.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString());
- cu.setCapabilities(new ProvidedCapability[] {createSelfCapability(configUnitId, configUnitVersion), MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_FLAVOR, configurationFlavor, new Version(1, 0, 0))});
-
- // Create a required capability on bundles
- RequiredCapability[] reqs = new RequiredCapability[] {MetadataFactory.createRequiredCapability(NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_BUNDLE, VersionRange.emptyRange, null, false, true, false)};
- cu.setHost(reqs);
- Map touchpointData = new HashMap();
-
- touchpointData.put("install", "installBundle(bundle:${artifact})"); //$NON-NLS-1$ //$NON-NLS-2$
- touchpointData.put("uninstall", "uninstallBundle(bundle:${artifact})"); //$NON-NLS-1$ //$NON-NLS-2$
- touchpointData.put("configure", createDefaultBundleConfigScript(configInfo)); //$NON-NLS-1$
- touchpointData.put("unconfigure", createDefaultBundleUnconfigScript(unconfigInfo)); //$NON-NLS-1$
-
- cu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
- return MetadataFactory.createInstallableUnit(cu);
- }
-
- private static String createDefaultBundleUnconfigScript(GeneratorBundleInfo unconfigInfo) {
- return createUnconfigScript(unconfigInfo, false);
- }
-
- public static String createDefaultConfigUnitId(String classifier, String configurationFlavor) {
- return configurationFlavor + "." + classifier + ".default"; //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- public static IInstallableUnit createDefaultFeatureConfigurationUnit(String configurationFlavor) {
- InstallableUnitFragmentDescription cu = new InstallableUnitFragmentDescription();
- String configUnitId = createDefaultConfigUnitId(ECLIPSE_FEATURE_CLASSIFIER, configurationFlavor);
- cu.setId(configUnitId);
- Version configUnitVersion = new Version(1, 0, 0);
- cu.setVersion(configUnitVersion);
-
- // Add capabilities for fragment, self, and describing the flavor supported
- cu.setProperty(IInstallableUnit.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString());
- cu.setCapabilities(new ProvidedCapability[] {createSelfCapability(configUnitId, configUnitVersion), MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_FLAVOR, configurationFlavor, new Version(1, 0, 0))});
-
- // Create a required capability on features
- RequiredCapability[] reqs = new RequiredCapability[] {MetadataFactory.createRequiredCapability(NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_FEATURE, VersionRange.emptyRange, null, true, true, false)};
- cu.setHost(reqs);
-
- cu.setFilter(INSTALL_FEATURES_FILTER);
- Map touchpointData = new HashMap();
- touchpointData.put("install", "installFeature(feature:${artifact},featureId:default,featureVersion:default)"); //$NON-NLS-1$//$NON-NLS-2$
- touchpointData.put("uninstall", "uninstallFeature(feature:${artifact},featureId:default,featureVersion:default)"); //$NON-NLS-1$//$NON-NLS-2$
- cu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
-
- return MetadataFactory.createInstallableUnit(cu);
- }
-
- public static IInstallableUnit createDefaultConfigurationUnitForSourceBundles(String configurationFlavor) {
- InstallableUnitFragmentDescription cu = new InstallableUnitFragmentDescription();
- String configUnitId = createDefaultConfigUnitId("source", configurationFlavor); //$NON-NLS-1$
- cu.setId(configUnitId);
- Version configUnitVersion = new Version(1, 0, 0);
- cu.setVersion(configUnitVersion);
-
- // Add capabilities for fragment, self, and describing the flavor supported
- cu.setProperty(IInstallableUnit.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString());
- cu.setCapabilities(new ProvidedCapability[] {createSelfCapability(configUnitId, configUnitVersion), MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_FLAVOR, configurationFlavor, new Version(1, 0, 0))});
-
- // Create a required capability on source providers
- RequiredCapability[] reqs = new RequiredCapability[] {MetadataFactory.createRequiredCapability(NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_SOURCE, VersionRange.emptyRange, null, true, true, false)};
- cu.setHost(reqs);
- Map touchpointData = new HashMap();
-
- touchpointData.put("install", "addSourceBundle(bundle:${artifact})"); //$NON-NLS-1$ //$NON-NLS-2$
- touchpointData.put("uninstall", "removeSourceBundle(bundle:${artifact})"); //$NON-NLS-1$ //$NON-NLS-2$
- cu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
- return MetadataFactory.createInstallableUnit(cu);
- }
-
- private static void addExtraProperties(IInstallableUnit iiu, Properties extraProperties) {
- if (iiu instanceof InstallableUnit) {
- InstallableUnit iu = (InstallableUnit) iiu;
-
- for (Enumeration e = extraProperties.propertyNames(); e.hasMoreElements();) {
- String name = (String) e.nextElement();
- iu.setProperty(name, extraProperties.getProperty(name));
- }
- }
- }
-
- public static IInstallableUnit[] createEclipseIU(BundleDescription bd, Map manifest, boolean isFolderPlugin, IArtifactKey key, Properties extraProperties) {
- ArrayList iusCreated = new ArrayList(1);
-
- IInstallableUnit iu = createBundleIU(bd, manifest, isFolderPlugin, key);
- addExtraProperties(iu, extraProperties);
- iusCreated.add(iu);
-
- return (IInstallableUnit[]) (iusCreated.toArray(new IInstallableUnit[iusCreated.size()]));
- }
-
- public static IArtifactKey createFeatureArtifactKey(String fsn, String version) {
- return new ArtifactKey(ECLIPSE_FEATURE_CLASSIFIER, fsn, new Version(version));
- }
-
- public static IInstallableUnit createFeatureJarIU(Feature feature, boolean isExploded) {
- return createFeatureJarIU(feature, isExploded, null);
- }
-
- public static IInstallableUnit createFeatureJarIU(Feature feature, boolean isExploded, Properties extraProperties) {
- InstallableUnitDescription iu = new MetadataFactory.InstallableUnitDescription();
- String id = getTransformedId(feature.getId(), /*isPlugin*/false, /*isGroup*/false);
- iu.setId(id);
- Version version = new Version(feature.getVersion());
- iu.setVersion(version);
- iu.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor(id, new VersionRange(new Version(0, 0, 0), true, new Version(feature.getVersion()), false), IUpdateDescriptor.NORMAL, null));
- iu.setProperty(IInstallableUnit.PROP_NAME, feature.getLabel());
- if (feature.getDescription() != null)
- iu.setProperty(IInstallableUnit.PROP_DESCRIPTION, feature.getDescription());
- if (feature.getDescriptionURL() != null)
- iu.setProperty(IInstallableUnit.PROP_DESCRIPTION_URL, feature.getDescriptionURL());
- if (feature.getProviderName() != null)
- iu.setProperty(IInstallableUnit.PROP_PROVIDER, feature.getProviderName());
- if (feature.getLicense() != null)
- iu.setLicense(new License(feature.getLicenseURL(), feature.getLicense()));
- if (feature.getCopyright() != null)
- iu.setCopyright(new Copyright(feature.getCopyrightURL(), feature.getCopyright()));
- if (feature.getApplication() != null)
- iu.setProperty(UPDATE_FEATURE_APPLICATION_PROP, feature.getApplication());
- if (feature.getPlugin() != null)
- iu.setProperty(UPDATE_FEATURE_PLUGIN_PROP, feature.getPlugin());
- if (feature.isExclusive())
- iu.setProperty(UPDATE_FEATURE_EXCLUSIVE_PROP, Boolean.TRUE.toString());
- if (feature.isPrimary())
- iu.setProperty(UPDATE_FEATURE_PRIMARY_PROP, Boolean.TRUE.toString());
-
- // The required capabilities are not specified at this level because we don't want the feature jar to be attractive to install.
-
- iu.setTouchpointType(TOUCHPOINT_OSGI);
- iu.setFilter(INSTALL_FEATURES_FILTER);
- iu.setSingleton(true);
-
- if (feature.getInstallHandler() != null && feature.getInstallHandler().trim().length() > 0) {
- String installHandlerProperty = "handler=" + feature.getInstallHandler(); //$NON-NLS-1$
-
- if (feature.getInstallHandlerLibrary() != null)
- installHandlerProperty += ", library=" + feature.getInstallHandlerLibrary(); //$NON-NLS-1$
-
- if (feature.getInstallHandlerURL() != null)
- installHandlerProperty += ", url=" + feature.getInstallHandlerURL(); //$NON-NLS-1$
-
- iu.setProperty(ECLIPSE_INSTALL_HANDLER_PROP, installHandlerProperty);
- }
-
- // Create set of provided capabilities
- ArrayList providedCapabilities = new ArrayList();
- providedCapabilities.add(createSelfCapability(id, version));
- providedCapabilities.add(FEATURE_CAPABILITY);
- providedCapabilities.add(MetadataFactory.createProvidedCapability(CAPABILITY_NS_UPDATE_FEATURE, feature.getId(), version));
-
- iu.setArtifacts(new IArtifactKey[] {createFeatureArtifactKey(feature.getId(), version.toString())});
-
- if (isExploded) {
- // Define the immutable metadata for this IU. In this case immutable means
- // that this is something that will not impact the configuration.
- Map touchpointData = new HashMap();
- touchpointData.put("zipped", "true"); //$NON-NLS-1$ //$NON-NLS-2$
- iu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
- }
-
- Map localizations = feature.getLocalizations();
- if (localizations != null) {
- for (Iterator iter = localizations.keySet().iterator(); iter.hasNext();) {
- Locale locale = (Locale) iter.next();
- Properties translatedStrings = (Properties) localizations.get(locale);
- Enumeration propertyKeys = translatedStrings.propertyNames();
- while (propertyKeys.hasMoreElements()) {
- String nextKey = (String) propertyKeys.nextElement();
- iu.setProperty(locale.toString() + '.' + nextKey, translatedStrings.getProperty(nextKey));
- }
- providedCapabilities.add(makeTranslationCapability(id, locale));
- }
- }
-
- iu.setCapabilities((ProvidedCapability[]) providedCapabilities.toArray(new ProvidedCapability[providedCapabilities.size()]));
-
- if (extraProperties != null) {
- Enumeration e = extraProperties.propertyNames();
- while (e.hasMoreElements()) {
- String name = (String) e.nextElement();
- iu.setProperty(name, extraProperties.getProperty(name));
- }
- }
-
- return MetadataFactory.createInstallableUnit(iu);
- }
-
- public static IInstallableUnit createGroupIU(Feature feature, IInstallableUnit featureIU) {
- return createGroupIU(feature, featureIU, null);
- }
-
- public static IInstallableUnit createGroupIU(Feature feature, IInstallableUnit featureIU, Properties extraProperties) {
- return createGroupIU(feature, featureIU, extraProperties, true);
- }
-
- public static IInstallableUnit createGroupIU(Feature feature, IInstallableUnit featureIU, Properties extraProperties, boolean transformIds) {
- if (isPatch(feature))
- return createPatchIU(feature, featureIU, extraProperties);
- InstallableUnitDescription iu = new MetadataFactory.InstallableUnitDescription();
- String id = feature.getId();
- if (transformIds)
- id = getTransformedId(id, /*isPlugin*/false, /*isGroup*/true);
- iu.setId(id);
- Version version = new Version(feature.getVersion());
- iu.setVersion(version);
- iu.setProperty(IInstallableUnit.PROP_NAME, feature.getLabel());
- if (feature.getDescription() != null)
- iu.setProperty(IInstallableUnit.PROP_DESCRIPTION, feature.getDescription());
- if (feature.getDescriptionURL() != null)
- iu.setProperty(IInstallableUnit.PROP_DESCRIPTION_URL, feature.getDescriptionURL());
- if (feature.getProviderName() != null)
- iu.setProperty(IInstallableUnit.PROP_PROVIDER, feature.getProviderName());
- if (feature.getLicense() != null)
- iu.setLicense(new License(feature.getLicenseURL(), feature.getLicense()));
- if (feature.getCopyright() != null)
- iu.setCopyright(new Copyright(feature.getCopyrightURL(), feature.getCopyright()));
- iu.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor(id, new VersionRange(new Version(0, 0, 0), true, new Version(feature.getVersion()), false), IUpdateDescriptor.NORMAL, null));
-
- FeatureEntry entries[] = feature.getEntries();
- RequiredCapability[] required = new RequiredCapability[entries.length + (featureIU == null ? 0 : 1)];
- for (int i = 0; i < entries.length; i++) {
- VersionRange range = getVersionRange(entries[i]);
- String requiredId = entries[i].getId();
- if (transformIds)
- requiredId = getTransformedId(entries[i].getId(), entries[i].isPlugin(), /*isGroup*/true);
- required[i] = MetadataFactory.createRequiredCapability(IU_NAMESPACE, requiredId, range, getFilter(entries[i]), entries[i].isOptional(), false);
- }
- // the feature IU could be null if we are just generating a feature structure rather than
- // actual features.
- if (featureIU != null)
- required[entries.length] = MetadataFactory.createRequiredCapability(IU_NAMESPACE, featureIU.getId(), new VersionRange(featureIU.getVersion(), true, featureIU.getVersion(), true), INSTALL_FEATURES_FILTER, false, false);
- iu.setRequiredCapabilities(required);
- iu.setTouchpointType(TouchpointType.NONE);
- iu.setProperty(IInstallableUnit.PROP_TYPE_GROUP, Boolean.TRUE.toString());
- // TODO: shouldn't the filter for the group be constructed from os, ws, arch, nl
- // of the feature?
- // iu.setFilter(filter);
-
- // Create set of provided capabilities
- ArrayList providedCapabilities = new ArrayList();
- providedCapabilities.add(createSelfCapability(id, version));
-
- Map localizations = feature.getLocalizations();
- if (localizations != null) {
- for (Iterator iter = localizations.keySet().iterator(); iter.hasNext();) {
- Locale locale = (Locale) iter.next();
- Properties translatedStrings = (Properties) localizations.get(locale);
- Enumeration propertyKeys = translatedStrings.propertyNames();
- while (propertyKeys.hasMoreElements()) {
- String nextKey = (String) propertyKeys.nextElement();
- iu.setProperty(locale.toString() + '.' + nextKey, translatedStrings.getProperty(nextKey));
- }
- providedCapabilities.add(makeTranslationCapability(id, locale));
- }
- }
-
- iu.setCapabilities((ProvidedCapability[]) providedCapabilities.toArray(new ProvidedCapability[providedCapabilities.size()]));
-
- if (extraProperties != null) {
- Enumeration e = extraProperties.propertyNames();
- while (e.hasMoreElements()) {
- String name = (String) e.nextElement();
- iu.setProperty(name, extraProperties.getProperty(name));
- }
- }
-
- return MetadataFactory.createInstallableUnit(iu);
- }
-
- public static IInstallableUnit createPatchIU(Feature feature, IInstallableUnit featureIU, Properties extraProperties) {
- InstallableUnitPatchDescription iu = new MetadataFactory.InstallableUnitPatchDescription();
- String id = getTransformedId(feature.getId(), /*isPlugin*/false, /*isGroup*/true);
- iu.setId(id);
- Version version = new Version(feature.getVersion());
- iu.setVersion(version);
- iu.setProperty(IInstallableUnit.PROP_NAME, feature.getLabel());
- if (feature.getDescription() != null)
- iu.setProperty(IInstallableUnit.PROP_DESCRIPTION, feature.getDescription());
- if (feature.getDescriptionURL() != null)
- iu.setProperty(IInstallableUnit.PROP_DESCRIPTION_URL, feature.getDescriptionURL());
- if (feature.getProviderName() != null)
- iu.setProperty(IInstallableUnit.PROP_PROVIDER, feature.getProviderName());
- if (feature.getLicense() != null)
- iu.setLicense(new License(feature.getLicenseURL(), feature.getLicense()));
- if (feature.getCopyright() != null)
- iu.setCopyright(new Copyright(feature.getCopyrightURL(), feature.getCopyright()));
- iu.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor(id, new VersionRange(new Version(0, 0, 0), true, new Version(feature.getVersion()), false), IUpdateDescriptor.NORMAL, null));
-
- FeatureEntry entries[] = feature.getEntries();
- ArrayList applicabilityScope = new ArrayList();
- ArrayList patchRequirements = new ArrayList();
- ArrayList requirementChanges = new ArrayList();
- for (int i = 0; i < entries.length; i++) {
- VersionRange range = getVersionRange(entries[i]);
- RequiredCapability req = MetadataFactory.createRequiredCapability(IU_NAMESPACE, getTransformedId(entries[i].getId(), entries[i].isPlugin(), /*isGroup*/true), range, getFilter(entries[i]), entries[i].isOptional(), false);
- if (entries[i].isRequires()) {
- applicabilityScope.add(req);
- continue;
- }
- if (entries[i].isPlugin()) {
- RequiredCapability from = MetadataFactory.createRequiredCapability(IU_NAMESPACE, getTransformedId(entries[i].getId(), entries[i].isPlugin(), /*isGroup*/true), VersionRange.emptyRange, getFilter(entries[i]), entries[i].isOptional(), false);
- requirementChanges.add(new RequirementChange(from, req));
- continue;
- }
- patchRequirements.add(req);
- }
- //Always add a requirement on the IU containing the feature jar
- patchRequirements.add(MetadataFactory.createRequiredCapability(IU_NAMESPACE, featureIU.getId(), new VersionRange(featureIU.getVersion(), true, featureIU.getVersion(), true), INSTALL_FEATURES_FILTER, false, false));
- iu.setRequiredCapabilities((RequiredCapability[]) patchRequirements.toArray(new RequiredCapability[patchRequirements.size()]));
- iu.setApplicabilityScope(new RequiredCapability[][] {(RequiredCapability[]) applicabilityScope.toArray(new RequiredCapability[applicabilityScope.size()])});
- iu.setRequirementChanges((RequirementChange[]) requirementChanges.toArray(new RequirementChange[requirementChanges.size()]));
-
- //Generate lifecycle
- RequiredCapability lifeCycle = null;
- if (applicabilityScope.size() > 0) {
- RequiredCapability req = (RequiredCapability) applicabilityScope.get(0);
- lifeCycle = MetadataFactory.createRequiredCapability(req.getNamespace(), req.getName(), req.getRange(), null, false, false, false);
- iu.setLifeCycle(lifeCycle);
- }
-
- iu.setTouchpointType(TouchpointType.NONE);
- iu.setProperty(IInstallableUnit.PROP_TYPE_GROUP, Boolean.TRUE.toString());
- iu.setProperty(IInstallableUnit.PROP_TYPE_PATCH, Boolean.TRUE.toString());
- // TODO: shouldn't the filter for the group be constructed from os, ws, arch, nl
- // of the feature?
- // iu.setFilter(filter);
-
- // Create set of provided capabilities
- ArrayList providedCapabilities = new ArrayList();
- providedCapabilities.add(createSelfCapability(id, version));
-
- Map localizations = feature.getLocalizations();
- if (localizations != null) {
- for (Iterator iter = localizations.keySet().iterator(); iter.hasNext();) {
- Locale locale = (Locale) iter.next();
- Properties translatedStrings = (Properties) localizations.get(locale);
- Enumeration propertyKeys = translatedStrings.propertyNames();
- while (propertyKeys.hasMoreElements()) {
- String nextKey = (String) propertyKeys.nextElement();
- iu.setProperty(locale.toString() + '.' + nextKey, translatedStrings.getProperty(nextKey));
- }
- providedCapabilities.add(makeTranslationCapability(id, locale));
- }
- }
-
- iu.setCapabilities((ProvidedCapability[]) providedCapabilities.toArray(new ProvidedCapability[providedCapabilities.size()]));
-
- if (extraProperties != null) {
- Enumeration e = extraProperties.propertyNames();
- while (e.hasMoreElements()) {
- String name = (String) e.nextElement();
- iu.setProperty(name, extraProperties.getProperty(name));
- }
- }
-
- return MetadataFactory.createInstallableUnitPatch(iu);
- }
-
- private static boolean isPatch(Feature feature) {
- FeatureEntry[] entries = feature.getEntries();
- for (int i = 0; i < entries.length; i++) {
- if (entries[i].isPatch())
- return true;
- }
- return false;
- }
-
- /**
- * Creates IUs and artifact descriptors for the JRE. The resulting IUs are added
- * to the given set, and the resulting artifact descriptor, if any, is returned.
- * If the jreLocation is <code>null</code>, default information is generated.
- */
- public static IArtifactDescriptor createJREData(File jreLocation, Set resultantIUs) {
- InstallableUnitDescription iu = new MetadataFactory.InstallableUnitDescription();
- iu.setSingleton(false);
- String id = "a.jre"; //$NON-NLS-1$
- Version version = DEFAULT_JRE_VERSION;
- iu.setId(id);
- iu.setVersion(version);
- iu.setTouchpointType(TOUCHPOINT_NATIVE);
-
- InstallableUnitFragmentDescription cu = new InstallableUnitFragmentDescription();
- String configId = "config." + id;//$NON-NLS-1$
- cu.setId(configId);
- cu.setVersion(version);
- cu.setHost(new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, id, new VersionRange(version, true, versionMax, true), null, false, false)});
- cu.setProperty(IInstallableUnit.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString());
- cu.setCapabilities(new ProvidedCapability[] {createSelfCapability(configId, version)});
- cu.setTouchpointType(TOUCHPOINT_NATIVE);
- Map touchpointData = new HashMap();
-
- if (jreLocation == null || !jreLocation.exists()) {
- //set some reasonable defaults
- iu.setVersion(version);
- iu.setCapabilities(generateJRECapability(id, version, null));
- resultantIUs.add(MetadataFactory.createInstallableUnit(iu));
-
- touchpointData.put("install", ""); //$NON-NLS-1$ //$NON-NLS-2$
- cu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
- resultantIUs.add(MetadataFactory.createInstallableUnit(cu));
- return null;
- }
- generateJREIUData(iu, id, version, jreLocation);
-
- //Generate artifact for JRE
- IArtifactKey key = new ArtifactKey(BINARY_ARTIFACT_CLASSIFIER, id, version);
- iu.setArtifacts(new IArtifactKey[] {key});
- resultantIUs.add(MetadataFactory.createInstallableUnit(iu));
-
- //Create config info for the CU
- String configurationData = "unzip(source:@artifact, target:${installFolder});"; //$NON-NLS-1$
- touchpointData.put("install", configurationData); //$NON-NLS-1$
- String unConfigurationData = "cleanupzip(source:@artifact, target:${installFolder});"; //$NON-NLS-1$
- touchpointData.put("uninstall", unConfigurationData); //$NON-NLS-1$
- cu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
- resultantIUs.add(MetadataFactory.createInstallableUnit(cu));
-
- //Create the artifact descriptor
- return createArtifactDescriptor(key, jreLocation, false, true);
- }
-
- public static ArtifactKey createLauncherArtifactKey(String id, Version version) {
- return new ArtifactKey(BINARY_ARTIFACT_CLASSIFIER, id, version);
- }
-
- /**
- * Creates IUs and artifacts for the Launcher executable. The resulting IUs are added
- * to the given set, and the resulting artifact descriptor is returned.
- */
- public static IArtifactDescriptor createLauncherIU(File launcher, String configurationFlavor, Set resultantIUs) {
- if (launcher == null || !launcher.exists())
- return null;
-
- //Create the IU
- InstallableUnitDescription iu = new MetadataFactory.InstallableUnitDescription();
- iu.setSingleton(true);
- String launcherId = LAUNCHER_ID_PREFIX + '_' + launcher.getName();
- iu.setId(launcherId);
- iu.setVersion(LAUNCHER_VERSION);
-
- IArtifactKey key = createLauncherArtifactKey(launcherId, LAUNCHER_VERSION);
- iu.setArtifacts(new IArtifactKey[] {key});
- iu.setCapabilities(new ProvidedCapability[] {createSelfCapability(launcherId, LAUNCHER_VERSION)});
- iu.setTouchpointType(TOUCHPOINT_NATIVE);
- resultantIUs.add(MetadataFactory.createInstallableUnit(iu));
-
- //Create the CU
- InstallableUnitFragmentDescription cu = new InstallableUnitFragmentDescription();
- String configUnitId = configurationFlavor + launcherId;
- cu.setId(configUnitId);
- cu.setVersion(LAUNCHER_VERSION);
- cu.setHost(new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, launcherId, new VersionRange(LAUNCHER_VERSION, true, versionMax, true), null, false, false)});
- cu.setProperty(IInstallableUnit.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString());
- cu.setCapabilities(new ProvidedCapability[] {createSelfCapability(configUnitId, LAUNCHER_VERSION)});
- cu.setTouchpointType(TOUCHPOINT_NATIVE);
- Map touchpointData = new HashMap();
- String configurationData = "unzip(source:@artifact, target:${installFolder});"; //$NON-NLS-1$
- EnvironmentInfo info = (EnvironmentInfo) ServiceHelper.getService(Activator.getContext(), EnvironmentInfo.class.getName());
- if (!info.getOS().equals(org.eclipse.osgi.service.environment.Constants.OS_WIN32)) {
- if (info.getOS().equals(org.eclipse.osgi.service.environment.Constants.OS_MACOSX)) {
- configurationData += " chmod(targetDir:${installFolder}/Eclipse.app/Contents/MacOS, targetFile:eclipse, permissions:755);"; //$NON-NLS-1$
- generateLauncherSetter("Eclipse", launcherId, LAUNCHER_VERSION, "macosx", null, null, resultantIUs); //$NON-NLS-1$//$NON-NLS-2$
- } else
- configurationData += " chmod(targetDir:${installFolder}, targetFile:" + launcher.getName() + ", permissions:755);"; //$NON-NLS-1$ //$NON-NLS-2$
- } else {
- generateLauncherSetter("eclipse", launcherId, LAUNCHER_VERSION, "win32", null, null, resultantIUs); //$NON-NLS-1$ //$NON-NLS-2$
- }
- touchpointData.put("install", configurationData); //$NON-NLS-1$
- String unConfigurationData = "cleanupzip(source:@artifact, target:${installFolder});"; //$NON-NLS-1$
- touchpointData.put("uninstall", unConfigurationData); //$NON-NLS-1$
- cu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
- resultantIUs.add(MetadataFactory.createInstallableUnitFragment(cu));
-
- //Create the artifact descriptor
- return createArtifactDescriptor(key, launcher, false, true);
- }
-
- public static IInstallableUnit generateLauncherSetter(String launcherName, String iuId, Version version, String os, String ws, String arch, Set result) {
- InstallableUnitDescription iud = new MetadataFactory.InstallableUnitDescription();
- iud.setId(iuId + '.' + launcherName);
- iud.setVersion(version);
- iud.setTouchpointType(MetadataGeneratorHelper.TOUCHPOINT_OSGI);
- iud.setCapabilities(new ProvidedCapability[] {createSelfCapability(iuId + '.' + launcherName, version)});
-
- if (os != null || ws != null || arch != null) {
- String filterOs = os != null ? "(osgi.os=" + os + ")" : ""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- String filterWs = ws != null ? "(osgi.ws=" + ws + ")" : ""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- String filterArch = arch != null ? "(osgi.arch=" + arch + ")" : ""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- iud.setFilter("(& " + filterOs + filterWs + filterArch + ")"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- Map touchpointData = new HashMap();
- touchpointData.put("configure", "setLauncherName(name:" + launcherName + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- touchpointData.put("unconfigure", "setLauncherName()"); //$NON-NLS-1$ //$NON-NLS-2$
- iud.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
-
- IInstallableUnit iu = MetadataFactory.createInstallableUnit(iud);
- result.add(iu);
- return iu;
- }
-
- public static ProvidedCapability createSelfCapability(String installableUnitId, Version installableUnitVersion) {
- return MetadataFactory.createProvidedCapability(IU_NAMESPACE, installableUnitId, installableUnitVersion);
- }
-
- private static String createUnconfigScript(GeneratorBundleInfo unconfigInfo, boolean isBundleFragment) {
- if (unconfigInfo == null)
- return ""; //$NON-NLS-1$
- String unconfigScript = "";//$NON-NLS-1$
- if (!isBundleFragment && unconfigInfo.getStartLevel() != BundleInfo.NO_LEVEL) {
- unconfigScript += "setStartLevel(startLevel:" + BundleInfo.NO_LEVEL + ");"; //$NON-NLS-1$ //$NON-NLS-2$
- }
- if (!isBundleFragment && unconfigInfo.isMarkedAsStarted()) {
- unconfigScript += "markStarted(started: false);"; //$NON-NLS-1$
- }
-
- if (unconfigInfo.getSpecialUnconfigCommands() != null) {
- unconfigScript += unconfigInfo.getSpecialUnconfigCommands();
- }
- return unconfigScript;
-
- }
-
- private static ProvidedCapability[] generateJRECapability(String installableUnitId, Version installableUnitVersion, InputStream profileStream) {
- if (profileStream == null) {
- //use the 1.6 profile stored in the generator bundle
- try {
- profileStream = Activator.getContext().getBundle().getEntry("JavaSE-1.6.profile").openStream(); //$NON-NLS-1$
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- }
- Properties p = new Properties();
- try {
- p.load(profileStream);
- ManifestElement[] jrePackages = ManifestElement.parseHeader("org.osgi.framework.system.packages", (String) p.get("org.osgi.framework.system.packages")); //$NON-NLS-1$ //$NON-NLS-2$
- ProvidedCapability[] exportedPackageAsCapabilities = new ProvidedCapability[jrePackages.length + 1];
- exportedPackageAsCapabilities[0] = createSelfCapability(installableUnitId, installableUnitVersion);
- for (int i = 1; i <= jrePackages.length; i++) {
- exportedPackageAsCapabilities[i] = MetadataFactory.createProvidedCapability(CAPABILITY_NS_JAVA_PACKAGE, jrePackages[i - 1].getValue(), null);
- }
- return exportedPackageAsCapabilities;
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (BundleException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } finally {
- if (profileStream != null) {
- try {
- profileStream.close();
- } catch (IOException e) {
- //ignore secondary failure
- }
- }
- }
- return new ProvidedCapability[0];
- }
-
- private static void generateJREIUData(InstallableUnitDescription iu, String installableUnitId, Version installableUnitVersion, File jreLocation) {
- //Look for a JRE profile file to set version and capabilities
- File[] profiles = jreLocation.listFiles(new FileFilter() {
- public boolean accept(File pathname) {
- return pathname.getAbsolutePath().endsWith(".profile"); //$NON-NLS-1$
- }
- });
- if (profiles.length != 1) {
- iu.setVersion(DEFAULT_JRE_VERSION);
- iu.setCapabilities(generateJRECapability(installableUnitId, installableUnitVersion, null));
- return;
- }
- String profileName = profiles[0].getAbsolutePath().substring(profiles[0].getAbsolutePath().lastIndexOf('/'));
- Version version = DEFAULT_JRE_VERSION;
- //TODO Find a better way to determine JRE version
- if (profileName.indexOf("1.6") > 0) { //$NON-NLS-1$
- version = new Version("1.6"); //$NON-NLS-1$
- } else if (profileName.indexOf("1.5") > 0) { //$NON-NLS-1$
- version = new Version("1.5"); //$NON-NLS-1$
- } else if (profileName.indexOf("1.4") > 0) { //$NON-NLS-1$
- version = new Version("1.4"); //$NON-NLS-1$
- }
- iu.setVersion(version);
- try {
- iu.setCapabilities(generateJRECapability(installableUnitId, installableUnitVersion, new FileInputStream(profiles[0])));
- } catch (FileNotFoundException e) {
- //Shouldn't happen, but ignore and fall through to use default
- }
- }
-
- public static String getFilter(FeatureEntry entry) {
- StringBuffer result = new StringBuffer();
- result.append("(&"); //$NON-NLS-1$
- if (entry.getFilter() != null)
- result.append(entry.getFilter());
- if (entry.getOS() != null)
- result.append("(osgi.os=" + entry.getOS() + ')');//$NON-NLS-1$
- if (entry.getWS() != null)
- result.append("(osgi.ws=" + entry.getWS() + ')');//$NON-NLS-1$
- if (entry.getArch() != null)
- result.append("(osgi.arch=" + entry.getArch() + ')');//$NON-NLS-1$
- if (entry.getNL() != null)
- result.append("(osgi.nl=" + entry.getNL() + ')');//$NON-NLS-1$
- if (result.length() == 2)
- return null;
- result.append(')');
- return result.toString();
- }
-
- public static String getTransformedId(String original, boolean isPlugin, boolean isGroup) {
- return (isPlugin ? original : original + (isGroup ? ".feature.group" : ".feature.jar")); //$NON-NLS-1$//$NON-NLS-2$
- }
-
- public static VersionRange getVersionRange(FeatureEntry entry) {
- String versionSpec = entry.getVersion();
- if (versionSpec == null)
- return VersionRange.emptyRange;
- Version version = new Version(versionSpec);
- if (version.equals(Version.emptyVersion))
- return VersionRange.emptyRange;
- if (!entry.isRequires())
- return new VersionRange(version, true, version, true);
- String match = entry.getMatch();
- if (match == null || match.equals("compatible")) { //$NON-NLS-1$
- Version upper = new Version(version.getMajor() + 1, 0, 0);
- return new VersionRange(version, true, upper, false);
- }
- if (match.equals("perfect")) //$NON-NLS-1$
- return new VersionRange(version, true, version, true);
- if (match.equals("equivalent")) { //$NON-NLS-1$
- Version upper = new Version(version.getMajor(), version.getMinor() + 1, 0);
- return new VersionRange(version, true, upper, false);
- }
- if (match.equals("greaterOrEqual")) //$NON-NLS-1$
- return new VersionRange(version, true, new VersionRange(null).getMaximum(), true);
- return null;
- }
-
- public static Map getBundleAdvice(String bundleLocation) {
- if (bundleLocation == null)
- return Collections.EMPTY_MAP;
-
- File bundle = new File(bundleLocation);
- if (!bundle.exists())
- return Collections.EMPTY_MAP;
-
- ZipFile jar = null;
- InputStream stream = null;
- if (bundle.isDirectory()) {
- File adviceFile = new File(bundle, BUNDLE_ADVICE_FILE);
- if (adviceFile.exists()) {
- try {
- stream = new BufferedInputStream(new FileInputStream(adviceFile));
- } catch (IOException e) {
- return Collections.EMPTY_MAP;
- }
- }
- } else if (bundle.isFile()) {
- try {
- jar = new ZipFile(bundle);
- ZipEntry entry = jar.getEntry(BUNDLE_ADVICE_FILE);
- if (entry != null)
- stream = new BufferedInputStream(jar.getInputStream(entry));
- } catch (IOException e) {
- if (jar != null)
- try {
- jar.close();
- } catch (IOException e1) {
- //boo
- }
- return Collections.EMPTY_MAP;
- }
- }
-
- Properties advice = null;
- if (stream != null) {
- try {
- advice = new Properties();
- advice.load(stream);
- } catch (IOException e) {
- return Collections.EMPTY_MAP;
- } finally {
- try {
- stream.close();
- } catch (IOException e) {
- //boo
- }
- }
- }
-
- if (jar != null) {
- try {
- jar.close();
- } catch (IOException e) {
- // boo
- }
- }
-
- return advice != null ? advice : Collections.EMPTY_MAP;
- }
-
- private static boolean isOptional(ImportPackageSpecification importedPackage) {
- if (importedPackage.getDirective(Constants.RESOLUTION_DIRECTIVE).equals(ImportPackageSpecification.RESOLUTION_DYNAMIC) || importedPackage.getDirective(Constants.RESOLUTION_DIRECTIVE).equals(ImportPackageSpecification.RESOLUTION_OPTIONAL))
- return true;
- return false;
- }
-
- private static String toManifestString(Map p) {
- if (p == null)
- return null;
- Collection properties = p.entrySet();
- StringBuffer result = new StringBuffer();
- for (Iterator iterator = properties.iterator(); iterator.hasNext();) {
- Map.Entry aProperty = (Map.Entry) iterator.next();
- if (aProperty.getKey().equals(BundleDescriptionFactory.BUNDLE_FILE_KEY))
- continue;
- result.append(aProperty.getKey()).append(": ").append(aProperty.getValue()).append('\n'); //$NON-NLS-1$
- }
- return result.toString();
- }
-
- // Return a map from locale to property set for the manifest localizations
- // from the given bundle directory and given bundle localization path/name
- // manifest property value.
- private static Map getManifestLocalizations(Map manifest, File bundleLocation) {
- Map localizations;
- Locale defaultLocale = null; // = Locale.ENGLISH; // TODO: get this from GeneratorInfo
- String[] bundleManifestValues = getManifestCachedValues(manifest);
- String bundleLocalization = bundleManifestValues[BUNDLE_LOCALIZATION_INDEX];
-
- if ("jar".equalsIgnoreCase(new Path(bundleLocation.getName()).getFileExtension()) && //$NON-NLS-1$
- bundleLocation.isFile()) {
- localizations = LocalizationHelper.getJarPropertyLocalizations(bundleLocation, bundleLocalization, defaultLocale, bundleManifestValues);
- //localizations = getJarManifestLocalization(bundleLocation, bundleLocalization, defaultLocale, bundleManifestValues);
- } else {
- localizations = LocalizationHelper.getDirPropertyLocalizations(bundleLocation, bundleLocalization, defaultLocale, bundleManifestValues);
- // localizations = getDirManifestLocalization(bundleLocation, bundleLocalization, defaultLocale, bundleManifestValues);
- }
-
- return localizations;
- }
-
- public static String[] getManifestCachedValues(Map manifest) {
- String[] cachedValues = new String[BUNDLE_LOCALIZED_PROPERTIES.length + 1];
- for (int j = 0; j < MetadataGeneratorHelper.BUNDLE_LOCALIZED_PROPERTIES.length; j++) {
- String value = (String) manifest.get(BUNDLE_LOCALIZED_PROPERTIES[j]);
- if (value != null && value.length() > 1 && value.charAt(0) == '%') {
- cachedValues[j] = value.substring(1);
- }
- }
- String localizationFile = (String) manifest.get(org.osgi.framework.Constants.BUNDLE_LOCALIZATION);
- cachedValues[BUNDLE_LOCALIZATION_INDEX] = (localizationFile != null ? localizationFile : DEFAULT_BUNDLE_LOCALIZATION);
- return cachedValues;
- }
-
- // Return a map from locale to property set for the manifest localizations
- // from the given bundle directory and given bundle localization path/name
- // manifest property value.
- public static Map getHostLocalizations(File bundleLocation, String[] hostBundleManifestValues) {
- Map localizations;
- Locale defaultLocale = null; // = Locale.ENGLISH; // TODO: get this from GeneratorInfo
- String hostBundleLocalization = hostBundleManifestValues[BUNDLE_LOCALIZATION_INDEX];
-
- if ("jar".equalsIgnoreCase(new Path(bundleLocation.getName()).getFileExtension()) && //$NON-NLS-1$
- bundleLocation.isFile()) {
- localizations = LocalizationHelper.getJarPropertyLocalizations(bundleLocation, hostBundleLocalization, defaultLocale, hostBundleManifestValues);
- //localizations = getJarManifestLocalization(bundleLocation, hostBundleLocalization, defaultLocale, hostBundleManifestValues);
- } else {
- localizations = LocalizationHelper.getDirPropertyLocalizations(bundleLocation, hostBundleLocalization, defaultLocale, hostBundleManifestValues);
- // localizations = getDirManifestLocalization(bundleLocation, hostBundleLocalization, defaultLocale, hostBundleManifestValues);
- }
-
- return localizations;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/URLEntry.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/URLEntry.java
deleted file mode 100644
index 8e928f6..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/URLEntry.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.provisional.p2.metadata.generator;
-
-public class URLEntry {
- private String annotation;
- private String url;
-
- public URLEntry() {
- }
-
- public URLEntry(String url, String annotation) {
- this.url = url;
- this.annotation = annotation;
- }
-
- public void setAnnotation(String annotation) {
- this.annotation = annotation;
- }
-
- public String getAnnotation() {
- return annotation;
- }
-
- public void setURL(String url) {
- this.url = url;
- }
-
- public String getURL() {
- return url;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src_ant/org/eclipse/equinox/internal/p2/metadata/generator/ant/GeneratorTask.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src_ant/org/eclipse/equinox/internal/p2/metadata/generator/ant/GeneratorTask.java
deleted file mode 100644
index 571c1a5..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src_ant/org/eclipse/equinox/internal/p2/metadata/generator/ant/GeneratorTask.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.generator.ant;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-import org.eclipse.equinox.internal.p2.metadata.generator.EclipseGeneratorApplication;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.EclipseInstallGeneratorInfoProvider;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.IncrementalGenerator;
-
-/**
- * An Ant task to call the p2 Metadata Generator application.
- *
- * @since 1.0
- */
-public class GeneratorTask extends Task {
-
- protected EclipseInstallGeneratorInfoProvider provider = null;
- protected EclipseGeneratorApplication generator = null;
-
- private String mode;
-
- /* (non-Javadoc)
- * @see org.apache.tools.ant.Task#execute()
- */
- public void execute() throws BuildException {
- try {
- IncrementalGenerator incremental = new IncrementalGenerator();
- incremental.setMode(mode);
- incremental.run(generator, provider);
-
- if (!"incremental".equals(mode)) { //$NON-NLS-1$
- provider = null;
- generator = null;
- }
- } catch (Exception e) {
- throw new BuildException(TaskMessages.exception_errorOccurredCallingGenerator, e);
- }
- }
-
- public void setAppend(String value) {
- if (provider == null)
- provider = new EclipseInstallGeneratorInfoProvider();
- provider.setAppend(Boolean.valueOf(value).booleanValue());
- }
-
- public void setArtifactRepository(String location) {
- if (generator == null)
- generator = new EclipseGeneratorApplication();
- generator.setArtifactLocation(location);
- }
-
- public void setArtifactRepositoryName(String name) {
- if (generator == null)
- generator = new EclipseGeneratorApplication();
- generator.setArtifactRepositoryName(name);
- }
-
- public void setBase(String value) {
- if (generator == null)
- generator = new EclipseGeneratorApplication();
- generator.setBase(value);
- }
-
- public void setBundles(String value) {
- if (generator == null)
- generator = new EclipseGeneratorApplication();
- generator.setBundles(value);
- }
-
- public void setCompress(String value) {
- if (generator == null)
- generator = new EclipseGeneratorApplication();
- generator.setCompress(value);
- }
-
- public void setConfig(String value) {
- if (generator == null)
- generator = new EclipseGeneratorApplication();
- generator.setOperation("-config", value); //$NON-NLS-1$
- }
-
- public void setInplace(String value) {
- if (generator == null)
- generator = new EclipseGeneratorApplication();
- generator.setOperation("-inplace", value); //$NON-NLS-1$
- }
-
- public void setSource(String location) {
- if (generator == null)
- generator = new EclipseGeneratorApplication();
- generator.setOperation("-source", location); //$NON-NLS-1$
- }
-
- public void setUpdateSite(String value) {
- if (generator == null)
- generator = new EclipseGeneratorApplication();
- generator.setOperation("-update", value); //$NON-NLS-1$
- }
-
- public void setExe(String value) {
- if (provider == null)
- provider = new EclipseInstallGeneratorInfoProvider();
- provider.setExecutableLocation(value);
- }
-
- public void setFeatures(String value) {
- if (generator == null)
- generator = new EclipseGeneratorApplication();
- generator.setFeatures(value);
- }
-
- public void setFlavor(String flavor) {
- if (provider == null)
- provider = new EclipseInstallGeneratorInfoProvider();
- provider.setFlavor(flavor);
- }
-
- public void setLauncherConfig(String launcherConfig) {
- if (provider == null)
- provider = new EclipseInstallGeneratorInfoProvider();
- provider.setLauncherConfig(launcherConfig);
- }
-
- public void setMetadataRepository(String location) {
- if (generator == null)
- generator = new EclipseGeneratorApplication();
- generator.setMetadataLocation(location);
- }
-
- public void setMetadataRepositoryName(String name) {
- if (generator == null)
- generator = new EclipseGeneratorApplication();
- generator.setMetadataRepositoryName(name);
- }
-
- public void setNoDefaultIUs(String value) {
- if (provider == null)
- provider = new EclipseInstallGeneratorInfoProvider();
- provider.setAddDefaultIUs(!Boolean.valueOf(value).booleanValue());
- }
-
- public void setP2OS(String value) {
- if (provider == null)
- provider = new EclipseInstallGeneratorInfoProvider();
- provider.setOS(value);
- }
-
- public void setProductFile(String file) {
- if (provider == null)
- provider = new EclipseInstallGeneratorInfoProvider();
- provider.setProductFile(file);
- }
-
- public void setPublishArtifactRepository(String value) {
- if (provider == null)
- provider = new EclipseInstallGeneratorInfoProvider();
- provider.setPublishArtifactRepository(Boolean.valueOf(value).booleanValue());
- }
-
- public void setPublishArtifacts(String value) {
- if (provider == null)
- provider = new EclipseInstallGeneratorInfoProvider();
- provider.setPublishArtifacts(Boolean.valueOf(value).booleanValue());
- }
-
- public void setRoot(String root) {
- if (root == null || root.startsWith("${")) //$NON-NLS-1$
- return;
- if (provider == null)
- provider = new EclipseInstallGeneratorInfoProvider();
- provider.setRootId(root);
- }
-
- public void setRootVersion(String rootVersion) {
- if (rootVersion == null || rootVersion.startsWith("${")) //$NON-NLS-1$
- return;
- if (provider == null)
- provider = new EclipseInstallGeneratorInfoProvider();
- provider.setRootVersion(rootVersion);
- }
-
- public void setMode(String mode) {
- this.mode = mode;
- }
-
- public void setVersionAdvice(String advice) {
- if (provider == null)
- provider = new EclipseInstallGeneratorInfoProvider();
- provider.setVersionAdvice(advice);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src_ant/org/eclipse/equinox/internal/p2/metadata/generator/ant/TaskMessages.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src_ant/org/eclipse/equinox/internal/p2/metadata/generator/ant/TaskMessages.java
deleted file mode 100644
index 77e7103..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src_ant/org/eclipse/equinox/internal/p2/metadata/generator/ant/TaskMessages.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.generator.ant;
-
-import org.eclipse.osgi.util.NLS;
-
-public class TaskMessages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.metadata.generator.ant.messages";//$NON-NLS-1$
-
- public static String exception_errorOccurredCallingGenerator;
- public static String exception_errorArtifactRepo;
- public static String exception_errorMetadataRepo;
-
- static {
- // load message values from bundle file
- NLS.initializeMessages(BUNDLE_NAME, TaskMessages.class);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src_ant/org/eclipse/equinox/internal/p2/metadata/generator/ant/messages.properties b/bundles/org.eclipse.equinox.p2.metadata.generator/src_ant/org/eclipse/equinox/internal/p2/metadata/generator/ant/messages.properties
deleted file mode 100644
index 2c2eb1c..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src_ant/org/eclipse/equinox/internal/p2/metadata/generator/ant/messages.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-exception_errorOccurredCallingGenerator = An error occurred when calling generator.
-exception_errorArtifactRepo = Error setting artifact repository {0}.
-exception_errorMetadataRepo = Error setting metadata repository {0}.
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/.classpath b/bundles/org.eclipse.equinox.p2.metadata.repository/.classpath
deleted file mode 100644
index 2fbb7a2..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/.project b/bundles/org.eclipse.equinox.p2.metadata.repository/.project
deleted file mode 100644
index d382ba8..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.equinox.p2.metadata.repository</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.metadata.repository/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 904df31..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,329 +0,0 @@
-#Fri Feb 22 11:22:59 EST 2008
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.metadata.repository/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 6b7580c..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:58:22 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.metadata.repository/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 7913d20..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.metadata.repository/META-INF/MANIFEST.MF
deleted file mode 100644
index fea541e..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,56 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.metadata.repository;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 1.0.0.qualifier
-Export-Package: org.eclipse.equinox.internal.p2.metadata.repository;x-friends:="org.eclipse.equinox.p2.engine,org.eclipse.equinox.p2.metadata.generator,org.eclipse.equinox.p2.reconciler.dropins, org.eclipse.equinox.p2.ui",
- org.eclipse.equinox.internal.p2.metadata.repository.io;x-friends:="org.eclipse.equinox.p2.engine",
- org.eclipse.equinox.internal.provisional.p2.metadata.repository;
- x-friends:="org.eclipse.equinox.p2.ui,
- org.eclipse.equinox.p2.ui.admin,
- org.eclipse.equinox.p2.ui.sdk,
- org.eclipse.equinox.p2.updatechecker,
- org.eclipse.equinox.p2.console,
- org.eclipse.equinox.p2.director,
- org.eclipse.equinox.p2.directorywatcher,
- org.eclipse.equinox.p2.engine,
- org.eclipse.equinox.p2.metadata.generator,
- org.eclipse.equinox.p2.updatesite,
- org.eclipse.equinox.p2.extensionlocation,
- org.eclipse.equinox.p2.installer,
- org.eclipse.equinox.p2.reconciler.dropins,
- org.eclipse.pde.p2.ui",
- org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository;x-friends:="org.eclipse.equinox.p2.extensionlocation,org.eclipse.equinox.p2.updatesite"
-Import-Package: org.eclipse.core.runtime.preferences,
- org.eclipse.equinox.app;resolution:=optional,
- org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.p2.metadata,
- org.eclipse.equinox.internal.p2.persistence,
- org.eclipse.equinox.internal.provisional.p2.core,
- org.eclipse.equinox.internal.provisional.p2.core.eventbus,
- org.eclipse.equinox.internal.provisional.p2.core.location,
- org.eclipse.equinox.internal.provisional.p2.core.repository,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.internal.provisional.p2.metadata.query,
- org.eclipse.equinox.internal.provisional.p2.query,
- org.eclipse.equinox.internal.provisional.spi.p2.core.repository,
- org.eclipse.equinox.security.storage,
- org.eclipse.osgi.service.datalocation;version="1.0.0",
- org.eclipse.osgi.service.resolver;version="1.1.0",
- org.eclipse.osgi.util;version="1.1.0",
- org.osgi.framework;version="1.3.0",
- org.osgi.service.prefs;version="1.1.0",
- org.xml.sax
-Bundle-Activator: org.eclipse.equinox.internal.p2.metadata.repository.Activator
-Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,
- CDC-1.1/Foundation-1.1
-Require-Bundle: org.eclipse.equinox.common,
- org.eclipse.equinox.registry,
- org.eclipse.ecf;bundle-version="1.2.0",
- org.eclipse.ecf.filetransfer;bundle-version="2.0.0",
- org.eclipse.osgi;bundle-version="3.4.0",
- org.eclipse.core.jobs;bundle-version="[3.2.0,4.0.0)"
-Eclipse-BuddyPolicy: registered
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/about.html b/bundles/org.eclipse.equinox.p2.metadata.repository/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 2, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/build.properties b/bundles/org.eclipse.equinox.p2.metadata.repository/build.properties
deleted file mode 100644
index 3eeba16..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- about.html,\
- plugin.xml,\
- plugin.properties
-src.includes = about.html,\
- schema/
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/p2 tools - mirror metadata.launch b/bundles/org.eclipse.equinox.p2.metadata.repository/p2 tools - mirror metadata.launch
deleted file mode 100644
index 4d7cb3c..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/p2 tools - mirror metadata.launch
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/p2 tools - mirror metadata"/>
-<booleanAttribute key="default_auto_start" value="false"/>
-<intAttribute key="default_start_level" value="4"/>
-<booleanAttribute key="includeOptional" value="false"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.JAVA_COMMAND" value="java"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-console -consolelog -application org.eclipse.equinox.p2.metadata.repository.mirrorApplication -source http://download.eclipse.org/eclipse/updates/3.4milestones/ -destination file:c:/p2"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="target_bundles" value="org.eclipse.equinox.security@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.app@default:true,org.eclipse.osgi.services@default:default,org.eclipse.osgi@:,org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.common@default:default,org.eclipse.equinox.registry@default:default,javax.servlet@default:default,org.eclipse.core.jobs@default:default"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<booleanAttribute key="useNamedJRE" value="true"/>
-<stringAttribute key="workspace_bundles" value="org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.ecf.provider.filetransfer@default:default,org.sat4j.pb@default:default,org.eclipse.equinox.simpleconfigurator@default:true,org.eclipse.equinox.p2.director@default:default,org.sat4j.core@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.p2.console@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.ecf@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.jarprocessor@default:default"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/plugin.properties b/bundles/org.eclipse.equinox.p2.metadata.repository/plugin.properties
deleted file mode 100644
index 44b0907..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Equinox Provisioning Metadata Repository
-providerName = Eclipse.org
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/plugin.xml b/bundles/org.eclipse.equinox.p2.metadata.repository/plugin.xml
deleted file mode 100644
index 5c9da58..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/plugin.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
- <extension-point id="metadataRepositories" name="Metadata Repositories" schema="schema/metadataRepositories.exsd"/>
- <extension id="simpleRepository" point="org.eclipse.equinox.p2.metadata.repository.metadataRepositories">
- <filter suffix="content.xml"/>
- <factory class="org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.SimpleMetadataRepositoryFactory"/>
- </extension>
- <extension
- id="mirrorApplication"
- point="org.eclipse.core.runtime.applications">
- <application
- cardinality="1"
- thread="main"
- visible="true">
- <run
- class="org.eclipse.equinox.internal.p2.metadata.mirror.MirrorApplication">
- </run>
- </application>
- </extension>
-</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/schema/metadataRepositories.exsd b/bundles/org.eclipse.equinox.p2.metadata.repository/schema/metadataRepositories.exsd
deleted file mode 100644
index 0612390..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/schema/metadataRepositories.exsd
+++ /dev/null
@@ -1,124 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.equinox.p2.metadata.repository">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.equinox.p2.metadata.repository" id="metadataRepositories" name="Metadata Repositories"/>
- </appInfo>
- <documentation>
- This extension point is used to provide artifact repository implementations
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="factory"/>
- <element ref="filter" minOccurs="0" maxOccurs="1"/>
- </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>
- <appInfo>
- <meta.attribute translatable="true"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="factory">
- <complexType>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
- the fully-qualified name of a class which implements
-<samp>org.eclipse.equinox.p2.artifact.repository.IArtifactRepository</samp>.
- </documentation>
- <appInfo>
- <meta.attribute kind="java" basedOn="org.eclipse.equinox.p2.artifact.repository.IArtifactRepository"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="filter">
- <complexType>
- <attribute name="suffix" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- org.eclipse.equinox.p2.artifact.repository 0.1.0
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- [Enter extension point usage example here.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="apiInfo"/>
- </appInfo>
- <documentation>
- The value of the class attribute must represent an
-implementor of <tt>org.eclipse.equinox.p2.artifact.repository.IArtifactRepository</tt>
- </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>
- Copyright (c) 2007 IBM Corporation and others.<br>
-All rights reserved. This program and the accompanying materials are made
-available under the terms of the Eclipse Public License v1.0 which
-accompanies this distribution, and is available at <a
-href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>
- </documentation>
- </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/mirror/MirrorApplication.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/mirror/MirrorApplication.java
deleted file mode 100644
index 0de48e3..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/mirror/MirrorApplication.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Code 9 and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Code 9 - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.mirror;
-
-import java.net.URL;
-import java.util.*;
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager;
-
-/**
- * An application that performs mirroring of artifacts between repositories.
- */
-public class MirrorApplication implements IApplication {
-
- private String[] rootSpecs;
- private MetadataRepositoryManager repoManager = new MetadataRepositoryManager();
- private URL sourceLocation;
- private URL destinationLocation;
- private IMetadataRepository source;
- private IMetadataRepository destination;
- private boolean transitive = false;
-
- /**
- * Convert a list of tokens into an array. The list separator has to be
- * specified.
- */
- public static String[] getArrayArgsFromString(String list, String separator) {
- if (list == null || list.trim().equals("")) //$NON-NLS-1$
- return new String[0];
- List result = new ArrayList();
- for (StringTokenizer tokens = new StringTokenizer(list, separator); tokens.hasMoreTokens();) {
- String token = tokens.nextToken().trim();
- if (!token.equals("")) { //$NON-NLS-1$
- if ((token.indexOf('[') >= 0 || token.indexOf('(') >= 0) && tokens.hasMoreTokens())
- result.add(token + separator + tokens.nextToken());
- else
- result.add(token);
- }
- }
- return (String[]) result.toArray(new String[result.size()]);
- }
-
- public Object start(IApplicationContext context) throws Exception {
- initializeFromArguments((String[]) context.getArguments().get("application.args")); //$NON-NLS-1$
- setupRepositories();
- new Mirroring().mirror(source, destination, rootSpecs, transitive);
- return IApplication.EXIT_OK;
- }
-
- private void setupRepositories() throws ProvisionException {
- if (destinationLocation == null || sourceLocation == null)
- throw new IllegalStateException("Must specify a source and destination"); //$NON-NLS-1$
- destination = initializeDestination();
- source = repoManager.loadRepository(sourceLocation, null);
- }
-
- private IMetadataRepository initializeDestination() throws ProvisionException {
- try {
- IMetadataRepository repository = repoManager.loadRepository(destinationLocation, null);
- if (!repository.isModifiable())
- throw new IllegalArgumentException("Metadata repository not modifiable: " + destinationLocation); //$NON-NLS-1$
- return repository;
- } catch (ProvisionException e) {
- //fall through and create repo
- }
- String repositoryName = destinationLocation + " - metadata"; //$NON-NLS-1$
- return repoManager.createRepository(destinationLocation, repositoryName, IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
- }
-
- public void stop() {
- //do nothing
- }
-
- public void initializeFromArguments(String[] args) throws Exception {
- if (args == null)
- return;
- for (int i = 0; i < args.length; i++) {
- // 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 param so continue.
- if (i == args.length - 1 || args[i + 1].startsWith("-")) //$NON-NLS-1$
- continue;
- String arg = args[++i];
-
- if (args[i - 1].equalsIgnoreCase("-source")) //$NON-NLS-1$
- sourceLocation = new URL(arg);
- if (args[i - 1].equalsIgnoreCase("-destination")) //$NON-NLS-1$
- destinationLocation = new URL(arg);
- if (args[i - 1].equalsIgnoreCase("-roots")) //$NON-NLS-1$
- rootSpecs = getArrayArgsFromString(arg, ","); //$NON-NLS-1$
- if (args[i - 1].equalsIgnoreCase("-transitive")) //$NON-NLS-1$
- transitive = true;
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/mirror/Mirroring.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/mirror/Mirroring.java
deleted file mode 100644
index 9746962..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/mirror/Mirroring.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Code 9 and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Code 9 - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.mirror;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.query.Query;
-
-/**
- * A utility class that performs mirroring of metadatas between repositories.
- */
-public class Mirroring {
-
- public void validate(IMetadataRepository source, IMetadataRepository destination) {
- if (source == null)
- throw new IllegalStateException("Source repository is null."); //$NON-NLS-1$
- if (destination == null)
- throw new IllegalStateException("Destination repository is null."); //$NON-NLS-1$
- if (!destination.isModifiable())
- throw new IllegalStateException("Destination repository must be modifiable: " + destination.getLocation()); //$NON-NLS-1$
- }
-
- public void mirror(IMetadataRepository source, IMetadataRepository destination, String[] rootSpecs, boolean transitive) {
- if (rootSpecs == null)
- mirror(source, destination, InstallableUnitQuery.ANY, transitive);
- else {
- VersionRangedName[] roots = new VersionRangedName[rootSpecs.length];
- for (int i = 0; i < rootSpecs.length; i++)
- roots[i] = VersionRangedName.parse(rootSpecs[i]);
- mirror(source, destination, new RangeQuery(roots), transitive);
- }
- }
-
- public void mirror(IMetadataRepository source, IMetadataRepository destination, Query query, boolean transitive) {
- validate(source, destination);
- Collector result = source.query(query, new Collector(), null);
- mirror(source, destination, (IInstallableUnit[]) result.toArray(IInstallableUnit.class), transitive);
- }
-
- private void mirror(IMetadataRepository source, IMetadataRepository destination, IInstallableUnit[] roots, boolean transitive) {
- if (transitive)
- roots = addTransitiveIUs(source, roots);
- destination.addInstallableUnits(roots);
- }
-
- protected IInstallableUnit[] addTransitiveIUs(IMetadataRepository source, IInstallableUnit[] roots) {
- // TODO Here we should create a profile from the source repo and discover all the
- // IUs that are needed to support the given roots. For now just assume that the
- // given roots are enough.
- return roots;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/mirror/RangeQuery.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/mirror/RangeQuery.java
deleted file mode 100644
index e8f7a2c..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/mirror/RangeQuery.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Code 9 and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Code 9 - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.mirror;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.query.Query;
-
-/**
- * A convenience query that will match any {@link IInstallableUnit}
- * it encounters.
- */
-public class RangeQuery extends Query {
- private VersionRangedName[] targets;
-
- /**
- * Creates a query that will match any {@link IInstallableUnit} with the given
- * VerionRangedName.
- *
- * @param targets The installable unit names with versions to match, or <code>null</code> to match any id
- */
- public RangeQuery(VersionRangedName[] targets) {
- this.targets = targets;
- }
-
- /**
- * Returns true if the <code>IInstallableUnit</code> object is contained in the <code>VerionRangedName</code>'s or targets is null.
- */
- public boolean isMatch(Object object) {
- if (!(object instanceof IInstallableUnit))
- return false;
- if (targets == null)
- return true;
- IInstallableUnit candidate = (IInstallableUnit) object;
- for (int i = 0; i < targets.length; i++) {
- VersionRangedName entry = targets[i];
- if (entry.getId().equalsIgnoreCase(candidate.getId()) && entry.getVersionRange().isIncluded(candidate.getVersion()))
- return true;
- }
- return false;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/mirror/VersionRangedName.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/mirror/VersionRangedName.java
deleted file mode 100644
index 17ebfaf..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/mirror/VersionRangedName.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Code 9 and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Code 9 - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.mirror;
-
-import org.eclipse.osgi.service.resolver.VersionRange;
-
-public class VersionRangedName {
- private final String id;
- private final VersionRange range;
-
- /**
- * Creates and returns a new version ranged id from the given spec. The spec should be
- * id/version range.
- * @param spec the spec for the version ranged id to create
- * @return the parsed versioned id
- */
- public static VersionRangedName parse(String spec) {
- String[] segments = MirrorApplication.getArrayArgsFromString(spec, "/"); //$NON-NLS-1$
- return new VersionRangedName(segments[0], segments.length == 1 ? null : segments[1]);
- }
-
- public VersionRangedName(String id, String rangeSpec) {
- this(id, new VersionRange(rangeSpec));
- }
-
- public VersionRangedName(String id, VersionRange range) {
- if (id == null)
- throw new IllegalArgumentException("id cannot be null");
- this.id = id;
- this.range = range != null ? range : new VersionRange(null);
- }
-
- public String getId() {
- return id;
- }
-
- public VersionRange getVersionRange() {
- return range;
- }
-
- public String toString() {
- return id + "/" + (range == null ? "0.0.0" : range.toString()); //$NON-NLS-1$ //$NON-NLS-2$
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/Activator.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/Activator.java
deleted file mode 100644
index 8e8a241..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/Activator.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.repository;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-
- public static final String ID = "org.eclipse.equinox.p2.metadata.repository"; //$NON-NLS-1$
- public static final String REPO_PROVIDER_XPT = ID + '.' + "metadataRepositories"; //$NON-NLS-1$
-
- private static BundleContext bundleContext;
- private static CacheManager cacheManager;
-
- public static BundleContext getContext() {
- return bundleContext;
- }
-
- public static CacheManager getCacheManager() {
- return cacheManager;
- }
-
- public void start(BundleContext context) throws Exception {
- Activator.bundleContext = context;
- cacheManager = new CacheManager();
- cacheManager.registerRepoEventListener();
- }
-
- public void stop(BundleContext context) throws Exception {
- if (cacheManager != null) {
- cacheManager.unregisterRepoEventListener();
- cacheManager = null;
- }
- Activator.bundleContext = null;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/CacheManager.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/CacheManager.java
deleted file mode 100644
index 7267830..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/CacheManager.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.repository;
-
-import java.io.*;
-import java.net.URL;
-import java.util.EventObject;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.SynchronousProvisioningListener;
-import org.eclipse.equinox.internal.provisional.p2.core.location.AgentLocation;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.RepositoryEvent;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-
-/**
- * A class to manage metadata cache files. Creating the cache files will place
- * the file in the AgentData location in a cache directory.
- *
- * Using the bus listeners will allow the manager to listen for repository
- * events. When a repository is removed, it will remove the cache file if one
- * was created for the repository.
- */
-public class CacheManager {
- private static SynchronousProvisioningListener busListener;
- private static final String CONTENT_FILENAME = "content"; //$NON-NLS-1$
- private static final String JAR_EXTENSION = ".jar"; //$NON-NLS-1$
- private static final String XML_EXTENSION = ".xml"; //$NON-NLS-1$
-
- /**
- * Returns a hash of the URL.
- */
- private int computeHash(URL repositoryLocation) {
- //don't use URL#hashCode because it performs DNS lookups
- return repositoryLocation.toExternalForm().hashCode();
- }
-
- /**
- * Returns a local cache file with the contents of the given remote location,
- * or <code>null</code> if a local cache could not be created.
- *
- * @param repositoryLocation
- * @param monitor - a progress monitor
- * @return A {@link File} object pointing to the cache file or <code>null</code>
- * if the location is not a repository.
- * @throws IOException
- * @throws ProvisionException
- */
- public File createCache(URL repositoryLocation, IProgressMonitor monitor) throws IOException, ProvisionException {
- File cacheFile = getCache(repositoryLocation);
- URL jarLocation = URLMetadataRepository.getActualLocation(repositoryLocation, JAR_EXTENSION);
- URL xmlLocation = URLMetadataRepository.getActualLocation(repositoryLocation, XML_EXTENSION);
- AgentLocation agentLocation = (AgentLocation) ServiceHelper.getService(Activator.getContext(), AgentLocation.class.getName());
- URL dataArea = agentLocation.getDataArea(Activator.ID + "/cache/"); //$NON-NLS-1$
- File dataAreaFile = URLUtil.toFile(dataArea);
- int hashCode = computeHash(repositoryLocation);
- if (cacheFile == null || isCacheStale(repositoryLocation, cacheFile)) {
- long lastModifiedRemote = getTransport().getLastModified(jarLocation);
- URL remoteFile;
- if (lastModifiedRemote != 0) {
- cacheFile = new File(dataAreaFile, CONTENT_FILENAME + hashCode + JAR_EXTENSION);
- remoteFile = jarLocation;
- } else {
- lastModifiedRemote = getTransport().getLastModified(xmlLocation);
- if (lastModifiedRemote == 0)
- // no jar or xml file found
- return null;
- cacheFile = new File(dataAreaFile, CONTENT_FILENAME + hashCode + XML_EXTENSION);
- remoteFile = xmlLocation;
- }
- cacheFile.getParentFile().mkdirs();
- OutputStream metadata = new BufferedOutputStream(new FileOutputStream(cacheFile));
- try {
- IStatus result = getTransport().download(remoteFile.toExternalForm(), metadata, monitor);
- if (!result.isOK()) {
- throw new ProvisionException(result);
- }
- } finally {
- metadata.close();
- }
- }
- return cacheFile;
- }
-
- /**
- * Deletes the local cache file for the given repository
- * @param repositoryLocation
- */
- void deleteCache(URL repositoryLocation) {
- File cacheFile = getCache(repositoryLocation);
- if (cacheFile != null)
- safeDelete(cacheFile);
- }
-
- /**
- * Determines the local filepath of the repository's cache file.
- * @param repositoryLocation
- * @return A {@link File} pointing to the cache file or <code>null</code> if
- * the cache file does not exist.
- */
- private File getCache(URL repositoryLocation) {
- AgentLocation agentLocation = (AgentLocation) ServiceHelper.getService(Activator.getContext(), AgentLocation.class.getName());
- URL dataArea = agentLocation.getDataArea(Activator.ID + "/cache/"); //$NON-NLS-1$
- File dataAreaFile = URLUtil.toFile(dataArea);
- int hashCode = computeHash(repositoryLocation);
- File cacheFile = new File(dataAreaFile, CONTENT_FILENAME + hashCode + JAR_EXTENSION);
- if (!cacheFile.exists()) {
- cacheFile = new File(dataAreaFile, CONTENT_FILENAME + hashCode + XML_EXTENSION);
- if (!cacheFile.exists())
- return null;
- }
- return cacheFile;
- }
-
- private Object getService(BundleContext ctx, String name) {
- ServiceReference reference = ctx.getServiceReference(name);
- if (reference == null)
- return null;
- Object result = ctx.getService(reference);
- ctx.ungetService(reference);
- return result;
- }
-
- private ECFMetadataTransport getTransport() {
- return ECFMetadataTransport.getInstance();
- }
-
- /**
- * Checks if the repository's local cache file is out of date.
- * @param repositoryLocation The remote location of the file
- * @param cacheFile The current local cache of the remote location
- * @return <code>true</code> if the cache file is out of date, <code>false</code>
- * if the cache file is in sync with the repository. The cache file is
- * considered stale if there is no local cache file.
- */
- private boolean isCacheStale(URL repositoryLocation, File cacheFile) {
- long lastModified = cacheFile.lastModified();
- String name = cacheFile.getName();
- URL metadataLocation = null;
- if (name.endsWith(XML_EXTENSION)) {
- metadataLocation = URLMetadataRepository.getActualLocation(repositoryLocation, XML_EXTENSION);
- } else if (name.endsWith(JAR_EXTENSION)) {
- metadataLocation = URLMetadataRepository.getActualLocation(repositoryLocation, JAR_EXTENSION);
- }
- long lastModifiedRemote = 0;
- try {
- lastModifiedRemote = getTransport().getLastModified(metadataLocation);
- } catch (ProvisionException e) {
- // cache is stale
- return true;
- }
- return lastModifiedRemote > lastModified ? true : false;
- }
-
- /**
- * Adds a {@link SynchronousProvisioningListener} to the event bus for
- * deleting cache files when the corresponding repository is deleted.
- */
- public void registerRepoEventListener() {
- IProvisioningEventBus eventBus = (IProvisioningEventBus) getService(Activator.getContext(), IProvisioningEventBus.SERVICE_NAME);
- if (eventBus == null) {
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "ProvisioningEventBus could not be obtained. Metadata caches may not be cleaned up properly.")); //$NON-NLS-1$
- return;
- }
- if (busListener == null) {
- busListener = new SynchronousProvisioningListener() {
- public void notify(EventObject o) {
- if (o instanceof RepositoryEvent) {
- RepositoryEvent event = (RepositoryEvent) o;
- if (RepositoryEvent.REMOVED == event.getKind() && IRepository.TYPE_METADATA == event.getRepositoryType()) {
- deleteCache(event.getRepositoryLocation());
- }
- }
- }
- };
- eventBus.addListener(busListener);
- }
- }
-
- private boolean safeDelete(File file) {
- if (file.exists()) {
- if (!file.delete()) {
- file.deleteOnExit();
- return true;
- }
- }
- return false;
- }
-
- /**
- * Removes the {@link SynchronousProvisioningListener} that cleans up the
- * cache file from the event bus.
- */
- public void unregisterRepoEventListener() {
- IProvisioningEventBus eventBus = (IProvisioningEventBus) getService(Activator.getContext(), IProvisioningEventBus.SERVICE_NAME);
- if (eventBus != null && busListener != null) {
- eventBus.removeListener(busListener);
- busListener = null;
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/ECFMetadataTransport.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/ECFMetadataTransport.java
deleted file mode 100644
index 4816a19..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/ECFMetadataTransport.java
+++ /dev/null
@@ -1,370 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.repository;
-
-import java.io.*;
-import java.net.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.ecf.core.*;
-import org.eclipse.ecf.core.security.ConnectContextFactory;
-import org.eclipse.ecf.core.security.IConnectContext;
-import org.eclipse.ecf.filetransfer.*;
-import org.eclipse.ecf.filetransfer.events.*;
-import org.eclipse.ecf.filetransfer.identity.FileCreateException;
-import org.eclipse.ecf.filetransfer.identity.FileIDFactory;
-import org.eclipse.ecf.filetransfer.service.IRetrieveFileTransferFactory;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.provisional.p2.core.IServiceUI;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.IServiceUI.AuthenticationInfo;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository;
-import org.eclipse.equinox.security.storage.*;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.util.tracker.ServiceTracker;
-
-public class ECFMetadataTransport {
- private static final String SERVER_REDIRECT = "Server redirected too many times"; //$NON-NLS-1$
- /**
- * The number of password retry attempts allowed before failing.
- */
- private static final int LOGIN_RETRIES = 3;
- private static final ProtocolException ERROR_401 = new ProtocolException();
-
- /**
- * A job that waits on a barrier.
- */
- static class WaitJob extends Job {
- private final Object[] barrier;
-
- /**
- * Creates a wait job.
- * @param location A location string that is used in the job name
- * @param barrier The job will wait until the first entry in the barrier is non-null
- */
- WaitJob(String location, Object[] barrier) {
- super(NLS.bind(Messages.repo_loading, location));
- this.barrier = barrier;
- setSystem(true);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
- */
- protected IStatus run(IProgressMonitor monitor) {
- synchronized (barrier) {
- while (barrier[0] == null) {
- try {
- barrier.wait();
- } catch (InterruptedException e) {
- //ignore
- }
- }
- }
- return Status.OK_STATUS;
- }
- }
-
- /**
- * The singleton transport instance.
- */
- private static ECFMetadataTransport instance;
-
- private final ServiceTracker retrievalFactoryTracker;
-
- public static synchronized ECFMetadataTransport getInstance() {
- if (instance == null) {
- instance = new ECFMetadataTransport();
- }
- return instance;
- }
-
- private ECFMetadataTransport() {
- retrievalFactoryTracker = new ServiceTracker(Activator.getContext(), IRetrieveFileTransferFactory.class.getName(), null);
- retrievalFactoryTracker.open();
- }
-
- public IStatus download(String url, OutputStream destination, IProgressMonitor monitor) {
- try {
- IConnectContext context = getConnectionContext(url, false);
- for (int i = 0; i < LOGIN_RETRIES; i++) {
- try {
- return performDownload(url, destination, context, monitor);
- } catch (ProtocolException e) {
- if (e == ERROR_401)
- context = getConnectionContext(url, true);
- }
- }
- } catch (UserCancelledException e) {
- return Status.CANCEL_STATUS;
- } catch (ProvisionException e) {
- return e.getStatus();
- }
- //reached maximum number of retries without success
- return new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_AUTHENTICATION, NLS.bind(Messages.io_failedRead, url), null);
- }
-
- public IStatus performDownload(String toDownload, OutputStream target, IConnectContext context, IProgressMonitor monitor) throws ProtocolException {
- IRetrieveFileTransferFactory factory = (IRetrieveFileTransferFactory) retrievalFactoryTracker.getService();
- if (factory == null)
- return new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.io_failedRead, toDownload));
- return transfer(factory.newInstance(), toDownload, target, context, monitor);
- }
-
- /**
- * Gets the last modified date for the specified file.
- * @param location - The URL location of the file.
- * @return A <code>long</code> representing the date. Returns <code>0</code> if the file is not found or an error occurred.
- * @exception OperationCanceledException if the request was canceled.
- */
- public long getLastModified(URL location) throws ProvisionException {
- String locationString = location.toExternalForm();
- try {
- IConnectContext context = getConnectionContext(locationString, false);
- for (int i = 0; i < LOGIN_RETRIES; i++) {
- try {
- return doGetLastModified(locationString, context);
- } catch (ProtocolException e) {
- if (ERROR_401 == e)
- context = getConnectionContext(locationString, true);
- } catch (Exception e) {
- e.getMessage();
- }
- }
- } catch (UserCancelledException e) {
- throw new OperationCanceledException();
- }
- //too many retries, so report as failure
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_AUTHENTICATION, NLS.bind(Messages.io_failedRead, locationString), null));
- }
-
- /**
- * Perform the ECF call to get the last modified time, failing if there is any
- * protocol failure such as an authentication failure.
- */
- private long doGetLastModified(String location, IConnectContext context) throws ProtocolException {
- IContainer container;
- try {
- container = ContainerFactory.getDefault().createContainer();
- } catch (ContainerCreateException e) {
- return 0;
- }
- IRemoteFileSystemBrowserContainerAdapter adapter = (IRemoteFileSystemBrowserContainerAdapter) container.getAdapter(IRemoteFileSystemBrowserContainerAdapter.class);
- if (adapter == null) {
- return 0;
- }
- IRemoteFile remoteFile = checkFile(adapter, location, context);
- if (remoteFile == null) {
- return 0;
- }
- return remoteFile.getInfo().getLastModified();
- }
-
- /**
- * Returns the connection context for the given URL. This may prompt the
- * user for user name and password as required.
- *
- * @param xmlLocation - the file location requiring login details
- * @param prompt - use <code>true</code> to prompt the user instead of
- * looking at the secure preference store for login, use <code>false</code>
- * to only try the secure preference store
- * @throws UserCancelledException when the user cancels the login prompt
- * @throws ProvisionException if the password cannot be read or saved
- * @return The connection context
- */
- public IConnectContext getConnectionContext(String xmlLocation, boolean prompt) throws UserCancelledException, ProvisionException {
- ISecurePreferences securePreferences = SecurePreferencesFactory.getDefault();
- IPath hostLocation = new Path(xmlLocation).removeLastSegments(1);
- String nodeKey;
- try {
- nodeKey = URLEncoder.encode(hostLocation.toString(), "UTF-8"); //$NON-NLS-1$
- } catch (UnsupportedEncodingException e2) {
- //fall back to default platform encoding
- nodeKey = URLEncoder.encode(hostLocation.toString());
- }
- String nodeName = IRepository.PREFERENCE_NODE + '/' + nodeKey;
- ISecurePreferences prefNode = null;
- if (securePreferences.nodeExists(nodeName))
- prefNode = securePreferences.node(nodeName);
- if (!prompt) {
- if (prefNode == null)
- return null;
- try {
- String username = prefNode.get(IRepository.PROP_USERNAME, null);
- String password = prefNode.get(IRepository.PROP_PASSWORD, null);
- //if we don't have stored connection data just return a null connection context
- if (username == null || password == null)
- return null;
- return ConnectContextFactory.createUsernamePasswordConnectContext(username, password);
- } catch (StorageException e) {
- String msg = NLS.bind(Messages.repoMan_internalError, xmlLocation.toString());
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.INTERNAL_ERROR, msg, null));
- }
- }
- //need to prompt user for user name and password
- ServiceTracker adminUITracker = new ServiceTracker(Activator.getContext(), IServiceUI.class.getName(), null);
- adminUITracker.open();
- IServiceUI adminUIService = (IServiceUI) adminUITracker.getService();
- AuthenticationInfo loginDetails = null;
- if (adminUIService != null)
- loginDetails = adminUIService.getUsernamePassword(hostLocation.toString());
- //null result means user canceled password dialog
- if (loginDetails == null)
- throw new UserCancelledException();
- //save user name and password if requested by user
- if (loginDetails.saveResult()) {
- if (prefNode == null)
- prefNode = securePreferences.node(nodeName);
- try {
- prefNode.put(IRepository.PROP_USERNAME, loginDetails.getUserName(), true);
- prefNode.put(IRepository.PROP_PASSWORD, loginDetails.getPassword(), true);
- prefNode.flush();
- } catch (StorageException e1) {
- String msg = NLS.bind(Messages.repoMan_internalError, xmlLocation.toString());
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.INTERNAL_ERROR, msg, null));
- } catch (IOException e) {
- String msg = NLS.bind(Messages.repoMan_internalError, xmlLocation.toString());
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.INTERNAL_ERROR, msg, null));
- }
- }
- return ConnectContextFactory.createUsernamePasswordConnectContext(loginDetails.getUserName(), loginDetails.getPassword());
- }
-
- private IRemoteFile checkFile(final IRemoteFileSystemBrowserContainerAdapter retrievalContainer, final String location, IConnectContext context) throws ProtocolException {
- final Object[] result = new Object[2];
- final Object FAIL = new Object();
- IRemoteFileSystemListener listener = new IRemoteFileSystemListener() {
- public void handleRemoteFileEvent(IRemoteFileSystemEvent event) {
- Exception exception = event.getException();
- if (exception != null) {
- synchronized (result) {
- result[0] = FAIL;
- result[1] = exception;
- result.notify();
- }
- } else if (event instanceof IRemoteFileSystemBrowseEvent) {
- IRemoteFileSystemBrowseEvent fsbe = (IRemoteFileSystemBrowseEvent) event;
- IRemoteFile[] remoteFiles = fsbe.getRemoteFiles();
- if (remoteFiles != null && remoteFiles.length > 0 && remoteFiles[0] != null) {
- synchronized (result) {
- result[0] = remoteFiles[0];
- result.notify();
- }
- } else {
- synchronized (result) {
- result[0] = FAIL;
- result.notify();
- }
- }
- }
- }
- };
- try {
- retrievalContainer.setConnectContextForAuthentication(context);
- retrievalContainer.sendBrowseRequest(FileIDFactory.getDefault().createFileID(retrievalContainer.getBrowseNamespace(), location), listener);
- } catch (RemoteFileSystemException e) {
- return null;
- } catch (FileCreateException e) {
- return null;
- }
- waitFor(location, result);
- if (result[0] == FAIL && result[1] instanceof IOException) {
- IOException ioException = (IOException) result[1];
- //throw a special exception for authentication failure so we know to prompt for username/password
- String message = ioException.getMessage();
- if (message != null && (message.indexOf(" 401 ") != -1 || message.indexOf(SERVER_REDIRECT) != -1)) //$NON-NLS-1$
- throw ERROR_401;
- }
- if (result[0] instanceof IRemoteFile)
- return (IRemoteFile) result[0];
- return null;
- }
-
- /**
- * Waits until the first entry in the given array is non-null.
- */
- private void waitFor(String location, Object[] barrier) {
- WaitJob wait = new WaitJob(location, barrier);
- wait.schedule();
- while (barrier[0] == null) {
- boolean logged = false;
- try {
- wait.join();
- } catch (InterruptedException e) {
- if (!logged)
- LogHelper.log(new Status(IStatus.WARNING, Activator.ID, "Unexpected interrupt while waiting on ECF transfer", e)); //$NON-NLS-1$
- }
- }
- }
-
- private IStatus transfer(final IRetrieveFileTransferContainerAdapter retrievalContainer, final String toDownload, final OutputStream target, IConnectContext context, final IProgressMonitor monitor) throws ProtocolException {
- final IStatus[] result = new IStatus[1];
- IFileTransferListener listener = new IFileTransferListener() {
-
- public void handleTransferEvent(IFileTransferEvent event) {
- if (event instanceof IIncomingFileTransferReceiveStartEvent) {
- IIncomingFileTransferReceiveStartEvent rse = (IIncomingFileTransferReceiveStartEvent) event;
- if (target != null) {
- try {
- rse.receive(target);
- } catch (IOException e) {
- IStatus status = convertToStatus(e);
- synchronized (result) {
- result[0] = status;
- result.notify();
- }
- }
- }
- }
- if (event instanceof IIncomingFileTransferReceiveDataEvent) {
- IIncomingFileTransfer source = ((IIncomingFileTransferReceiveDataEvent) event).getSource();
- if (monitor != null) {
- if (monitor.isCanceled())
- source.cancel();
- }
- }
- if (event instanceof IIncomingFileTransferReceiveDoneEvent) {
- IStatus status = convertToStatus(((IIncomingFileTransferReceiveDoneEvent) event).getException());
- synchronized (result) {
- result[0] = status;
- result.notify();
- }
- }
- }
- };
-
- try {
- retrievalContainer.setConnectContextForAuthentication(context);
- retrievalContainer.sendRetrieveRequest(FileIDFactory.getDefault().createFileID(retrievalContainer.getRetrieveNamespace(), toDownload), listener, null);
- } catch (IncomingFileTransferException e) {
- IStatus status = e.getStatus();
- Throwable exception = status.getException();
- if (exception instanceof IOException) {
- String message = exception.getMessage();
- if (message != null && (message.indexOf("401") != -1 || message.indexOf(SERVER_REDIRECT) != -1)) //$NON-NLS-1$
- throw ERROR_401;
- }
- return status;
- } catch (FileCreateException e) {
- return e.getStatus();
- }
- waitFor(toDownload, result);
- return result[0];
- }
-
- protected IStatus convertToStatus(Exception e) {
- if (e == null)
- return Status.OK_STATUS;
- if (e instanceof UserCancelledException)
- return new Status(IStatus.CANCEL, Activator.ID, e.getMessage(), e);
- return new Status(IStatus.ERROR, Activator.ID, e.getMessage(), e);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/LocalMetadataRepository.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/LocalMetadataRepository.java
deleted file mode 100644
index c89c1cc..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/LocalMetadataRepository.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Prashant Deva - Bug 194674 [prov] Provide write access to metadata repository
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.repository;
-
-import java.io.*;
-import java.net.URL;
-import java.util.*;
-import java.util.jar.JarEntry;
-import java.util.jar.JarOutputStream;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.RepositoryEvent;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.query.Query;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.AbstractMetadataRepository;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.RepositoryReference;
-
-/**
- * A metadata repository that resides in the local file system. If the repository
- * location is a directory, this implementation will traverse the directory structure
- * and combine any metadata repository files that are found.
- */
-public class LocalMetadataRepository extends AbstractMetadataRepository {
-
- static final private String CONTENT_FILENAME = "content"; //$NON-NLS-1$
- static final private String REPOSITORY_TYPE = LocalMetadataRepository.class.getName();
- static final private Integer REPOSITORY_VERSION = new Integer(1);
- static final private String JAR_EXTENSION = ".jar"; //$NON-NLS-1$
- static final private String XML_EXTENSION = ".xml"; //$NON-NLS-1$
-
- protected HashSet units = new LinkedHashSet();
- protected HashSet repositories = new HashSet();
-
- private static File getActualLocation(URL location, String extension) {
- String spec = location.getFile();
- if (spec.endsWith(CONTENT_FILENAME + extension))
- return new File(spec + extension);
- if (spec.endsWith("/")) //$NON-NLS-1$
- spec += CONTENT_FILENAME;
- else
- spec += "/" + CONTENT_FILENAME; //$NON-NLS-1$
- return new File(spec + extension);
- }
-
- public static File getActualLocation(URL location) {
- return getActualLocation(location, XML_EXTENSION);
- }
-
- /**
- * This no argument constructor is called when restoring an existing repository.
- */
- public LocalMetadataRepository() {
- super();
- }
-
- /**
- * This constructor is used when creating a new local repository.
- * @param location The location of the repository
- * @param name The name of the repository
- */
- public LocalMetadataRepository(URL location, String name, Map properties) {
- super(name == null ? (location != null ? location.toExternalForm() : "") : name, REPOSITORY_TYPE, REPOSITORY_VERSION.toString(), location, null, null, properties); //$NON-NLS-1$
- if (!location.getProtocol().equals("file")) //$NON-NLS-1$
- throw new IllegalArgumentException("Invalid local repository location: " + location); //$NON-NLS-1$
- //when creating a repository, we must ensure it exists on disk so a subsequent load will succeed
- save();
- }
-
- public synchronized void addInstallableUnits(IInstallableUnit[] installableUnits) {
- if (installableUnits == null || installableUnits.length == 0)
- return;
- units.addAll(Arrays.asList(installableUnits));
- save();
- }
-
- public synchronized void addReference(URL repositoryLocation, int repositoryType, int options) {
- assertModifiable();
- repositories.add(new RepositoryReference(repositoryLocation, repositoryType, options));
- }
-
- public void initialize(RepositoryState state) {
- synchronized (this) {
- this.name = state.Name;
- this.type = state.Type;
- this.version = state.Version.toString();
- this.provider = state.Provider;
- this.description = state.Description;
- this.location = state.Location;
- this.properties = state.Properties;
- this.units.addAll(Arrays.asList(state.Units));
- this.repositories.addAll(Arrays.asList(state.Repositories));
- }
- publishRepositoryReferences();
- }
-
- /**
- * Broadcast discovery events for all repositories referenced by this repository.
- */
- private void publishRepositoryReferences() {
- IProvisioningEventBus bus = (IProvisioningEventBus) ServiceHelper.getService(Activator.getContext(), IProvisioningEventBus.SERVICE_NAME);
- if (bus == null)
- return;
-
- List repositoriesSnapshot = createRepositoriesSnapshot();
- for (Iterator it = repositoriesSnapshot.iterator(); it.hasNext();) {
- RepositoryReference reference = (RepositoryReference) it.next();
- boolean isEnabled = (reference.Options & IRepository.ENABLED) != 0;
- bus.publishEvent(new RepositoryEvent(reference.Location, reference.Type, RepositoryEvent.DISCOVERED, isEnabled));
- }
- }
-
- private synchronized List createRepositoriesSnapshot() {
- if (repositories.isEmpty())
- return Collections.EMPTY_LIST;
- return new ArrayList(repositories);
- }
-
- // use this method to setup any transient fields etc after the object has been restored from a stream
- public synchronized void initializeAfterLoad(URL aLocation) {
- this.location = aLocation;
- }
-
- public boolean isModifiable() {
- return true;
- }
-
- public synchronized Collector query(Query query, Collector collector, IProgressMonitor monitor) {
- return query.perform(units.iterator(), collector);
- }
-
- public synchronized void removeAll() {
- units.clear();
- save();
- }
-
- public synchronized boolean removeInstallableUnits(Query query, IProgressMonitor monitor) {
- boolean changed = false;
- for (Iterator it = units.iterator(); it.hasNext();)
- if (query.isMatch(it.next())) {
- it.remove();
- changed = true;
- }
- if (changed)
- save();
- return changed;
- }
-
- public synchronized void revertToBackup(LocalMetadataRepository backup) {
- name = backup.name;
- type = backup.type;
- version = backup.version;
- location = backup.location;
- description = backup.description;
- provider = backup.provider;
- properties = backup.properties;
- units = backup.units;
- }
-
- // caller should be synchronized
- private void save() {
- File file = getActualLocation(location);
- File jarFile = getActualLocation(location, JAR_EXTENSION);
- boolean compress = "true".equalsIgnoreCase((String) properties.get(PROP_COMPRESSED)); //$NON-NLS-1$
- try {
- OutputStream output = null;
- if (!compress) {
- if (jarFile.exists()) {
- jarFile.delete();
- }
- if (!file.exists()) {
- if (!file.getParentFile().exists())
- file.getParentFile().mkdirs();
- file.createNewFile();
- }
- output = new FileOutputStream(file);
- } else {
- if (file.exists()) {
- file.delete();
- }
- if (!jarFile.exists()) {
- if (!jarFile.getParentFile().exists())
- jarFile.getParentFile().mkdirs();
- jarFile.createNewFile();
- }
- JarEntry jarEntry = new JarEntry(file.getName());
- JarOutputStream jOutput = new JarOutputStream(new FileOutputStream(jarFile));
- jOutput.putNextEntry(jarEntry);
- output = jOutput;
- }
- super.setProperty(IRepository.PROP_TIMESTAMP, Long.toString(System.currentTimeMillis()));
- new MetadataRepositoryIO().write(this, output);
- } catch (IOException e) {
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_WRITE, "Error saving metadata repository: " + location, e)); //$NON-NLS-1$
- }
- }
-
- public String setProperty(String key, String newValue) {
- String oldValue = null;
- synchronized (this) {
- oldValue = super.setProperty(key, newValue);
- if (oldValue == newValue || (oldValue != null && oldValue.equals(newValue)))
- return oldValue;
- save();
- }
- //force repository manager to reload this repository because it caches properties
- MetadataRepositoryManager manager = (MetadataRepositoryManager) ServiceHelper.getService(Activator.getContext(), IMetadataRepositoryManager.class.getName());
- if (manager.removeRepository(getLocation()))
- manager.addRepository(this);
- return oldValue;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/Messages.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/Messages.java
deleted file mode 100644
index d6dd8c4..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/Messages.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.repository;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.metadata.repository.messages"; //$NON-NLS-1$
-
- static {
- // initialize resource bundles
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- // Do not instantiate
- }
-
- public static String io_failedRead;
- public static String io_IncompatibleVersion;
- public static String io_parseError;
-
- public static String repo_loading;
-
- public static String repoMan_adding;
- public static String repoMan_exists;
- public static String repoMan_failedRead;
- public static String repoMan_internalError;
- public static String repoMan_notExists;
- public static String repoMan_unknownType;
- public static String repoMan_invalidLocation;
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/MetadataRepositoryIO.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/MetadataRepositoryIO.java
deleted file mode 100644
index 3d85483..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/MetadataRepositoryIO.java
+++ /dev/null
@@ -1,336 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Prashant Deva - Bug 194674 [prov] Provide write access to metadata repository
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.repository;
-
-import java.io.*;
-import java.net.URL;
-import java.util.Iterator;
-import java.util.Set;
-import javax.xml.parsers.ParserConfigurationException;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.OrderedProperties;
-import org.eclipse.equinox.internal.p2.metadata.repository.io.MetadataParser;
-import org.eclipse.equinox.internal.p2.metadata.repository.io.MetadataWriter;
-import org.eclipse.equinox.internal.p2.persistence.XMLWriter;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.AbstractMetadataRepository;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.RepositoryReference;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.AbstractMetadataRepository.RepositoryState;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.Version;
-import org.xml.sax.*;
-
-/**
- * This class reads and writes provisioning metadata.
- */
-public class MetadataRepositoryIO {
-
- /**
- * Reads metadata from the given stream, and returns the contained array
- * of abstract metadata repositories.
- * This method performs buffering, and closes the stream when finished.
- */
- public IMetadataRepository read(URL location, InputStream input, IProgressMonitor monitor) throws ProvisionException {
- BufferedInputStream bufferedInput = null;
- try {
- try {
- bufferedInput = new BufferedInputStream(input);
-
- Parser repositoryParser = new Parser(Activator.getContext(), Activator.ID);
- repositoryParser.parse(input, monitor);
- IStatus result = repositoryParser.getStatus();
- switch (result.getSeverity()) {
- case IStatus.CANCEL :
- throw new OperationCanceledException();
- case IStatus.ERROR :
- throw new ProvisionException(result);
- case IStatus.WARNING :
- case IStatus.INFO :
- LogHelper.log(result);
- }
- return repositoryParser.getRepository();
- } finally {
- if (bufferedInput != null)
- bufferedInput.close();
- }
- } catch (IOException ioe) {
- String msg = NLS.bind(Messages.io_failedRead, location);
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_READ, msg, ioe));
- }
- }
-
- /**
- *
- */
- public void write(IMetadataRepository repository, OutputStream output) throws IOException {
- OutputStream bufferedOutput = null;
- try {
- bufferedOutput = new BufferedOutputStream(output);
- Writer repositoryWriter = new Writer(bufferedOutput, repository.getClass());
- repositoryWriter.write(repository);
- } finally {
- if (bufferedOutput != null) {
- bufferedOutput.close();
- }
- }
- }
-
- private interface XMLConstants extends org.eclipse.equinox.internal.p2.metadata.repository.io.XMLConstants {
-
- // Constants defining the structure of the XML for a MetadataRepository
-
- // A format version number for metadata repository XML.
- public static final String XML_VERSION = "1.0.0"; //$NON-NLS-1$
- public static final Version CURRENT_VERSION = new Version(XML_VERSION);
- public static final VersionRange XML_TOLERANCE = new VersionRange(CURRENT_VERSION, true, new Version(2, 0, 0), false);
-
- // Constants for processing Instructions
- public static final String PI_REPOSITORY_TARGET = "metadataRepository"; //$NON-NLS-1$
-
- // Constants for metadata repository elements
- public static final String REPOSITORY_ELEMENT = "repository"; //$NON-NLS-1$
-
- }
-
- protected XMLWriter.ProcessingInstruction[] createPI(Class repositoryClass) {
- //TODO We should remove this processing instruction, but currently old clients rely on this. See bug 210450.
- return new XMLWriter.ProcessingInstruction[] {XMLWriter.ProcessingInstruction.makeClassVersionInstruction(XMLConstants.PI_REPOSITORY_TARGET, repositoryClass, XMLConstants.CURRENT_VERSION)};
- }
-
- // XML writer for a IMetadataRepository
- protected class Writer extends MetadataWriter implements XMLConstants {
-
- public Writer(OutputStream output, Class repositoryClass) throws IOException {
- super(output, createPI(repositoryClass));
- }
-
- /**
- * Write the given metadata repository to the output stream.
- */
- public void write(IMetadataRepository repository) {
- start(REPOSITORY_ELEMENT);
- attribute(NAME_ATTRIBUTE, repository.getName());
- attribute(TYPE_ATTRIBUTE, repository.getType());
- attribute(VERSION_ATTRIBUTE, repository.getVersion());
- attributeOptional(PROVIDER_ATTRIBUTE, repository.getProvider());
- attributeOptional(DESCRIPTION_ATTRIBUTE, repository.getDescription()); // TODO: could be cdata?
-
- writeProperties(repository.getProperties());
- Collector units = repository.query(InstallableUnitQuery.ANY, new Collector(), null);
- if (repository instanceof LocalMetadataRepository) {
- Set references = ((LocalMetadataRepository) repository).repositories;
- writeRepositoryReferences(references.iterator(), references.size());
- }
- writeInstallableUnits(units.iterator(), units.size());
-
- end(REPOSITORY_ELEMENT);
- flush();
- }
-
- /**
- * Writes a list of {@link RepositoryReference}.
- * @param references An Iterator of {@link RepositoryReference}.
- * @param size The number of references to write
- */
- protected void writeRepositoryReferences(Iterator references, int size) {
- if (size == 0)
- return;
- start(REPOSITORY_REFERENCES_ELEMENT);
- attribute(COLLECTION_SIZE_ATTRIBUTE, size);
- while (references.hasNext())
- writeRepositoryReference((RepositoryReference) references.next());
- end(REPOSITORY_REFERENCES_ELEMENT);
- }
-
- private void writeRepositoryReference(RepositoryReference reference) {
- start(REPOSITORY_REFERENCE_ELEMENT);
- attribute(URL_ATTRIBUTE, reference.Location.toExternalForm());
- attribute(TYPE_ATTRIBUTE, Integer.toString(reference.Type));
- attribute(OPTIONS_ATTRIBUTE, Integer.toString(reference.Options));
- end(REPOSITORY_REFERENCE_ELEMENT);
- }
- }
-
- /*
- * Parser for the contents of a metadata repository,
- * as written by the Writer class.
- */
- private class Parser extends MetadataParser implements XMLConstants {
-
- private IMetadataRepository theRepository = null;
- protected Class theRepositoryClass = null;
-
- public Parser(BundleContext context, String bundleId) {
- super(context, bundleId);
- }
-
- public synchronized void parse(InputStream stream, IProgressMonitor monitor) throws IOException {
- this.status = null;
- setProgressMonitor(monitor);
- monitor.beginTask(Messages.repo_loading, IProgressMonitor.UNKNOWN);
- try {
- // TODO: currently not caching the parser since we make no assumptions
- // or restrictions on concurrent parsing
- getParser();
- RepositoryHandler repositoryHandler = new RepositoryHandler();
- xmlReader.setContentHandler(new RepositoryDocHandler(REPOSITORY_ELEMENT, repositoryHandler));
- xmlReader.parse(new InputSource(stream));
- if (isValidXML()) {
- theRepository = repositoryHandler.getRepository();
- }
- } catch (SAXException e) {
- throw new IOException(e.getMessage());
- } catch (ParserConfigurationException e) {
- throw new IOException(e.getMessage());
- } finally {
- monitor.done();
- stream.close();
- }
- }
-
- public IMetadataRepository getRepository() {
- return theRepository;
- }
-
- public Class getRepositoryClass() {
- return theRepositoryClass;
- }
-
- protected Object getRootObject() {
- return theRepository;
- }
-
- private final class RepositoryDocHandler extends DocHandler {
-
- public RepositoryDocHandler(String rootName, RootHandler rootHandler) {
- super(rootName, rootHandler);
- }
-
- public void processingInstruction(String target, String data) throws SAXException {
- if (PI_REPOSITORY_TARGET.equals(target)) {
- Version repositoryVersion = extractPIVersion(target, data);
- if (!MetadataRepositoryIO.XMLConstants.XML_TOLERANCE.isIncluded(repositoryVersion)) {
- throw new SAXException(NLS.bind(Messages.io_IncompatibleVersion, repositoryVersion, MetadataRepositoryIO.XMLConstants.XML_TOLERANCE));
- }
- }
- }
-
- }
-
- private final class RepositoryHandler extends RootHandler {
-
- private final String[] required = new String[] {NAME_ATTRIBUTE, TYPE_ATTRIBUTE, VERSION_ATTRIBUTE};
- private final String[] optional = new String[] {DESCRIPTION_ATTRIBUTE, PROVIDER_ATTRIBUTE};
-
- private InstallableUnitsHandler unitsHandler = null;
- private PropertiesHandler propertiesHandler = null;
- private RepositoryReferencesHandler repositoryReferencesHandler = null;
-
- private AbstractMetadataRepository repository = null;
-
- private RepositoryState state = new RepositoryState();
-
- public RepositoryHandler() {
- super();
- }
-
- public IMetadataRepository getRepository() {
- return repository;
- }
-
- protected void handleRootAttributes(Attributes attributes) {
- String[] values = parseAttributes(attributes, required, optional);
- Version version = checkVersion(this.elementHandled, VERSION_ATTRIBUTE, values[2]);
- state.Name = values[0];
- state.Type = values[1];
- state.Version = version;
- state.Description = values[3];
- state.Provider = values[4];
- state.Location = null;
- }
-
- public void startElement(String name, Attributes attributes) {
- checkCancel();
- if (PROPERTIES_ELEMENT.equals(name)) {
- if (propertiesHandler == null) {
- propertiesHandler = new PropertiesHandler(this, attributes);
- } else {
- duplicateElement(this, name, attributes);
- }
- } else if (INSTALLABLE_UNITS_ELEMENT.equals(name)) {
- if (unitsHandler == null) {
- unitsHandler = new InstallableUnitsHandler(this, attributes);
- } else {
- duplicateElement(this, name, attributes);
- }
- } else if (REPOSITORY_REFERENCES_ELEMENT.equals(name)) {
- if (repositoryReferencesHandler == null) {
- repositoryReferencesHandler = new RepositoryReferencesHandler(this, attributes);
- } else {
- duplicateElement(this, name, attributes);
- }
- } else {
- invalidElement(name, attributes);
- }
- }
-
- protected void finished() {
- if (isValidXML()) {
- state.Properties = (propertiesHandler == null ? new OrderedProperties(0) //
- : propertiesHandler.getProperties());
- state.Units = (unitsHandler == null ? new IInstallableUnit[0] //
- : unitsHandler.getUnits());
- state.Repositories = repositoryReferencesHandler == null ? new RepositoryReference[0] : repositoryReferencesHandler.getReferences();
- try {
- //can't create repository if missing type - this is already logged when parsing attributes
- if (state.Type == null)
- return;
- //migration support for change to MetadataCache (bug 211934)
- if (state.Type.equals("org.eclipse.equinox.internal.p2.installregistry.MetadataCache")) //$NON-NLS-1$
- state.Type = "org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository"; //$NON-NLS-1$
- Class clazz = Class.forName(state.Type);
- Object repositoryObject = clazz.newInstance();
- if (repositoryObject instanceof AbstractMetadataRepository) {
- repository = (AbstractMetadataRepository) repositoryObject;
- repository.initialize(state);
- }
- } catch (InstantiationException e) {
- // TODO: Throw a SAXException
- e.printStackTrace();
- } catch (IllegalAccessException e) {
- // TODO: Throw a SAXException
- e.printStackTrace();
- } catch (ClassNotFoundException e) {
- // TODO: Throw a SAXException
- e.printStackTrace();
- }
- }
- }
- }
-
- protected String getErrorMessage() {
- return Messages.io_parseError;
- }
-
- public String toString() {
- // TODO:
- return null;
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/MetadataRepositoryManager.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/MetadataRepositoryManager.java
deleted file mode 100644
index c49ff91..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/MetadataRepositoryManager.java
+++ /dev/null
@@ -1,821 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.repository;
-
-import java.lang.ref.SoftReference;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.preferences.ConfigurationScope;
-import org.eclipse.equinox.internal.p2.core.helpers.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.ProvisioningListener;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.RepositoryEvent;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.query.Query;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.IMetadataRepositoryFactory;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.service.prefs.BackingStoreException;
-import org.osgi.service.prefs.Preferences;
-
-/**
- * Default implementation of {@link IMetadataRepositoryManager}.
- */
-public class MetadataRepositoryManager implements IMetadataRepositoryManager, ProvisioningListener {
- static class RepositoryInfo {
- String description;
- boolean isSystem = false;
- boolean isEnabled = true;
- URL location;
- String name;
- SoftReference repository;
- String suffix;
- }
-
- private static final String ATTR_SUFFIX = "suffix"; //$NON-NLS-1$
- private static final String DEFAULT_SUFFIX = "content.xml"; //$NON-NLS-1$
- private static final String EL_FILTER = "filter"; //$NON-NLS-1$
-
- private static final String FACTORY = "factory"; //$NON-NLS-1$
- private static final String KEY_DESCRIPTION = "description"; //$NON-NLS-1$
- private static final String KEY_ENABLED = "enabled"; //$NON-NLS-1$
- private static final String KEY_NAME = "name"; //$NON-NLS-1$
- private static final String KEY_PROVIDER = "provider"; //$NON-NLS-1$
- private static final String KEY_SUFFIX = "suffix"; //$NON-NLS-1$
- private static final String KEY_SYSTEM = "isSystem"; //$NON-NLS-1$
- private static final String KEY_TYPE = "type"; //$NON-NLS-1$
- private static final String KEY_URL = "url"; //$NON-NLS-1$
- private static final String KEY_VERSION = "version"; //$NON-NLS-1$
-
- private static final String NODE_REPOSITORIES = "repositories"; //$NON-NLS-1$
-
- /**
- * Map of String->RepositoryInfo, where String is the repository key
- * obtained via getKey(URL).
- */
- private Map repositories = null;
-
- //lock object to be held when referring to the repositories field
- private final Object repositoryLock = new Object();
-
- /**
- * Cache List of repositories that are not reachable. Maintain cache
- * for short duration because repository may become available at any time.
- */
- private SoftReference unavailableRepositories;
-
- public MetadataRepositoryManager() {
- IProvisioningEventBus bus = (IProvisioningEventBus) ServiceHelper.getService(Activator.getContext(), IProvisioningEventBus.class.getName());
- if (bus != null)
- bus.addListener(this);
- //initialize repositories lazily
- }
-
- public void addRepository(IMetadataRepository repository) {
- addRepository(repository, true, null);
- }
-
- /**
- * Adds a repository to the list of known repositories
- * @param repository the repository object to add
- * @param signalAdd whether a repository change event should be fired
- * @param suffix the suffix used to load the repository, or <code>null</code> if unknown
- */
- private void addRepository(IMetadataRepository repository, boolean signalAdd, String suffix) {
- boolean added = true;
- synchronized (repositoryLock) {
- if (repositories == null)
- restoreRepositories();
- String key = getKey(repository);
- RepositoryInfo info = (RepositoryInfo) repositories.get(key);
- if (info == null)
- info = new RepositoryInfo();
- info.repository = new SoftReference(repository);
- info.name = repository.getName();
- info.description = repository.getDescription();
- info.location = repository.getLocation();
- String value = (String) repository.getProperties().get(IRepository.PROP_SYSTEM);
- info.isSystem = value == null ? false : Boolean.valueOf(value).booleanValue();
- info.suffix = suffix;
- added = repositories.put(getKey(repository), info) == null;
- }
- // save the given repository in the preferences.
- remember(repository, suffix);
- if (added && signalAdd)
- broadcastChangeEvent(repository.getLocation(), IRepository.TYPE_METADATA, RepositoryEvent.ADDED, true);
- }
-
- public void addRepository(URL location) {
- addRepository(location, true, true);
- }
-
- /**
- * Adds the repository to the list of known repositories.
- * @param location The repository location
- * @param isEnabled Whether the repository should be enabled
- * @param signalAdd Whether a repository add event should be broadcast
- * @return <code>true</code> if the repository was actually added, and
- * <code>false</code> otherwise.
- */
- private boolean addRepository(URL location, boolean isEnabled, boolean signalAdd) {
- Assert.isNotNull(location);
- RepositoryInfo info = new RepositoryInfo();
- info.location = location;
- info.isEnabled = isEnabled;
- boolean added = true;
- synchronized (repositoryLock) {
- if (repositories == null)
- restoreRepositories();
- if (contains(location))
- return false;
- added = repositories.put(getKey(location), info) == null;
- }
- // save the given repository in the preferences.
- remember(info);
- if (added && signalAdd)
- broadcastChangeEvent(location, IRepository.TYPE_METADATA, RepositoryEvent.ADDED, isEnabled);
- return added;
- }
-
- /**
- * TODO Eliminate duplication with ArtifactRepositoryManager.
- */
- protected void broadcastChangeEvent(URL location, int repositoryType, int kind, boolean isEnabled) {
- IProvisioningEventBus bus = (IProvisioningEventBus) ServiceHelper.getService(Activator.getContext(), IProvisioningEventBus.class.getName());
- if (bus != null)
- bus.publishEvent(new RepositoryEvent(location, repositoryType, kind, isEnabled));
- }
-
- /**
- * Check if we recently attempted to load the given location and failed
- * to find anything. Returns <code>true</code> if the repository was not
- * found, and <code>false</code> otherwise.
- */
- private boolean checkNotFound(URL location) {
- if (unavailableRepositories == null)
- return false;
- List badRepos = (List) unavailableRepositories.get();
- if (badRepos == null)
- return false;
- return badRepos.contains(location);
- }
-
- /**
- * Clear the fact that we tried to load a repository at this location and did not find anything.
- */
- private void clearNotFound(URL location) {
- List badRepos;
- if (unavailableRepositories != null) {
- badRepos = (List) unavailableRepositories.get();
- if (badRepos != null) {
- badRepos.remove(location);
- return;
- }
- }
- }
-
- private boolean contains(URL location) {
- synchronized (repositoryLock) {
- if (repositories == null)
- restoreRepositories();
- String key = getKey(location);
- if (repositories.containsKey(key))
- return true;
- //try alternate key with different trailing slash
- int len = key.length();
- if (key.charAt(len - 1) == '_')
- key = key.substring(0, len - 1);
- else
- key = key + '_';
- return repositories.containsKey(key);
- }
- }
-
- /**
- * Returns the executable extension, or <code>null</code> if there
- * was no corresponding extension, or an error occurred loading it
- */
- private Object createExecutableExtension(IExtension extension, String element) {
- IConfigurationElement[] elements = extension.getConfigurationElements();
- CoreException failure = null;
- for (int i = 0; i < elements.length; i++) {
- if (elements[i].getName().equals(element)) {
- try {
- return elements[i].createExecutableExtension("class"); //$NON-NLS-1$
- } catch (CoreException e) {
- log("Error loading repository extension: " + extension.getUniqueIdentifier(), failure); //$NON-NLS-1$
- return null;
- }
- }
- }
- log("Malformed repository extension: " + extension.getUniqueIdentifier(), null); //$NON-NLS-1$
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager#createRepository(java.net.URL, java.lang.String, java.lang.String, java.util.Map)
- */
- public IMetadataRepository createRepository(URL location, String name, String type, Map properties) throws ProvisionException {
- Assert.isNotNull(location);
- Assert.isNotNull(name);
- Assert.isNotNull(type);
- boolean loaded = false;
- try {
- //repository should not already exist
- loadRepository(location, (IProgressMonitor) null, type, true);
- loaded = true;
- } catch (ProvisionException e) {
- //expected - fall through and create the new repository
- }
- if (loaded)
- fail(location, ProvisionException.REPOSITORY_EXISTS);
-
- IExtension extension = RegistryFactory.getRegistry().getExtension(Activator.REPO_PROVIDER_XPT, type);
- if (extension == null)
- fail(location, ProvisionException.REPOSITORY_UNKNOWN_TYPE);
- IMetadataRepositoryFactory factory = (IMetadataRepositoryFactory) createExecutableExtension(extension, FACTORY);
- if (factory == null)
- fail(location, ProvisionException.REPOSITORY_FAILED_READ);
- IMetadataRepository result = factory.create(location, name, type, properties);
- if (result == null)
- fail(location, ProvisionException.REPOSITORY_FAILED_READ);
- clearNotFound(location);
- addRepository(result);
- return result;
- }
-
- private void fail(URL location, int code) throws ProvisionException {
- throw new ProvisionException(failStatus(location, code));
- }
-
- private IStatus failStatus(URL location, int code) {
- String msg = null;
- switch (code) {
- case ProvisionException.REPOSITORY_EXISTS :
- msg = NLS.bind(Messages.repoMan_exists, location);
- break;
- case ProvisionException.REPOSITORY_UNKNOWN_TYPE :
- msg = NLS.bind(Messages.repoMan_unknownType, location);
- break;
- case ProvisionException.REPOSITORY_FAILED_READ :
- msg = NLS.bind(Messages.repoMan_failedRead, location);
- break;
- case ProvisionException.REPOSITORY_NOT_FOUND :
- msg = NLS.bind(Messages.repoMan_notExists, location);
- break;
- case ProvisionException.REPOSITORY_INVALID_LOCATION :
- msg = NLS.bind(Messages.repoMan_invalidLocation, location);
- break;
- }
- if (msg == null)
- msg = Messages.repoMan_internalError;
- return new Status(IStatus.ERROR, Activator.ID, code, msg, null);
- }
-
- private IExtension[] findMatchingRepositoryExtensions(String suffix, String type) {
- IConfigurationElement[] elt = null;
- if (type != null && type.length() > 0) {
- IExtension ext = RegistryFactory.getRegistry().getExtension(Activator.REPO_PROVIDER_XPT, type);
- elt = (ext != null) ? ext.getConfigurationElements() : new IConfigurationElement[0];
- } else {
- elt = RegistryFactory.getRegistry().getConfigurationElementsFor(Activator.REPO_PROVIDER_XPT);
- }
-
- int count = 0;
- for (int i = 0; i < elt.length; i++) {
- if (elt[i].getName().equals("filter")) { //$NON-NLS-1$
- if (!elt[i].getAttribute("suffix").equals(suffix)) { //$NON-NLS-1$
- elt[i] = null;
- } else {
- count++;
- }
- } else {
- elt[i] = null;
- }
- }
- IExtension[] results = new IExtension[count];
- for (int i = 0; i < elt.length; i++) {
- if (elt[i] != null)
- results[--count] = elt[i].getDeclaringExtension();
- }
- return results;
- }
-
- private String[] getAllSuffixes() {
- IConfigurationElement[] elements = RegistryFactory.getRegistry().getConfigurationElementsFor(Activator.REPO_PROVIDER_XPT);
- ArrayList result = new ArrayList(elements.length);
- result.add(DEFAULT_SUFFIX);
- for (int i = 0; i < elements.length; i++) {
- if (elements[i].getName().equals(EL_FILTER)) {
- String suffix = elements[i].getAttribute(ATTR_SUFFIX);
- if (!result.contains(suffix))
- result.add(suffix);
- }
- }
- return (String[]) result.toArray(new String[result.size()]);
- }
-
- /*
- * Return a string key based on the given repository which
- * is suitable for use as a preference node name.
- */
- private String getKey(IMetadataRepository repository) {
- return getKey(repository.getLocation());
- }
-
- /*
- * Return a string key based on the given repository location which
- * is suitable for use as a preference node name.
- */
- private String getKey(URL location) {
- return location.toExternalForm().replace('/', '_');
- }
-
- public URL[] getKnownRepositories(int flags) {
- synchronized (repositoryLock) {
- if (repositories == null)
- restoreRepositories();
- ArrayList result = new ArrayList();
- int i = 0;
- for (Iterator it = repositories.values().iterator(); it.hasNext(); i++) {
- RepositoryInfo info = (RepositoryInfo) it.next();
- if (matchesFlags(info, flags))
- result.add(info.location);
- }
- return (URL[]) result.toArray(new URL[result.size()]);
- }
- }
-
- /*
- * Return the preference node which is the root for where we store the repository information.
- */
- private Preferences getPreferences() {
- return new ConfigurationScope().getNode(Activator.ID).node(NODE_REPOSITORIES);
- }
-
- public IMetadataRepository getRepository(URL location) {
- synchronized (repositoryLock) {
- if (repositories == null)
- restoreRepositories();
- for (Iterator it = repositories.values().iterator(); it.hasNext();) {
- RepositoryInfo info = (RepositoryInfo) it.next();
- if (URLUtil.sameURL(info.location, location)) {
- if (info.repository == null)
- return null;
- IMetadataRepository repo = (IMetadataRepository) info.repository.get();
- //update our repository info because the repository may have changed
- if (repo != null)
- addRepository(repo);
- return repo;
- }
- }
- return null;
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager#getRepositoryProperty(java.net.URL, java.lang.String)
- */
- public String getRepositoryProperty(URL location, String key) {
- synchronized (repositoryLock) {
- if (repositories == null)
- restoreRepositories();
- for (Iterator it = repositories.values().iterator(); it.hasNext();) {
- RepositoryInfo info = (RepositoryInfo) it.next();
- if (URLUtil.sameURL(info.location, location)) {
- if (IRepository.PROP_DESCRIPTION.equals(key))
- return info.description;
- if (IRepository.PROP_NAME.equals(key))
- return info.name;
- if (IRepository.PROP_SYSTEM.equals(key))
- return Boolean.toString(info.isSystem);
- // Key not known, return null
- return null;
- }
- }
- // Repository not found, return null
- return null;
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager#getEnabled(java.net.URL)
- */
- public boolean isEnabled(URL location) {
- synchronized (repositoryLock) {
- if (repositories == null)
- restoreRepositories();
- for (Iterator it = repositories.values().iterator(); it.hasNext();) {
- RepositoryInfo info = (RepositoryInfo) it.next();
- if (URLUtil.sameURL(info.location, location)) {
- return info.isEnabled;
- }
- }
- // Repository not found, return false
- return false;
- }
- }
-
- public IMetadataRepository loadRepository(URL location, IProgressMonitor monitor) throws ProvisionException {
- return loadRepository(location, monitor, null, true);
- }
-
- private IMetadataRepository loadRepository(URL location, IProgressMonitor monitor, String type, boolean signalAdd) throws ProvisionException {
- Assert.isNotNull(location);
- IMetadataRepository result = getRepository(location);
- if (result != null)
- return result;
- MultiStatus notFoundStatus = new MultiStatus(Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, NLS.bind(Messages.repoMan_notExists, location.toExternalForm()), null);
- if (checkNotFound(location))
- throw new ProvisionException(notFoundStatus);
- String[] suffixes = sortSuffixes(getAllSuffixes(), location);
- SubMonitor sub = SubMonitor.convert(monitor, Messages.repoMan_adding, suffixes.length * 100);
- //add the repository first so that it will be enabled, but don't send add event until after the load
- boolean added = addRepository(location, true, false);
- try {
- for (int i = 0; i < suffixes.length; i++) {
- result = loadRepository(location, suffixes[i], type, sub.newChild(100), notFoundStatus);
- if (result != null) {
- addRepository(result, false, suffixes[i]);
- //broadcast the add event now
- if (added && signalAdd)
- broadcastChangeEvent(location, IRepository.TYPE_METADATA, RepositoryEvent.ADDED, true);
- return result;
- }
- }
- } finally {
- sub.done();
- }
- //if we just added the repository, remove it because it cannot be loaded
- if (added)
- removeRepository(location, false);
- if (Boolean.valueOf(getRepositoryProperty(location, IRepository.PROP_SYSTEM)).booleanValue())
- removeRepository(location);
- else
- rememberNotFound(location);
- throw new ProvisionException(notFoundStatus);
- }
-
- /**
- * Try to load a pre-existing repo at the given location
- */
- private IMetadataRepository loadRepository(URL location, String suffix, String type, SubMonitor monitor, MultiStatus failures) {
- IExtension[] providers = findMatchingRepositoryExtensions(suffix, type);
- // Loop over the candidates and return the first one that successfully loads
- monitor.beginTask("", providers.length * 10); //$NON-NLS-1$
- for (int i = 0; i < providers.length; i++) {
- IMetadataRepositoryFactory factory = (IMetadataRepositoryFactory) createExecutableExtension(providers[i], FACTORY);
- try {
- if (factory != null)
- return factory.load(location, monitor.newChild(10));
- } catch (ProvisionException e) {
- if (e.getStatus().getCode() != ProvisionException.REPOSITORY_NOT_FOUND)
- failures.add(e.getStatus());
- //keep trying with other factories
- }
- }
- return null;
- }
-
- protected void log(String message, Throwable t) {
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, message, t));
- }
-
- private boolean matchesFlags(RepositoryInfo info, int flags) {
- if ((flags & REPOSITORIES_SYSTEM) == REPOSITORIES_SYSTEM)
- if (!info.isSystem)
- return false;
- if ((flags & REPOSITORIES_NON_SYSTEM) == REPOSITORIES_NON_SYSTEM)
- if (info.isSystem)
- return false;
- if ((flags & REPOSITORIES_DISABLED) == REPOSITORIES_DISABLED) {
- if (info.isEnabled)
- return false;
- } else {
- //ignore disabled repositories for all other flag types
- if (!info.isEnabled)
- return false;
- }
- if ((flags & REPOSITORIES_LOCAL) == REPOSITORIES_LOCAL)
- return "file".equals(info.location.getProtocol()); //$NON-NLS-1$
- return true;
- }
-
- /*(non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.core.eventbus.ProvisioningListener#notify(java.util.EventObject)
- */
- public void notify(EventObject o) {
- if (o instanceof RepositoryEvent) {
- RepositoryEvent event = (RepositoryEvent) o;
- if (event.getKind() == RepositoryEvent.DISCOVERED && event.getRepositoryType() == IRepository.TYPE_METADATA)
- addRepository(event.getRepositoryLocation(), event.isRepositoryEnabled(), true);
- }
- }
-
- /**
- * Sets a preference and returns <code>true</code> if the preference
- * was actually changed.
- */
- private boolean putValue(Preferences node, String key, String newValue) {
- String oldValue = node.get(key, null);
- if (oldValue == newValue || (oldValue != null && oldValue.equals(newValue)))
- return false;
- if (newValue == null)
- node.remove(key);
- else
- node.put(key, newValue);
- return true;
- }
-
- /**
- * Performs a query against all of the installable units of each known
- * repository, accumulating any objects that satisfy the query in the
- * provided collector.
- * <p>
- * Note that using this method can be quite expensive, as every known
- * metadata repository will be loaded in order to query each one. If a
- * client wishes to query only certain repositories, it is better to use
- * {@link #getKnownRepositories(int)} to filter the list of repositories
- * loaded and then query each of the returned repositories.
- * <p>
- * This method is long-running; progress and cancellation are provided
- * by the given progress monitor.
- *
- * @param query The query to perform against each installable unit in each known repository
- * @param collector Collects the results of the query
- * @param monitor a progress monitor, or <code>null</code> if progress
- * reporting is not desired
- * @return The collector argument
- */
- public Collector query(Query query, Collector collector, IProgressMonitor monitor) {
- URL[] locations = getKnownRepositories(REPOSITORIES_ALL);
- SubMonitor sub = SubMonitor.convert(monitor, locations.length * 10);
- for (int i = 0; i < locations.length; i++) {
- try {
- loadRepository(locations[i], sub.newChild(9)).query(query, collector, sub.newChild(1));
- } catch (ProvisionException e) {
- //ignore this repository for this query
- }
- }
- sub.done();
- return collector;
- }
-
- public IMetadataRepository refreshRepository(URL location, IProgressMonitor monitor) throws ProvisionException {
- clearNotFound(location);
- boolean wasEnabled = isEnabled(location);
- //remove the repository so event is broadcast and repositories can clear their caches
- if (!removeRepository(location))
- fail(location, ProvisionException.REPOSITORY_NOT_FOUND);
- try {
- IMetadataRepository result = loadRepository(location, monitor, null, true);
- if (!wasEnabled)
- setEnabled(location, false);
- return result;
- } catch (ProvisionException e) {
- //if we failed to load, make sure the repository is not lost
- addRepository(location);
- if (!wasEnabled)
- setEnabled(location, false);
- throw e;
- }
- }
-
- /*
- * Save the list of repositories in the preference store.
- */
- private boolean remember(IMetadataRepository repository, String suffix) {
- boolean changed = false;
- Preferences node = getPreferences().node(getKey(repository));
- changed |= putValue(node, KEY_URL, repository.getLocation().toExternalForm());
- changed |= putValue(node, KEY_DESCRIPTION, repository.getDescription());
- changed |= putValue(node, KEY_NAME, repository.getName());
- changed |= putValue(node, KEY_PROVIDER, repository.getProvider());
- changed |= putValue(node, KEY_TYPE, repository.getType());
- changed |= putValue(node, KEY_VERSION, repository.getVersion());
- changed |= putValue(node, KEY_SYSTEM, (String) repository.getProperties().get(IRepository.PROP_SYSTEM));
- changed |= putValue(node, KEY_SUFFIX, suffix);
- if (changed)
- saveToPreferences();
- return changed;
- }
-
- /*
- * Save the list of repositories in the preference store.
- */
- private boolean remember(RepositoryInfo info) {
- boolean changed = false;
- Preferences node = getPreferences().node(getKey(info.location));
- changed |= putValue(node, KEY_URL, info.location.toExternalForm());
- changed |= putValue(node, KEY_SYSTEM, Boolean.toString(info.isSystem));
- changed |= putValue(node, KEY_DESCRIPTION, info.description);
- changed |= putValue(node, KEY_NAME, info.name);
- changed |= putValue(node, KEY_SUFFIX, info.suffix);
- changed |= putValue(node, KEY_ENABLED, Boolean.toString(info.isEnabled));
- if (changed)
- saveToPreferences();
- return changed;
- }
-
- /**
- * Cache the fact that we tried to load a repository at this location and did not find anything.
- */
- private void rememberNotFound(URL location) {
- List badRepos;
- if (unavailableRepositories != null) {
- badRepos = (List) unavailableRepositories.get();
- if (badRepos != null) {
- badRepos.add(location);
- return;
- }
- }
- badRepos = new ArrayList();
- badRepos.add(location);
- unavailableRepositories = new SoftReference(badRepos);
- }
-
- public boolean removeRepository(URL toRemove) {
- return removeRepository(toRemove, true);
- }
-
- public boolean removeRepository(URL toRemove, boolean signalRemove) {
- Assert.isNotNull(toRemove);
- final String repoKey = getKey(toRemove);
- synchronized (repositoryLock) {
- if (repositories == null)
- restoreRepositories();
- if (repositories.remove(repoKey) == null)
- return false;
- }
- // remove the repository from the preference store
- try {
- getPreferences().node(repoKey).removeNode();
- saveToPreferences();
- } catch (BackingStoreException e) {
- log("Error saving preferences", e); //$NON-NLS-1$
- }
- //TODO: compute and pass appropriate isEnabled flag
- if (signalRemove)
- broadcastChangeEvent(toRemove, IRepository.TYPE_METADATA, RepositoryEvent.REMOVED, true);
- return true;
- }
-
- /**
- * Restore the list of repositories from the preference store.
- */
- private void restoreFromPreferences() {
- // restore the list of repositories from the preference store
- Preferences node = getPreferences();
- String[] children;
- try {
- children = node.childrenNames();
- } catch (BackingStoreException e) {
- log("Error restoring repositories from preferences", e); //$NON-NLS-1$
- return;
- }
- for (int i = 0; i < children.length; i++) {
- Preferences child = node.node(children[i]);
- String locationString = child.get(KEY_URL, null);
- if (locationString == null)
- continue;
- try {
- RepositoryInfo info = new RepositoryInfo();
- info.location = new URL(locationString);
- info.name = child.get(KEY_NAME, null);
- info.description = child.get(KEY_DESCRIPTION, null);
- info.isSystem = child.getBoolean(KEY_SYSTEM, false);
- info.isEnabled = child.getBoolean(KEY_ENABLED, true);
- info.suffix = child.get(KEY_SUFFIX, null);
- repositories.put(getKey(info.location), info);
- } catch (MalformedURLException e) {
- log("Error while restoring repository: " + locationString, e); //$NON-NLS-1$
- }
- }
- }
-
- /**
- * Restores metadata repositories specified as system properties.
- */
- private void restoreFromSystemProperty() {
- String locationString = Activator.getContext().getProperty("eclipse.p2.metadataRepository"); //$NON-NLS-1$
- if (locationString == null)
- return;
- StringTokenizer tokenizer = new StringTokenizer(locationString, ","); //$NON-NLS-1$
- while (tokenizer.hasMoreTokens()) {
- String pathString = tokenizer.nextToken();
- try {
- RepositoryInfo info = new RepositoryInfo();
- info.location = new URL(pathString);
- repositories.put(getKey(info.location), info);
- } catch (MalformedURLException e) {
- log("Error while restoring repository " + pathString, e); //$NON-NLS-1$
- }
- }
- }
-
- /**
- * Restores the repository list.
- */
- protected void restoreRepositories() {
- synchronized (repositoryLock) {
- repositories = new HashMap();
- restoreFromSystemProperty();
- restoreFromPreferences();
- }
- }
-
- /*
- * Save the repository list in the file-system
- */
- private void saveToPreferences() {
- try {
- getPreferences().flush();
- } catch (BackingStoreException e) {
- log("Error while saving repositories in preferences", e); //$NON-NLS-1$
- }
- }
-
- /*(non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager#setEnabled(java.net.URL, boolean)
- */
- public void setEnabled(URL location, boolean enablement) {
- synchronized (repositoryLock) {
- if (repositories == null)
- restoreRepositories();
- RepositoryInfo info = (RepositoryInfo) repositories.get(getKey(location));
- if (info == null || info.isEnabled == enablement)
- return;
- info.isEnabled = enablement;
- remember(info);
- }
- }
-
- /**
- * Optimize the order in which repository suffixes are searched by trying
- * the last successfully loaded suffix first.
- */
- private String[] sortSuffixes(String[] suffixes, URL location) {
- synchronized (repositoryLock) {
- if (repositories == null)
- restoreRepositories();
- RepositoryInfo info = (RepositoryInfo) repositories.get(getKey(location));
- if (info == null || info.suffix == null)
- return suffixes;
- //move lastSuffix to the front of the list but preserve order of remaining entries
- String lastSuffix = info.suffix;
- for (int i = 0; i < suffixes.length; i++) {
- if (lastSuffix.equals(suffixes[i])) {
- System.arraycopy(suffixes, 0, suffixes, 1, i);
- suffixes[0] = lastSuffix;
- return suffixes;
- }
- }
- }
- return suffixes;
- }
-
- public IStatus validateRepositoryLocation(URL location, IProgressMonitor monitor) {
- Assert.isNotNull(location);
- IMetadataRepository result = getRepository(location);
- if (result != null)
- return Status.OK_STATUS;
- String[] suffixes = getAllSuffixes();
- SubMonitor sub = SubMonitor.convert(monitor, Messages.repo_loading, suffixes.length * 100);
- IStatus status = new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, NLS.bind(Messages.repoMan_notExists, location.toExternalForm()), null);
- for (int i = 0; i < suffixes.length; i++) {
- SubMonitor loopMonitor = sub.newChild(100);
- IExtension[] providers = findMatchingRepositoryExtensions(suffixes[i], null);
- // Loop over the candidates and return the first one that successfully loads
- loopMonitor.beginTask("", providers.length * 10); //$NON-NLS-1$
- for (int j = 0; j < providers.length; j++) {
- IMetadataRepositoryFactory factory = (IMetadataRepositoryFactory) createExecutableExtension(providers[j], FACTORY);
- if (factory != null) {
- status = factory.validate(location, loopMonitor.newChild(10));
- if (status.isOK()) {
- sub.done();
- return status;
- }
- }
- }
-
- }
- sub.done();
- return status;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/URLMetadataRepository.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/URLMetadataRepository.java
deleted file mode 100644
index 28f88e4..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/URLMetadataRepository.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Prashant Deva - Bug 194674 [prov] Provide write access to metadata repository
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.repository;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.query.Query;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.AbstractMetadataRepository;
-
-/**
- * A metadata repository backed by an arbitrary URL.
- */
-public class URLMetadataRepository extends AbstractMetadataRepository {
-
- public static final String CONTENT_FILENAME = "content"; //$NON-NLS-1$
- public static final String XML_EXTENSION = ".xml"; //$NON-NLS-1$
- private static final String REPOSITORY_TYPE = URLMetadataRepository.class.getName();
- private static final Integer REPOSITORY_VERSION = new Integer(1);
-
- transient protected URL content;
- protected HashSet units = new LinkedHashSet();
-
- public static URL getActualLocation(URL base) {
- return getActualLocation(base, XML_EXTENSION);
- }
-
- public static URL getActualLocation(URL base, String extension) {
- if (extension == null) {
- extension = XML_EXTENSION;
- }
- String spec = base.toExternalForm();
- if (spec.endsWith(CONTENT_FILENAME + extension))
- try {
- return new URL(spec + extension);
- } catch (MalformedURLException e1) {
- return null;
- }
- if (spec.endsWith("/")) //$NON-NLS-1$
- spec += CONTENT_FILENAME;
- else
- spec += "/" + CONTENT_FILENAME; //$NON-NLS-1$
- try {
- return new URL(spec + extension);
- } catch (MalformedURLException e) {
- return null;
- }
- }
-
- public URLMetadataRepository() {
- super();
- }
-
- public URLMetadataRepository(URL location, String name, Map properties) {
- super(name == null ? (location != null ? location.toExternalForm() : "") : name, REPOSITORY_TYPE, REPOSITORY_VERSION.toString(), location, null, null, properties); //$NON-NLS-1$
- content = getActualLocation(location);
- }
-
- // this is synchronized because content can be initialized in initializeAfterLoad
- protected synchronized URL getContentURL() {
- return content;
- }
-
- public synchronized void initialize(RepositoryState state) {
- this.name = state.Name;
- this.type = state.Type;
- this.version = state.Version.toString();
- this.provider = state.Provider;
- this.description = state.Description;
- this.location = state.Location;
- this.properties = state.Properties;
- this.units.addAll(Arrays.asList(state.Units));
- }
-
- // Use this method to setup any transient fields etc after the object has been restored from a stream
- public synchronized void initializeAfterLoad(URL repoLocation) {
- this.location = repoLocation;
- content = getActualLocation(location);
- }
-
- public boolean isModifiable() {
- return false;
- }
-
- public synchronized Collector query(Query query, Collector collector, IProgressMonitor monitor) {
- return query.perform(units.iterator(), collector);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/io/MetadataParser.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/io/MetadataParser.java
deleted file mode 100644
index 5b09362..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/io/MetadataParser.java
+++ /dev/null
@@ -1,831 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Genuitec, LLC - added license support
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.repository.io;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.equinox.internal.p2.core.helpers.OrderedProperties;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.p2.persistence.XMLParser;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.*;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.RepositoryReference;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.Version;
-import org.xml.sax.Attributes;
-import org.xml.sax.ContentHandler;
-
-public abstract class MetadataParser extends XMLParser implements XMLConstants {
-
- public MetadataParser(BundleContext context, String bundleId) {
- super(context, bundleId);
- }
-
- protected class RepositoryReferencesHandler extends AbstractHandler {
- private HashSet references;
-
- public RepositoryReferencesHandler(AbstractHandler parentHandler, Attributes attributes) {
- super(parentHandler, REPOSITORY_REFERENCES_ELEMENT);
- String size = parseOptionalAttribute(attributes, COLLECTION_SIZE_ATTRIBUTE);
- references = (size != null ? new HashSet(Integer.parseInt(size)) : new HashSet(4));
- }
-
- public void startElement(String name, Attributes attributes) {
- if (name.equals(REPOSITORY_REFERENCE_ELEMENT)) {
- new RepositoryReferenceHandler(this, attributes, references);
- } else {
- invalidElement(name, attributes);
- }
- }
-
- public RepositoryReference[] getReferences() {
- return (RepositoryReference[]) references.toArray(new RepositoryReference[references.size()]);
- }
- }
-
- protected class RepositoryReferenceHandler extends AbstractHandler {
-
- private final String[] required = new String[] {URL_ATTRIBUTE, TYPE_ATTRIBUTE, OPTIONS_ATTRIBUTE};
-
- public RepositoryReferenceHandler(AbstractHandler parentHandler, Attributes attributes, Set references) {
- super(parentHandler, REPOSITORY_REFERENCE_ELEMENT);
- String[] values = parseRequiredAttributes(attributes, required);
- try {
- int type = checkInteger(elementHandled, TYPE_ATTRIBUTE, values[1]);
- int options = checkInteger(elementHandled, OPTIONS_ATTRIBUTE, values[2]);
- references.add(new RepositoryReference(new URL(values[0]), type, options));
- } catch (MalformedURLException e) {
- invalidAttributeValue(elementHandled, URL_ATTRIBUTE, values[0]);
- }
- }
-
- public void startElement(String name, Attributes attributes) {
- invalidElement(name, attributes);
- }
- }
-
- protected class InstallableUnitsHandler extends AbstractHandler {
- private ArrayList units;
-
- public InstallableUnitsHandler(AbstractHandler parentHandler, Attributes attributes) {
- super(parentHandler, INSTALLABLE_UNITS_ELEMENT);
- String size = parseOptionalAttribute(attributes, COLLECTION_SIZE_ATTRIBUTE);
- units = (size != null ? new ArrayList(new Integer(size).intValue()) : new ArrayList(4));
- }
-
- public IInstallableUnit[] getUnits() {
- int size = units.size();
- IInstallableUnit[] result = new IInstallableUnit[size];
- int i = 0;
- for (Iterator it = units.iterator(); it.hasNext(); i++) {
- InstallableUnitDescription desc = (InstallableUnitDescription) it.next();
- result[i] = MetadataFactory.createInstallableUnit(desc);
- }
- return result;
- }
-
- public void startElement(String name, Attributes attributes) {
- if (name.equals(INSTALLABLE_UNIT_ELEMENT)) {
- new InstallableUnitHandler(this, attributes, units);
- } else {
- invalidElement(name, attributes);
- }
- }
- }
-
- protected class InstallableUnitHandler extends AbstractHandler {
- private final String[] required = new String[] {ID_ATTRIBUTE, VERSION_ATTRIBUTE};
- private final String[] optional = new String[] {SINGLETON_ATTRIBUTE};
-
- InstallableUnitDescription currentUnit = null;
-
- private PropertiesHandler propertiesHandler = null;
- private ProvidedCapabilitiesHandler providedCapabilitiesHandler = null;
- private RequiredCapabilitiesHandler requiredCapabilitiesHandler = null;
- private HostRequiredCapabilitiesHandler hostRequiredCapabilitiesHandler = null;
- private TextHandler filterHandler = null;
- private ArtifactsHandler artifactsHandler = null;
- private TouchpointTypeHandler touchpointTypeHandler = null;
- private TouchpointDataHandler touchpointDataHandler = null;
- private UpdateDescriptorHandler updateDescriptorHandler = null;
- private LicensesHandler licensesHandler = null;
- private CopyrightHandler copyrightHandler = null;
- private RequirementsChangeHandler requirementChangesHandler = null;
- private ApplicabilityScopesHandler applicabilityScopeHandler = null;
- private LifeCycleHandler lifeCycleHandler;
-
- private String id;
- private Version version;
- private boolean singleton;
-
- private List units;
-
- public InstallableUnitHandler(AbstractHandler parentHandler, Attributes attributes, List units) {
- super(parentHandler, INSTALLABLE_UNIT_ELEMENT);
- String[] values = parseAttributes(attributes, required, optional);
- this.units = units;
- //skip entire IU if the id is missing
- if (values[0] == null)
- return;
-
- id = values[0];
- version = checkVersion(INSTALLABLE_UNIT_ELEMENT, VERSION_ATTRIBUTE, values[1]);
- singleton = checkBoolean(INSTALLABLE_UNIT_ELEMENT, SINGLETON_ATTRIBUTE, values[2], true).booleanValue();
- }
-
- public IInstallableUnit getInstallableUnit() {
- return MetadataFactory.createInstallableUnit(currentUnit);
- }
-
- public void startElement(String name, Attributes attributes) {
- checkCancel();
- if (PROPERTIES_ELEMENT.equals(name)) {
- if (propertiesHandler == null) {
- propertiesHandler = new PropertiesHandler(this, attributes);
- } else {
- duplicateElement(this, name, attributes);
- }
- } else if (PROVIDED_CAPABILITIES_ELEMENT.equals(name)) {
- if (providedCapabilitiesHandler == null) {
- providedCapabilitiesHandler = new ProvidedCapabilitiesHandler(this, attributes);
- } else {
- duplicateElement(this, name, attributes);
- }
- } else if (REQUIRED_CAPABILITIES_ELEMENT.equals(name)) {
- if (requiredCapabilitiesHandler == null) {
- requiredCapabilitiesHandler = new RequiredCapabilitiesHandler(this, attributes);
- } else {
- duplicateElement(this, name, attributes);
- }
- } else if (HOST_REQUIRED_CAPABILITIES_ELEMENT.equals(name)) {
- if (hostRequiredCapabilitiesHandler == null) {
- hostRequiredCapabilitiesHandler = new HostRequiredCapabilitiesHandler(this, attributes);
- } else {
- duplicateElement(this, name, attributes);
- }
- } else if (IU_FILTER_ELEMENT.equals(name)) {
- if (filterHandler == null) {
- filterHandler = new TextHandler(this, IU_FILTER_ELEMENT, attributes);
- } else {
- duplicateElement(this, name, attributes);
- }
- } else if (ARTIFACT_KEYS_ELEMENT.equals(name)) {
- if (artifactsHandler == null) {
- artifactsHandler = new ArtifactsHandler(this, attributes);
- } else {
- duplicateElement(this, name, attributes);
- }
- } else if (TOUCHPOINT_TYPE_ELEMENT.equals(name)) {
- if (touchpointTypeHandler == null) {
- touchpointTypeHandler = new TouchpointTypeHandler(this, attributes);
- } else {
- duplicateElement(this, name, attributes);
- }
- } else if (TOUCHPOINT_DATA_ELEMENT.equals(name)) {
- if (touchpointDataHandler == null) {
- touchpointDataHandler = new TouchpointDataHandler(this, attributes);
- } else {
- duplicateElement(this, name, attributes);
- }
- } else if (UPDATE_DESCRIPTOR_ELEMENT.equals(name)) {
- if (updateDescriptorHandler == null)
- updateDescriptorHandler = new UpdateDescriptorHandler(this, attributes);
- else {
- duplicateElement(this, name, attributes);
- }
- } else if (LICENSES_ELEMENT.equals(name)) {
- if (licensesHandler == null) {
- licensesHandler = new LicensesHandler(this, attributes);
- } else {
- duplicateElement(this, name, attributes);
- }
- } else if (REQUIREMENT_CHANGES.equals(name)) {
- if (requirementChangesHandler == null) {
- requirementChangesHandler = new RequirementsChangeHandler(this, attributes);
- } else {
- duplicateElement(this, name, attributes);
- }
- } else if (APPLICABILITY_SCOPE.equals(name)) {
- if (applicabilityScopeHandler == null) {
- applicabilityScopeHandler = new ApplicabilityScopesHandler(this, attributes);
- } else {
- duplicateElement(this, name, attributes);
- }
- } else if (LIFECYCLE.equals(name)) {
- if (lifeCycleHandler == null) {
- lifeCycleHandler = new LifeCycleHandler(this, attributes);
- } else {
- duplicateElement(this, name, attributes);
- }
- } else if (COPYRIGHT_ELEMENT.equals(name)) {
- if (copyrightHandler == null) {
- copyrightHandler = new CopyrightHandler(this, attributes);
- } else {
- duplicateElement(this, name, attributes);
- }
- } else {
- invalidElement(name, attributes);
- }
- }
-
- protected void finished() {
- if (isValidXML()) {
- if (requirementChangesHandler != null) {
- currentUnit = new MetadataFactory.InstallableUnitPatchDescription();
- ((InstallableUnitPatchDescription) currentUnit).setRequirementChanges((RequirementChange[]) requirementChangesHandler.getRequirementChanges().toArray(new RequirementChange[requirementChangesHandler.getRequirementChanges().size()]));
- if (applicabilityScopeHandler != null)
- ((InstallableUnitPatchDescription) currentUnit).setApplicabilityScope(applicabilityScopeHandler.getScope());
- if (lifeCycleHandler != null)
- ((InstallableUnitPatchDescription) currentUnit).setLifeCycle(lifeCycleHandler.getLifeCycleRequirement());
- } else if (hostRequiredCapabilitiesHandler == null || hostRequiredCapabilitiesHandler.getHostRequiredCapabilities().length == 0) {
- currentUnit = new InstallableUnitDescription();
- } else {
- currentUnit = new MetadataFactory.InstallableUnitFragmentDescription();
- ((InstallableUnitFragmentDescription) currentUnit).setHost(hostRequiredCapabilitiesHandler.getHostRequiredCapabilities());
- }
- currentUnit.setId(id);
- currentUnit.setVersion(version);
- currentUnit.setSingleton(singleton);
- OrderedProperties properties = (propertiesHandler == null ? new OrderedProperties(0) : propertiesHandler.getProperties());
- String updateFrom = null;
- VersionRange updateRange = null;
- for (Enumeration e = properties.keys(); e.hasMoreElements();) {
- String key = (String) e.nextElement();
- String value = properties.getProperty(key);
- //Backward compatibility
- if (key.equals("equinox.p2.update.from")) {
- updateFrom = value;
- continue;
- }
- if (key.equals("equinox.p2.update.range")) {
- updateRange = new VersionRange(value);
- continue;
- }
- //End of backward compatibility
- currentUnit.setProperty(key, value);
- }
- //Backward compatibility
- if (updateFrom != null && updateRange != null)
- currentUnit.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor(updateFrom, updateRange, IUpdateDescriptor.NORMAL, null));
- //End of backward compatibility
-
- if (licensesHandler != null) {
- License license = licensesHandler.getLicense();
- currentUnit.setLicense(license);
- }
-
- if (copyrightHandler != null) {
- Copyright copyright = copyrightHandler.getCopyright();
- currentUnit.setCopyright(copyright);
- }
-
- ProvidedCapability[] providedCapabilities = (providedCapabilitiesHandler == null ? new ProvidedCapability[0] : providedCapabilitiesHandler.getProvidedCapabilities());
- currentUnit.setCapabilities(providedCapabilities);
- RequiredCapability[] requiredCapabilities = (requiredCapabilitiesHandler == null ? new RequiredCapability[0] : requiredCapabilitiesHandler.getRequiredCapabilities());
- currentUnit.setRequiredCapabilities(requiredCapabilities);
- if (filterHandler != null) {
- currentUnit.setFilter(filterHandler.getText());
- }
- IArtifactKey[] artifacts = (artifactsHandler == null ? new IArtifactKey[0] : artifactsHandler.getArtifactKeys());
- currentUnit.setArtifacts(artifacts);
- if (touchpointTypeHandler != null) {
- currentUnit.setTouchpointType(touchpointTypeHandler.getTouchpointType());
- } else {
- // TODO: create an error
- }
- TouchpointData[] touchpointData = (touchpointDataHandler == null ? new TouchpointData[0] : touchpointDataHandler.getTouchpointData());
- for (int i = 0; i < touchpointData.length; i++)
- currentUnit.addTouchpointData(touchpointData[i]);
- if (updateDescriptorHandler != null)
- currentUnit.setUpdateDescriptor(updateDescriptorHandler.getUpdateDescriptor());
- units.add(currentUnit);
- }
- }
- }
-
- protected class ApplicabilityScopesHandler extends AbstractHandler {
- private List scopes;
-
- public ApplicabilityScopesHandler(AbstractHandler parentHandler, Attributes attributes) {
- super(parentHandler, APPLICABILITY_SCOPE);
- String size = parseOptionalAttribute(attributes, COLLECTION_SIZE_ATTRIBUTE);
- scopes = (size != null ? new ArrayList(new Integer(size).intValue()) : new ArrayList(4));
- }
-
- public void startElement(String name, Attributes attributes) {
- if (APPLY_ON.equals(name)) {
- new ApplicabilityScopeHandler(this, attributes, scopes);
- } else {
- duplicateElement(this, name, attributes);
- }
- }
-
- public RequiredCapability[][] getScope() {
- return (RequiredCapability[][]) scopes.toArray(new RequiredCapability[scopes.size()][]);
- }
- }
-
- protected class ApplicabilityScopeHandler extends AbstractHandler {
- private RequiredCapabilitiesHandler children;
- private List scopes;
-
- public ApplicabilityScopeHandler(AbstractHandler parentHandler, Attributes attributes, List scopes) {
- super(parentHandler, APPLY_ON);
- this.scopes = scopes;
- }
-
- public void startElement(String name, Attributes attributes) {
- if (REQUIRED_CAPABILITIES_ELEMENT.equals(name)) {
- children = new RequiredCapabilitiesHandler(this, attributes);
- } else {
- duplicateElement(this, name, attributes);
- }
- }
-
- protected void finished() {
- scopes.add(children.getRequiredCapabilities());
- }
- }
-
- protected class RequirementsChangeHandler extends AbstractHandler {
- private List requirementChanges;
-
- public RequirementsChangeHandler(InstallableUnitHandler parentHandler, Attributes attributes) {
- super(parentHandler, REQUIREMENT_CHANGES);
- String size = parseOptionalAttribute(attributes, COLLECTION_SIZE_ATTRIBUTE);
- requirementChanges = (size != null ? new ArrayList(new Integer(size).intValue()) : new ArrayList(4));
- }
-
- public void startElement(String name, Attributes attributes) {
- if (name.equals(REQUIREMENT_CHANGE)) {
- new RequirementChangeHandler(this, attributes, requirementChanges);
- } else {
- invalidElement(name, attributes);
- }
- }
-
- public List getRequirementChanges() {
- return requirementChanges;
- }
- }
-
- protected class RequirementChangeHandler extends AbstractHandler {
- private List from;
- private List to;
- private List requirementChanges;
-
- public RequirementChangeHandler(AbstractHandler parentHandler, Attributes attributes, List requirementChanges) {
- super(parentHandler, REQUIREMENT_CHANGE);
- from = new ArrayList(1);
- to = new ArrayList(1);
- this.requirementChanges = requirementChanges;
- }
-
- public void startElement(String name, Attributes attributes) {
- if (name.equals(REQUIREMENT_FROM)) {
- new RequirementChangeEltHandler(this, REQUIREMENT_FROM, attributes, from);
- return;
- }
-
- if (name.equals(REQUIREMENT_TO)) {
- new RequirementChangeEltHandler(this, REQUIREMENT_TO, attributes, to);
- return;
- }
- invalidElement(name, attributes);
- }
-
- protected void finished() {
- requirementChanges.add(new RequirementChange(from.size() == 0 ? null : (RequiredCapability) from.get(0), to.size() == 0 ? null : (RequiredCapability) to.get(0)));
- }
- }
-
- protected class RequirementChangeEltHandler extends AbstractHandler {
- private List requirement;
-
- public RequirementChangeEltHandler(AbstractHandler parentHandler, String parentId, Attributes attributes, List from) {
- super(parentHandler, parentId);
- requirement = from;
- }
-
- public void startElement(String name, Attributes attributes) {
- if (REQUIRED_CAPABILITY_ELEMENT.equals(name))
- new RequiredCapabilityHandler(this, attributes, requirement);
- else {
- invalidElement(name, attributes);
- }
- }
-
- }
-
- protected class LifeCycleHandler extends AbstractHandler {
- private List lifeCycleRequirement;
-
- public LifeCycleHandler(AbstractHandler parentHandler, Attributes attributes) {
- super(parentHandler, LIFECYCLE);
- lifeCycleRequirement = new ArrayList(1);
- }
-
- public RequiredCapability getLifeCycleRequirement() {
- if (lifeCycleRequirement.size() == 0)
- return null;
- return (RequiredCapability) lifeCycleRequirement.get(0);
- }
-
- public void startElement(String name, Attributes attributes) {
- if (REQUIRED_CAPABILITY_ELEMENT.equals(name)) {
- new RequiredCapabilityHandler(this, attributes, lifeCycleRequirement);
- } else {
- invalidElement(name, attributes);
- }
- }
- }
-
- protected class ProvidedCapabilitiesHandler extends AbstractHandler {
- private List providedCapabilities;
-
- public ProvidedCapabilitiesHandler(AbstractHandler parentHandler, Attributes attributes) {
- super(parentHandler, PROVIDED_CAPABILITIES_ELEMENT);
- String size = parseOptionalAttribute(attributes, COLLECTION_SIZE_ATTRIBUTE);
- providedCapabilities = (size != null ? new ArrayList(new Integer(size).intValue()) : new ArrayList(4));
- }
-
- public ProvidedCapability[] getProvidedCapabilities() {
- return (ProvidedCapability[]) providedCapabilities.toArray(new ProvidedCapability[providedCapabilities.size()]);
- }
-
- public void startElement(String name, Attributes attributes) {
- if (name.equals(PROVIDED_CAPABILITY_ELEMENT)) {
- new ProvidedCapabilityHandler(this, attributes, providedCapabilities);
- } else {
- invalidElement(name, attributes);
- }
- }
- }
-
- protected class ProvidedCapabilityHandler extends AbstractHandler {
- private final String[] required = new String[] {NAMESPACE_ATTRIBUTE, NAME_ATTRIBUTE, VERSION_ATTRIBUTE};
-
- public ProvidedCapabilityHandler(AbstractHandler parentHandler, Attributes attributes, List capabilities) {
- super(parentHandler, PROVIDED_CAPABILITY_ELEMENT);
- String[] values = parseRequiredAttributes(attributes, required);
- Version version = checkVersion(PROVIDED_CAPABILITY_ELEMENT, VERSION_ATTRIBUTE, values[2]);
- capabilities.add(MetadataFactory.createProvidedCapability(values[0], values[1], version));
- }
-
- public void startElement(String name, Attributes attributes) {
- invalidElement(name, attributes);
- }
- }
-
- protected class HostRequiredCapabilitiesHandler extends AbstractHandler {
- private List requiredCapabilities;
-
- public HostRequiredCapabilitiesHandler(AbstractHandler parentHandler, Attributes attributes) {
- super(parentHandler, HOST_REQUIRED_CAPABILITIES_ELEMENT);
- String size = parseOptionalAttribute(attributes, COLLECTION_SIZE_ATTRIBUTE);
- requiredCapabilities = (size != null ? new ArrayList(new Integer(size).intValue()) : new ArrayList(4));
- }
-
- public RequiredCapability[] getHostRequiredCapabilities() {
- return (RequiredCapability[]) requiredCapabilities.toArray(new RequiredCapability[requiredCapabilities.size()]);
- }
-
- public void startElement(String name, Attributes attributes) {
- if (name.equals(REQUIRED_CAPABILITY_ELEMENT)) {
- new RequiredCapabilityHandler(this, attributes, requiredCapabilities);
- } else {
- invalidElement(name, attributes);
- }
- }
- }
-
- protected class RequiredCapabilitiesHandler extends AbstractHandler {
- private List requiredCapabilities;
-
- public RequiredCapabilitiesHandler(AbstractHandler parentHandler, Attributes attributes) {
- super(parentHandler, REQUIRED_CAPABILITIES_ELEMENT);
- String size = parseOptionalAttribute(attributes, COLLECTION_SIZE_ATTRIBUTE);
- requiredCapabilities = (size != null ? new ArrayList(new Integer(size).intValue()) : new ArrayList(4));
- }
-
- public RequiredCapability[] getRequiredCapabilities() {
- return (RequiredCapability[]) requiredCapabilities.toArray(new RequiredCapability[requiredCapabilities.size()]);
- }
-
- public void startElement(String name, Attributes attributes) {
- if (name.equals(REQUIRED_CAPABILITY_ELEMENT)) {
- new RequiredCapabilityHandler(this, attributes, requiredCapabilities);
- } else {
- invalidElement(name, attributes);
- }
- }
- }
-
- protected class RequiredCapabilityHandler extends AbstractHandler {
- private final String[] required = new String[] {NAMESPACE_ATTRIBUTE, NAME_ATTRIBUTE, VERSION_RANGE_ATTRIBUTE};
- private final String[] optional = new String[] {CAPABILITY_OPTIONAL_ATTRIBUTE, CAPABILITY_MULTIPLE_ATTRIBUTE, CAPABILITY_GREED_ATTRIBUTE};
-
- private RequiredCapability currentCapability = null;
-
- private TextHandler filterHandler = null;
- private CapabilitySelectorsHandler selectorsHandler = null;
-
- public RequiredCapabilityHandler(AbstractHandler parentHandler, Attributes attributes, List capabilities) {
- super(parentHandler, REQUIRED_CAPABILITY_ELEMENT);
- String[] values = parseAttributes(attributes, required, optional);
- VersionRange range = checkVersionRange(REQUIRED_CAPABILITY_ELEMENT, VERSION_RANGE_ATTRIBUTE, values[2]);
- boolean isOptional = checkBoolean(REQUIRED_CAPABILITY_ELEMENT, CAPABILITY_OPTIONAL_ATTRIBUTE, values[3], false).booleanValue();
- boolean isMultiple = checkBoolean(REQUIRED_CAPABILITY_ELEMENT, CAPABILITY_MULTIPLE_ATTRIBUTE, values[4], false).booleanValue();
- boolean isGreedy = checkBoolean(REQUIRED_CAPABILITY_ELEMENT, CAPABILITY_GREED_ATTRIBUTE, values[5], true).booleanValue();
- currentCapability = MetadataFactory.createRequiredCapability(values[0], values[1], range, null, isOptional, isMultiple, isGreedy);
- capabilities.add(currentCapability);
- }
-
- public void startElement(String name, Attributes attributes) {
- if (name.equals(CAPABILITY_FILTER_ELEMENT)) {
- filterHandler = new TextHandler(this, CAPABILITY_FILTER_ELEMENT, attributes);
- } else if (name.equals(CAPABILITY_SELECTORS_ELEMENT)) {
- selectorsHandler = new CapabilitySelectorsHandler(this, attributes);
- } else {
- invalidElement(name, attributes);
- }
- }
-
- protected void finished() {
- if (isValidXML()) {
- if (currentCapability != null) {
- if (filterHandler != null) {
- currentCapability.setFilter(filterHandler.getText());
- }
- if (selectorsHandler != null) {
- currentCapability.setSelectors(selectorsHandler.getSelectors());
- }
- }
- }
- }
- }
-
- protected class ArtifactsHandler extends AbstractHandler {
-
- private List artifacts;
-
- public ArtifactsHandler(AbstractHandler parentHandler, Attributes attributes) {
- super(parentHandler, ARTIFACT_KEYS_ELEMENT);
- String size = parseOptionalAttribute(attributes, COLLECTION_SIZE_ATTRIBUTE);
- artifacts = (size != null ? new ArrayList(new Integer(size).intValue()) : new ArrayList(4));
- }
-
- public IArtifactKey[] getArtifactKeys() {
- return (IArtifactKey[]) artifacts.toArray(new IArtifactKey[artifacts.size()]);
- }
-
- public void startElement(String name, Attributes attributes) {
- if (name.equals(ARTIFACT_KEY_ELEMENT)) {
- new ArtifactHandler(this, attributes, artifacts);
- } else {
- invalidElement(name, attributes);
- }
- }
- }
-
- protected class ArtifactHandler extends AbstractHandler {
-
- private final String[] required = new String[] {CLASSIFIER_ATTRIBUTE, ID_ATTRIBUTE, VERSION_ATTRIBUTE};
-
- public ArtifactHandler(AbstractHandler parentHandler, Attributes attributes, List artifacts) {
- super(parentHandler, ARTIFACT_KEY_ELEMENT);
- String[] values = parseRequiredAttributes(attributes, required);
- Version version = checkVersion(ARTIFACT_KEY_ELEMENT, VERSION_ATTRIBUTE, values[2]);
- artifacts.add(new ArtifactKey(values[0], values[1], version));
- }
-
- public void startElement(String name, Attributes attributes) {
- invalidElement(name, attributes);
- }
- }
-
- protected class CapabilitySelectorsHandler extends AbstractHandler {
-
- private List selectors;
-
- public CapabilitySelectorsHandler(AbstractHandler parentHandler, Attributes attributes) {
- super(parentHandler, CAPABILITY_SELECTORS_ELEMENT);
- String size = parseOptionalAttribute(attributes, COLLECTION_SIZE_ATTRIBUTE);
- selectors = (size != null ? new ArrayList(new Integer(size).intValue()) : new ArrayList(4));
- }
-
- public String[] getSelectors() {
- return (String[]) selectors.toArray(new String[selectors.size()]);
- }
-
- public void startElement(String name, Attributes attributes) {
- if (name.equals(CAPABILITY_SELECTOR_ELEMENT)) {
- new TextHandler(this, CAPABILITY_SELECTOR_ELEMENT, attributes, selectors);
- } else {
- invalidElement(name, attributes);
- }
- }
- }
-
- protected class TouchpointTypeHandler extends AbstractHandler {
-
- private final String[] required = new String[] {ID_ATTRIBUTE, VERSION_ATTRIBUTE};
-
- TouchpointType touchpointType = null;
-
- public TouchpointTypeHandler(AbstractHandler parentHandler, Attributes attributes) {
- super(parentHandler, TOUCHPOINT_TYPE_ELEMENT);
- String[] values = parseRequiredAttributes(attributes, required);
- Version version = checkVersion(TOUCHPOINT_TYPE_ELEMENT, VERSION_ATTRIBUTE, values[1]);
- touchpointType = MetadataFactory.createTouchpointType(values[0], version);
- }
-
- public TouchpointType getTouchpointType() {
- return touchpointType;
- }
-
- public void startElement(String name, Attributes attributes) {
- invalidElement(name, attributes);
- }
- }
-
- protected class TouchpointDataHandler extends AbstractHandler {
-
- TouchpointData touchpointData = null;
-
- List data = null;
-
- public TouchpointDataHandler(AbstractHandler parentHandler, Attributes attributes) {
- super(parentHandler, TOUCHPOINT_DATA_ELEMENT);
- String size = parseOptionalAttribute(attributes, COLLECTION_SIZE_ATTRIBUTE);
- data = (size != null ? new ArrayList(new Integer(size).intValue()) : new ArrayList(4));
- }
-
- public TouchpointData[] getTouchpointData() {
- TouchpointData[] result = new TouchpointData[data.size()];
- for (int i = 0; i < result.length; i++)
- result[i] = ((TouchpointInstructionsHandler) data.get(i)).getTouchpointData();
- return result;
- }
-
- public void startElement(String name, Attributes attributes) {
- if (name.equals(TOUCHPOINT_DATA_INSTRUCTIONS_ELEMENT)) {
- data.add(new TouchpointInstructionsHandler(this, attributes, data));
- } else {
- invalidElement(name, attributes);
- }
- }
- }
-
- protected class TouchpointInstructionsHandler extends AbstractHandler {
-
- Map instructions = null;
-
- public TouchpointInstructionsHandler(AbstractHandler parentHandler, Attributes attributes, List data) {
- super(parentHandler, TOUCHPOINT_DATA_INSTRUCTIONS_ELEMENT);
- String size = parseOptionalAttribute(attributes, COLLECTION_SIZE_ATTRIBUTE);
- instructions = (size != null ? new LinkedHashMap(new Integer(size).intValue()) : new LinkedHashMap(4));
- }
-
- public TouchpointData getTouchpointData() {
- return MetadataFactory.createTouchpointData(instructions);
- }
-
- public void startElement(String name, Attributes attributes) {
- if (name.equals(TOUCHPOINT_DATA_INSTRUCTION_ELEMENT)) {
- new TouchpointInstructionHandler(this, attributes, instructions);
- } else {
- invalidElement(name, attributes);
- }
- }
- }
-
- protected class TouchpointInstructionHandler extends TextHandler {
-
- private final String[] required = new String[] {TOUCHPOINT_DATA_INSTRUCTION_KEY_ATTRIBUTE};
-
- Map instructions = null;
- String key = null;
-
- public TouchpointInstructionHandler(AbstractHandler parentHandler, Attributes attributes, Map instructions) {
- super(parentHandler, TOUCHPOINT_DATA_INSTRUCTION_ELEMENT);
- key = parseRequiredAttributes(attributes, required)[0];
- this.instructions = instructions;
- }
-
- protected void finished() {
- if (isValidXML()) {
- if (key != null) {
- instructions.put(key, getText());
- }
- }
- }
- }
-
- protected class UpdateDescriptorHandler extends TextHandler {
- private final String[] required = new String[] {ID_ATTRIBUTE, VERSION_RANGE_ATTRIBUTE};
- private final String[] optional = new String[] {UPDATE_DESCRIPTOR_SEVERITY, DESCRIPTION_ATTRIBUTE};
-
- private IUpdateDescriptor descriptor;
-
- public UpdateDescriptorHandler(AbstractHandler parentHandler, Attributes attributes) {
- super(parentHandler, INSTALLABLE_UNIT_ELEMENT);
- String[] values = parseAttributes(attributes, required, optional);
- VersionRange range = checkVersionRange(REQUIRED_CAPABILITY_ELEMENT, VERSION_RANGE_ATTRIBUTE, values[1]);
- int severity = new Integer(values[2]).intValue();
- descriptor = MetadataFactory.createUpdateDescriptor(values[0], range, severity, values[3]);
- }
-
- public IUpdateDescriptor getUpdateDescriptor() {
- return descriptor;
- }
- }
-
- /**
- * Handler for a list of licenses.
- */
- protected class LicensesHandler extends AbstractHandler {
- // Note this handler is set up to handle multiple license elements, but for now
- // the API for IInstallableUnit only reflects one.
- // see https://bugs.eclipse.org/bugs/show_bug.cgi?id=216911
- private List licenses;
-
- public LicensesHandler(ContentHandler parentHandler, Attributes attributes) {
- super(parentHandler, LICENSES_ELEMENT);
- String size = parseOptionalAttribute(attributes, COLLECTION_SIZE_ATTRIBUTE);
- licenses = (size != null ? new ArrayList(new Integer(size).intValue()) : new ArrayList(2));
- }
-
- public License getLicense() {
- if (licenses.size() == 0)
- return null;
- return (License) licenses.get(0);
- }
-
- public void startElement(String name, Attributes attributes) {
- if (name.equals(LICENSE_ELEMENT)) {
- new LicenseHandler(this, attributes, licenses);
- } else {
- invalidElement(name, attributes);
- }
- }
-
- }
-
- /**
- * Handler for a license in an list of licenses.
- */
- protected class LicenseHandler extends TextHandler {
-
- String url = null;
-
- private final List licenses;
-
- public LicenseHandler(AbstractHandler parentHandler, Attributes attributes, List licenses) {
- super(parentHandler, LICENSE_ELEMENT);
- url = parseOptionalAttribute(attributes, URL_ATTRIBUTE);
- this.licenses = licenses;
- }
-
- protected void finished() {
- if (isValidXML()) {
- licenses.add(new License(url, getText()));
- }
- }
- }
-
- /**
- * Handler for a copyright.
- */
- protected class CopyrightHandler extends TextHandler {
-
- String url = null;
- private Copyright copyright;
-
- public CopyrightHandler(AbstractHandler parentHandler, Attributes attributes) {
- super(parentHandler, COPYRIGHT_ELEMENT);
- url = parseOptionalAttribute(attributes, URL_ATTRIBUTE);
- }
-
- protected void finished() {
- if (isValidXML()) {
- copyright = new Copyright(url, getText());
- }
- }
-
- public Copyright getCopyright() {
- return copyright;
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/io/MetadataWriter.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/io/MetadataWriter.java
deleted file mode 100644
index 7aea452..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/io/MetadataWriter.java
+++ /dev/null
@@ -1,278 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Genuitec, LLC - added license support
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.repository.io;
-
-import java.io.OutputStream;
-import java.io.UnsupportedEncodingException;
-import java.util.Iterator;
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.metadata.repository.Activator;
-import org.eclipse.equinox.internal.p2.persistence.XMLWriter;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-
-public abstract class MetadataWriter extends XMLWriter implements XMLConstants {
-
- public MetadataWriter(OutputStream output, ProcessingInstruction[] piElements) throws UnsupportedEncodingException {
- super(output, piElements);
- // TODO: add a processing instruction for the metadata version
- }
-
- /**
- * Writes a list of {@link IInstallableUnit}.
- * @param units An Iterator of {@link IInstallableUnit}.
- * @param size The number of units to write
- */
- protected void writeInstallableUnits(Iterator units, int size) {
- if (size == 0)
- return;
- start(INSTALLABLE_UNITS_ELEMENT);
- attribute(COLLECTION_SIZE_ATTRIBUTE, size);
- while (units.hasNext())
- writeInstallableUnit((IInstallableUnit) units.next());
- end(INSTALLABLE_UNITS_ELEMENT);
- }
-
- protected void writeInstallableUnit(IInstallableUnit resolvedIU) {
- IInstallableUnit iu = resolvedIU.unresolved();
- start(INSTALLABLE_UNIT_ELEMENT);
- attribute(ID_ATTRIBUTE, iu.getId());
- attribute(VERSION_ATTRIBUTE, iu.getVersion());
- attribute(SINGLETON_ATTRIBUTE, iu.isSingleton(), true);
- // attribute(FRAGMENT_ATTRIBUTE, iu.isFragment(), false);
-
- if (iu.isFragment() && iu instanceof IInstallableUnitFragment) {
- IInstallableUnitFragment fragment = (IInstallableUnitFragment) iu;
- writeHostRequiredCapabilities(fragment.getHost());
- }
-
- if (iu instanceof IInstallableUnitPatch) {
- IInstallableUnitPatch patch = (IInstallableUnitPatch) iu;
- writeApplicabilityScope(patch.getApplicabilityScope());
- writeRequirementsChange(patch.getRequirementsChange());
- writeLifeCycle(patch.getLifeCycle());
- }
-
- writeUpdateDescriptor(resolvedIU, resolvedIU.getUpdateDescriptor());
- writeProperties(iu.getProperties());
- writeProvidedCapabilities(iu.getProvidedCapabilities());
- writeRequiredCapabilities(iu.getRequiredCapabilities());
- writeTrimmedCdata(IU_FILTER_ELEMENT, iu.getFilter());
-
- writeArtifactKeys(iu.getArtifacts());
- writeTouchpointType(iu.getTouchpointType());
- writeTouchpointData(iu.getTouchpointData());
- writeLicenses(iu.getLicense());
- writeCopyright(iu.getCopyright());
-
- end(INSTALLABLE_UNIT_ELEMENT);
- }
-
- protected void writeLifeCycle(RequiredCapability capability) {
- if (capability == null)
- return;
- start(LIFECYCLE);
- writeRequiredCapability(capability);
- end(LIFECYCLE);
- }
-
- protected void writeHostRequiredCapabilities(RequiredCapability[] capabilities) {
- if (capabilities != null && capabilities.length > 0) {
- start(HOST_REQUIRED_CAPABILITIES_ELEMENT);
- attribute(COLLECTION_SIZE_ATTRIBUTE, capabilities.length);
- for (int i = 0; i < capabilities.length; i++) {
- writeRequiredCapability(capabilities[i]);
- }
- end(HOST_REQUIRED_CAPABILITIES_ELEMENT);
- }
- }
-
- protected void writeProvidedCapabilities(ProvidedCapability[] capabilities) {
- if (capabilities != null && capabilities.length > 0) {
- start(PROVIDED_CAPABILITIES_ELEMENT);
- attribute(COLLECTION_SIZE_ATTRIBUTE, capabilities.length);
- for (int i = 0; i < capabilities.length; i++) {
- start(PROVIDED_CAPABILITY_ELEMENT);
- attribute(NAMESPACE_ATTRIBUTE, capabilities[i].getNamespace());
- attribute(NAME_ATTRIBUTE, capabilities[i].getName());
- attribute(VERSION_ATTRIBUTE, capabilities[i].getVersion());
- end(PROVIDED_CAPABILITY_ELEMENT);
- }
- end(PROVIDED_CAPABILITIES_ELEMENT);
- }
- }
-
- protected void writeRequiredCapabilities(RequiredCapability[] capabilities) {
- if (capabilities != null && capabilities.length > 0) {
- start(REQUIRED_CAPABILITIES_ELEMENT);
- attribute(COLLECTION_SIZE_ATTRIBUTE, capabilities.length);
- for (int i = 0; i < capabilities.length; i++) {
- writeRequiredCapability(capabilities[i]);
- }
- end(REQUIRED_CAPABILITIES_ELEMENT);
- }
- }
-
- protected void writeUpdateDescriptor(IInstallableUnit iu, IUpdateDescriptor descriptor) {
- if (descriptor == null)
- return;
-
- start(UPDATE_DESCRIPTOR_ELEMENT);
- attribute(ID_ATTRIBUTE, descriptor.getId());
- attribute(VERSION_RANGE_ATTRIBUTE, descriptor.getRange());
- attribute(UPDATE_DESCRIPTOR_SEVERITY, descriptor.getSeverity());
- attribute(DESCRIPTION_ATTRIBUTE, descriptor.getDescription());
- end(UPDATE_DESCRIPTOR_ELEMENT);
- }
-
- protected void writeApplicabilityScope(RequiredCapability[][] capabilities) {
- start(APPLICABILITY_SCOPE);
- for (int i = 0; i < capabilities.length; i++) {
- start(APPLY_ON);
- writeRequiredCapabilities(capabilities[i]);
- end(APPLY_ON);
- }
- end(APPLICABILITY_SCOPE);
- }
-
- protected void writeRequirementsChange(RequirementChange[] changes) {
- start(REQUIREMENT_CHANGES);
- for (int i = 0; i < changes.length; i++) {
- writeRequirementChange(changes[i]);
- }
- end(REQUIREMENT_CHANGES);
- }
-
- protected void writeRequirementChange(RequirementChange change) {
- start(REQUIREMENT_CHANGE);
- if (change.applyOn() != null) {
- start(REQUIREMENT_FROM);
- writeRequiredCapability(change.applyOn());
- end(REQUIREMENT_FROM);
- }
- if (change.newValue() != null) {
- start(REQUIREMENT_TO);
- writeRequiredCapability(change.newValue());
- end(REQUIREMENT_TO);
- }
- end(REQUIREMENT_CHANGE);
- }
-
- protected void writeRequiredCapability(RequiredCapability capability) {
- start(REQUIRED_CAPABILITY_ELEMENT);
- attribute(NAMESPACE_ATTRIBUTE, capability.getNamespace());
- attribute(NAME_ATTRIBUTE, capability.getName());
- attribute(VERSION_RANGE_ATTRIBUTE, capability.getRange());
- attribute(CAPABILITY_OPTIONAL_ATTRIBUTE, capability.isOptional(), false);
- attribute(CAPABILITY_MULTIPLE_ATTRIBUTE, capability.isMultiple(), false);
- attribute(CAPABILITY_GREED_ATTRIBUTE, capability.isGreedy(), true);
- writeTrimmedCdata(CAPABILITY_FILTER_ELEMENT, capability.getFilter());
-
- String[] selectors = capability.getSelectors();
- if (selectors.length > 0) {
- start(CAPABILITY_SELECTORS_ELEMENT);
- attribute(COLLECTION_SIZE_ATTRIBUTE, selectors.length);
- for (int j = 0; j < selectors.length; j++) {
- writeTrimmedCdata(CAPABILITY_SELECTOR_ELEMENT, selectors[j]);
- }
- end(CAPABILITY_SELECTORS_ELEMENT);
- }
-
- end(REQUIRED_CAPABILITY_ELEMENT);
- }
-
- protected void writeArtifactKeys(IArtifactKey[] artifactKeys) {
- if (artifactKeys != null && artifactKeys.length > 0) {
- start(ARTIFACT_KEYS_ELEMENT);
- attribute(COLLECTION_SIZE_ATTRIBUTE, artifactKeys.length);
- for (int i = 0; i < artifactKeys.length; i++) {
- start(ARTIFACT_KEY_ELEMENT);
- attribute(ARTIFACT_KEY_CLASSIFIER_ATTRIBUTE, artifactKeys[i].getClassifier());
- attribute(ID_ATTRIBUTE, artifactKeys[i].getId());
- attribute(VERSION_ATTRIBUTE, artifactKeys[i].getVersion());
- end(ARTIFACT_KEY_ELEMENT);
- }
- end(ARTIFACT_KEYS_ELEMENT);
- }
- }
-
- protected void writeTouchpointType(TouchpointType touchpointType) {
- start(TOUCHPOINT_TYPE_ELEMENT);
- attribute(ID_ATTRIBUTE, touchpointType.getId());
- attribute(VERSION_ATTRIBUTE, touchpointType.getVersion());
- end(TOUCHPOINT_TYPE_ELEMENT);
- }
-
- protected void writeTouchpointData(TouchpointData[] touchpointData) {
- if (touchpointData != null && touchpointData.length > 0) {
- start(TOUCHPOINT_DATA_ELEMENT);
- attribute(COLLECTION_SIZE_ATTRIBUTE, touchpointData.length);
- for (int i = 0; i < touchpointData.length; i++) {
- TouchpointData nextData = touchpointData[i];
- Map instructions = nextData.getInstructions();
- if (instructions.size() > 0) {
- start(TOUCHPOINT_DATA_INSTRUCTIONS_ELEMENT);
- attribute(COLLECTION_SIZE_ATTRIBUTE, instructions.size());
- for (Iterator iter = instructions.entrySet().iterator(); iter.hasNext();) {
- Map.Entry entry = (Map.Entry) iter.next();
- start(TOUCHPOINT_DATA_INSTRUCTION_ELEMENT);
- attribute(TOUCHPOINT_DATA_INSTRUCTION_KEY_ATTRIBUTE, entry.getKey());
- cdata((String) entry.getValue(), true);
- end(TOUCHPOINT_DATA_INSTRUCTION_ELEMENT);
- }
- }
- }
- end(TOUCHPOINT_DATA_ELEMENT);
- }
- }
-
- private void writeTrimmedCdata(String element, String filter) {
- String trimmed;
- if (filter != null && (trimmed = filter.trim()).length() > 0) {
- start(element);
- cdata(trimmed);
- end(element);
- }
- }
-
- private void writeLicenses(License license) {
- if (license != null) {
- // In the future there may be more than one license, so we write this
- // as a collection of one.
- // See bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=216911
- start(LICENSES_ELEMENT);
- attribute(COLLECTION_SIZE_ATTRIBUTE, 1);
- start(LICENSE_ELEMENT);
- if (license.getURL() != null)
- attribute(URL_ATTRIBUTE, license.getURL().toExternalForm());
- cdata(license.getBody(), true);
- end(LICENSE_ELEMENT);
- end(LICENSES_ELEMENT);
- }
- }
-
- private void writeCopyright(Copyright copyright) {
- if (copyright != null) {
- start(COPYRIGHT_ELEMENT);
- try {
- if (copyright.getURL() != null)
- attribute(URL_ATTRIBUTE, copyright.getURL().toExternalForm());
- } catch (IllegalStateException ise) {
- LogHelper.log(new Status(IStatus.INFO, Activator.ID, "Error writing the copyright URL: " + copyright.getURL())); //$NON-NLS-1$
- }
- cdata(copyright.getBody(), true);
- end(COPYRIGHT_ELEMENT);
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/io/XMLConstants.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/io/XMLConstants.java
deleted file mode 100644
index e7031c4..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/io/XMLConstants.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.repository.io;
-
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public interface XMLConstants extends org.eclipse.equinox.internal.p2.persistence.XMLConstants {
-
- // Constants defining the structure of the XML for metadata objects
-
- // A format version number for metadata XML.
- public static final Version CURRENT_VERSION = new Version(0, 0, 1);
- public static final VersionRange XML_TOLERANCE = new VersionRange(CURRENT_VERSION, true, new Version(2, 0, 0), false);
-
- // Constants for processing Instructions
- public static final String PI_METADATA_TARGET = "metadata"; //$NON-NLS-1$
-
- // Constants for metadata elements
- public static final String INSTALLABLE_UNITS_ELEMENT = "units"; //$NON-NLS-1$
- public static final String INSTALLABLE_UNIT_ELEMENT = "unit"; //$NON-NLS-1$
-
- //Constants for repository references
- public static final String REPOSITORY_REFERENCES_ELEMENT = "references"; //$NON-NLS-1$
- public static final String REPOSITORY_REFERENCE_ELEMENT = "repository"; //$NON-NLS-1$
- public static final String OPTIONS_ATTRIBUTE = "options"; //$NON-NLS-1$
-
- // Constants for sub-elements of an installable unit element
- public static final String ARTIFACT_KEYS_ELEMENT = "artifacts"; //$NON-NLS-1$
- public static final String ARTIFACT_KEY_ELEMENT = "artifact"; //$NON-NLS-1$
- public static final String REQUIRED_CAPABILITIES_ELEMENT = "requires"; //$NON-NLS-1$
- public static final String HOST_REQUIRED_CAPABILITIES_ELEMENT = "hostRequirements"; //$NON-NLS-1$
- public static final String REQUIRED_CAPABILITY_ELEMENT = "required"; //$NON-NLS-1$
- public static final String PROVIDED_CAPABILITIES_ELEMENT = "provides"; //$NON-NLS-1$
- public static final String PROVIDED_CAPABILITY_ELEMENT = "provided"; //$NON-NLS-1$
- public static final String TOUCHPOINT_TYPE_ELEMENT = "touchpoint"; //$NON-NLS-1$
- public static final String TOUCHPOINT_DATA_ELEMENT = "touchpointData"; //$NON-NLS-1$
- public static final String IU_FILTER_ELEMENT = "filter"; //$NON-NLS-1$
- public static final String UPDATE_DESCRIPTOR_ELEMENT = "update"; //$NON-NLS-1$
-
- public static final String APPLICABILITY_SCOPE = "patchScope"; //$NON-NLS-1$
- public static final String APPLY_ON = "scope"; //$NON-NLS-1$
- public static final String REQUIREMENT_CHANGES = "changes"; //$NON-NLS-1$
- public static final String REQUIREMENT_CHANGE = "change"; //$NON-NLS-1$
- public static final String REQUIREMENT_FROM = "from"; //$NON-NLS-1$
- public static final String REQUIREMENT_TO = "to"; //$NON-NLS-1$
- public static final String LIFECYCLE = "lifeCycle"; //$NON-NLS-1$
-
- // Constants for attributes of an installable unit element
- public static final String SINGLETON_ATTRIBUTE = "singleton"; //$NON-NLS-1$
- public static final String FRAGMENT_ATTRIBUTE = "fragment"; //$NON-NLS-1$
-
- // Constants for sub-elements of a required capability element
- public static final String CAPABILITY_FILTER_ELEMENT = "filter"; //$NON-NLS-1$
- public static final String CAPABILITY_SELECTORS_ELEMENT = "selectors"; //$NON-NLS-1$
- public static final String CAPABILITY_SELECTOR_ELEMENT = "selector"; //$NON-NLS-1$
-
- // Constants for attributes of a required capability element
- public static final String CAPABILITY_OPTIONAL_ATTRIBUTE = "optional"; //$NON-NLS-1$
- public static final String CAPABILITY_MULTIPLE_ATTRIBUTE = "multiple"; //$NON-NLS-1$
- public static final String CAPABILITY_GREED_ATTRIBUTE = "greedy"; //$NON-NLS-1$
-
- // Constants for attributes of an artifact key element
- public static final String ARTIFACT_KEY_CLASSIFIER_ATTRIBUTE = "classifier"; //$NON-NLS-1$
-
- // Constants for sub-elements of a touchpoint data element
- public static final String TOUCHPOINT_DATA_INSTRUCTIONS_ELEMENT = "instructions"; //$NON-NLS-1$
- public static final String TOUCHPOINT_DATA_INSTRUCTION_ELEMENT = "instruction"; //$NON-NLS-1$
-
- // Constants for attributes of an a touchpoint data instruction element
- public static final String TOUCHPOINT_DATA_INSTRUCTION_KEY_ATTRIBUTE = "key"; //$NON-NLS-1$
-
- // Constants for attributes of an update descriptor
- public static final String UPDATE_DESCRIPTOR_SEVERITY = "severity"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/messages.properties b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/messages.properties
deleted file mode 100644
index 343d627..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/messages.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-###############################################################################
-# Copyright (c) 2007, 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-io_failedRead=Unable to read repository at {0}
-io_IncompatibleVersion=\
-Metadata repository has incompatible version {0}; expected {1}
-io_parseError=\
-Error parsing metadata repository
-
-repo_loading = Loading the repository {0}
-
-repoMan_adding = Adding repository {0}
-repoMan_exists=Repository already exists at {0}
-repoMan_failedRead=The repository could not be read: {0}
-repoMan_internalError=Internal error
-repoMan_notExists=No repository found at {0}
-repoMan_unknownType=Unknown repository type at {0}
-repoMan_invalidLocation={0} is not a valid repository location
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/provisional/p2/metadata/repository/IMetadataRepository.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/provisional/p2/metadata/repository/IMetadataRepository.java
deleted file mode 100644
index 867fc84..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/provisional/p2/metadata/repository/IMetadataRepository.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata.repository;
-
-import java.net.URL;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.query.IQueryable;
-import org.eclipse.equinox.internal.provisional.p2.query.Query;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.AbstractMetadataRepository;
-
-/**
- * A metadata repository stores information about a set of installable units
- * <p>
- * This interface is not intended to be implemented by clients. Metadata repository
- * implementations must subclass {@link AbstractMetadataRepository} rather than
- * implementing this interface directly.
- * </p>
- */
-public interface IMetadataRepository extends IRepository, IQueryable {
-
- /**
- * Add the given installable units to this repository
- * @param installableUnits the installable units to add
- */
- public void addInstallableUnits(IInstallableUnit[] installableUnits);
-
- /**
- * Adds a reference to another repository to this repository. When a repository
- * is loaded by {@link IMetadataRepositoryManager}, its references
- * are automatically added to the repository manager's set of known repositories.
- * <p>
- * Note that this method does not add the <b>contents</b> of the given
- * repository to this repository, but merely adds the location of another
- * repository to the metadata of this repository.
- * <p>
- * The {@link IRepository#ENABLED} option flag controls whether the
- * referenced repository should be marked as enabled when added to the repository
- * manager. If this flag is set, the repository will be marked as enabled when
- * added to the repository manager. If this flag is missing, the repository will
- * be marked as disabled.
- *
- * @param location the location of the repository to add
- * @param type the repository type (currently either {@link IRepository#TYPE_METADATA}
- * or {@link IRepository#TYPE_ARTIFACT}).
- * @param options bit-wise or of option constants (currently either
- * {@link IRepository#ENABLED} or {@link IRepository#NONE}).
- * @see IMetadataRepositoryManager#setEnabled(URL, boolean)
- */
- public void addReference(URL location, int type, int options);
-
- /**
- * Removes all installable units that match the given query from this repository.
- *
- * @param query the installable units to remove
- * @param monitor a progress monitor, or <code>null</code> if progress
- * reporting is not desired
- * @return <code>true</code> if any units were actually removed, and
- * <code>false</code> otherwise
- */
- public boolean removeInstallableUnits(Query query, IProgressMonitor monitor);
-
- /**
- * Remove all installable units from this repository.
- */
- public void removeAll();
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/provisional/p2/metadata/repository/IMetadataRepositoryManager.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/provisional/p2/metadata/repository/IMetadataRepositoryManager.java
deleted file mode 100644
index d83f689..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/provisional/p2/metadata/repository/IMetadataRepositoryManager.java
+++ /dev/null
@@ -1,263 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata.repository;
-
-import java.net.URL;
-import java.util.Map;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.RepositoryEvent;
-import org.eclipse.equinox.internal.provisional.p2.query.IQueryable;
-
-/**
- * The metadata repository manager is used to create, access, and manipulate
- * {@link IMetadataRepository} instances. The manager keeps track of a
- * set of known repositories, and provides caching of these known repositories
- * to avoid unnecessary loading of repositories from the disk or network. The
- * manager fires {@link RepositoryEvent}s when the set of known repositories
- * changes.
- *
- * @noimplement This interface is not intended to be implemented by clients.
- */
-public interface IMetadataRepositoryManager extends IQueryable {
-
- /**
- * Constant used to indicate that all enabled repositories are of interest.
- */
- public static final int REPOSITORIES_ALL = 0;
-
- /**
- * Constant used to indicate that system repositories are of interest.
- * @see IRepository#PROP_SYSTEM
- * @see #getKnownRepositories(int)
- */
- public static final int REPOSITORIES_SYSTEM = 1 << 0;
-
- /**
- * Constant used to indicate that non-system repositories are of interest
- * @see IRepository#PROP_SYSTEM
- * @see #getKnownRepositories(int)
- */
- public static final int REPOSITORIES_NON_SYSTEM = 1 << 1;
-
- /**
- * Constant used to indicate that local repositories are of interest.
- * @see #getKnownRepositories(int)
- */
- public static final int REPOSITORIES_LOCAL = 1 << 2;
-
- /**
- * Constant used to indicate that disabled repositories are of interest.
- * @see #getKnownRepositories(int)
- */
- public static final int REPOSITORIES_DISABLED = 1 << 3;
-
- /**
- * Repository type for a simple repository based on a URL or local file system location.
- */
- public static final String TYPE_SIMPLE_REPOSITORY = "org.eclipse.equinox.p2.metadata.repository.simpleRepository"; //$NON-NLS-1$
-
- /**
- * Adds a repository to the list of metadata repositories tracked by the repository
- * manager.
- * @param location The location of the metadata repository to add
- */
- public void addRepository(URL location);
-
- /**
- * Creates and returns a new empty metadata repository of the given type at
- * the given location.
- * <p>
- * The resulting repository is added to the list of repositories tracked by
- * the repository manager. Clients must make a subsequent call to {@link #removeRepository(URL)}
- * if they do not want the repository manager to remember the repository for subsequent
- * load attempts.
- * </p>
- *
- * @param location the location for the new repository
- * @param name the name of the new repository
- * @param type the kind of repository to create
- * @param properties the properties to set on the repository
- * @return the newly created repository
- * @throws ProvisionException if the repository could not be created. Reasons include:
- * <ul>
- * <li>The repository type is unknown.</li>
- * <li>There was an error writing to the given repository location.</li>
- * <li>A repository already exists at that location.</li>
- * </ul>
- */
- public IMetadataRepository createRepository(URL location, String name, String type, Map properties) throws ProvisionException;
-
- /**
- * Returns the metadata repository locations known to the repository manager.
- * <p>
- * Note that the repository manager does not guarantee that a valid repository
- * exists at any of the returned locations at any particular moment in time.
- * A subsequent attempt to load a repository at any of the given locations may
- * or may not succeed.
- *
- * @param flags an integer bit-mask indicating which repositories should be
- * returned. <code>REPOSITORIES_ALL</code> can be used as the mask when
- * all enabled repositories should be returned. Where multiple masks are combined, only
- * the repositories that satisfy all the given criteria are returned. For example,
- * a flag value of (REPOSITORIES_SYSTEM|REPOSITORIES_LOCAL) will only
- * return repositories that are both system and local repositories.
- *
- * @return the locations of the repositories managed by this repository manager.
- *
- * @see #REPOSITORIES_ALL
- * @see #REPOSITORIES_SYSTEM
- * @see #REPOSITORIES_LOCAL
- * @see #REPOSITORIES_NON_SYSTEM
- * @see #REPOSITORIES_DISABLED
- */
- public URL[] getKnownRepositories(int flags);
-
- /**
- * Returns the property associated with the repository at the given URL,
- * without loading the repository.
- * <p>
- * Note that some properties for a repository can only be
- * determined when that repository is loaded. This method will return <code>null</code>
- * for such properties. Only values for the properties that are already
- * known by a repository manager will be returned.
- * <p>
- * If a client wishes to retrieve a property value from a repository
- * regardless of the cost of retrieving it, the client should load the
- * repository and then retrieve the property from the repository itself.
- *
- * @param location the URL of the repository in question
- * @param key the String key of the property desired
- * @return the value of the property, or <code>null</code> if the repository
- * does not exist, the value does not exist, or the property value
- * could not be determined without loading the repository.
- *
- * @see #loadRepository(URL, IProgressMonitor)
- * @see IRepository#getProperties()
- */
- public String getRepositoryProperty(URL location, String key);
-
- /**
- * Returns the enablement value of a repository. Disabled repositories are known
- * to the repository manager, but are never used in the context of provisioning
- * operation. Disabled repositories are useful as a form of bookmark to indicate that a
- * repository location is of interest, but not currently used.
- * <p>
- * Note that enablement is a property of the repository manager and not a property
- * of the affected repository. The enablement of the repository is discarded when
- * a repository is removed from the repository manager.
- *
- * @param location The location of the repository whose enablement is requested
- * @return <code>true</code> if the repository is enabled, and
- * <code>false</code> if it is not enabled, or if the repository location
- * is not known to the repository manager.
- * @see #REPOSITORIES_DISABLED
- * @see #setEnabled(URL, boolean)
- */
- public boolean isEnabled(URL location);
-
- /**
- * Loads a repository corresponding to the given URL. If a repository has
- * previously been loaded at the given location, the same cached repository
- * may be returned.
- * <p>
- * The resulting repository is added to the list of repositories tracked by
- * the repository manager. Clients must make a subsequent call to {@link #removeRepository(URL)}
- * if they do not want the repository manager to remember the repository for subsequent
- * load attempts.
- * </p>
- *
- * @param location The location of the repository to load
- * @param monitor a progress monitor, or <code>null</code> if progress
- * reporting is not desired
- * @return The loaded metadata repository
- * @throws ProvisionException if the repository could not be created. Reasons include:
- * <ul>
- * <li>There is no existing repository at that location.</li>
- * <li>The repository at that location could not be read.</li>
- * </ul>
- */
- public IMetadataRepository loadRepository(URL location, IProgressMonitor monitor) throws ProvisionException;
-
- /**
- * Refreshes the repository corresponding to the given URL. This method discards
- * any cached state held by the repository manager and reloads the repository
- * contents. The provided repository location must already be known to the repository
- * manager.
- *
- * @param location The location of the repository to refresh
- * @param monitor a progress monitor, or <code>null</code> if progress
- * reporting is not desired
- * @return The refreshed metadata repository
- * @throws ProvisionException if the repository could not be refreshed. Reasons include:
- * <ul>
- * <li>The location is not known to the repository manager.</li>
- * <li>There is no existing repository at that location.</li>
- * <li>The repository at that location could not be read.</li>
- * </ul>
- */
- public IMetadataRepository refreshRepository(URL location, IProgressMonitor monitor) throws ProvisionException;
-
- /**
- * Removes the metadata repository at the given location from the list of
- * metadata repositories tracked by the repository manager. The underlying
- * repository is not deleted.
- *
- * @param location The location of the repository to remove
- * @return <code>true</code> if a repository was removed, and
- * <code>false</code> otherwise.
- */
- public boolean removeRepository(URL location);
-
- /**
- * Sets the enablement of a repository. Disabled repositories are known
- * to the repository manager, but are never used in the context of provisioning
- * operation. Disabled repositories are useful as a form of bookmark to indicate that a
- * repository location is of interest, but not currently used.
- * <p>
- * Note that enablement is a property of the repository manager and not a property
- * of the affected repository. The enablement of the repository is discarded when
- * a repository is removed from the repository manager.
- * <p>
- * This method has no effect if the given repository location is not known to the
- * repository manager.
- *
- * @param location The location of the repository to enable or disable
- * @param enablement <code>true</code>to enable the repository, and
- * <code>false</code> to disable the repository
- * @see #REPOSITORIES_DISABLED
- * @see #isEnabled(URL)
- */
- public void setEnabled(URL location, boolean enablement);
-
- /**
- * Validates a given URL and returns a status indicating whether a valid repository is likely
- * to be found at the given URL. Callers must assume that the validity of a
- * repository location cannot be completely determined until an attempt to load
- * the repository is made.
- *
- * @param location The location of the repository to validate
- * @param monitor a progress monitor, or <code>null</code> if progress
- * reporting is not desired
- * @return A status indicating whether a valid repository is likely located at the
- * location. A status with severity <code>OK</code> indicates that the repository is
- * likely to be loadable, or that as much validation as could be done was successful.
- * Reasons for a non-OK status include:
- * <ul>
- * <li>The specified location is not a valid repository location.</li>
- * <li>There is no existing repository at that location.</li>
- * <li>The repository at that location could not be read.</li>
- * </ul>
- */
- public IStatus validateRepositoryLocation(URL location, IProgressMonitor monitor);
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/metadata/repository/AbstractMetadataRepository.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/metadata/repository/AbstractMetadataRepository.java
deleted file mode 100644
index 4ad53ad..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/metadata/repository/AbstractMetadataRepository.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository;
-
-import java.net.URL;
-import java.util.Map;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.query.Query;
-import org.eclipse.equinox.internal.provisional.spi.p2.core.repository.AbstractRepository;
-import org.osgi.framework.Version;
-
-/**
- * The common base class for all metadata repositories.
- * <p>
- * Clients may subclass this class.
- * <p>
- */
-public abstract class AbstractMetadataRepository extends AbstractRepository implements IMetadataRepository {
-
- public static class RepositoryState {
- public String Name;
- public String Type;
- public Version Version;
- public String Provider;
- public String Description;
- public URL Location;
- public Map Properties;
- public IInstallableUnit[] Units;
- public RepositoryReference[] Repositories;
- }
-
- public AbstractMetadataRepository() {
- super("noName", "noType", "noVersion", null, null, null, null); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
-
- public abstract void initialize(RepositoryState state);
-
- protected AbstractMetadataRepository(String name, String type, String version, URL location, String description, String provider, Map properties) {
- super(name, type, version, location, description, provider, properties);
- }
-
- public void addInstallableUnits(IInstallableUnit[] installableUnit) {
- assertModifiable();
- }
-
- public void addReference(URL repositoryLocation, int repositoryType, int options) {
- assertModifiable();
- }
-
- public void removeAll() {
- assertModifiable();
- }
-
- public boolean removeInstallableUnits(Query query, IProgressMonitor monitor) {
- assertModifiable();
- return false;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/metadata/repository/IMetadataRepositoryFactory.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/metadata/repository/IMetadataRepositoryFactory.java
deleted file mode 100644
index 203c1cb..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/metadata/repository/IMetadataRepositoryFactory.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository;
-
-import java.net.URL;
-import java.util.Map;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-
-public interface IMetadataRepositoryFactory {
-
- /**
- * Creates and returns a new empty metadata repository of the given type at
- * the given location.
- *
- * @param location the location for the new repository
- * @param name the name of the new repository
- * @param type the kind of repository to create
- * @param properties the properties to set on the repository
- * @return the newly created repository
- * @throws ProvisionException if the repository could not be created. Reasons include:
- * <ul>
- * <li>The repository type is not supported by this factory.</li>
- * <li>There was an error writing to the given repository location.</li>
- * </ul>
- */
- public IMetadataRepository create(URL location, String name, String type, Map properties) throws ProvisionException;
-
- /**
- * Loads a repository corresponding to the given URL.
- *
- * @param location The location of the repository to load
- * @param monitor a progress monitor, or <code>null</code> if progress
- * reporting is not desired
- * @return The loaded metadata repository
- * @throws ProvisionException if the repository could not be created. Reasons include:
- * <ul>
- * <li>There is no existing repository at that location.</li>
- * <li>The repository at that location could not be read.</li>
- * </ul>
- */
- public IMetadataRepository load(URL location, IProgressMonitor monitor) throws ProvisionException;
-
- /**
- * Validates a candidate repository URL and returns a status indicating the
- * likelihood of a valid repository being located at the location. Implementors
- * should make all attempts to validate the URL that can be made without
- * actually loading the repository. The computation for this method must be
- * significantly faster than loading the repository. Early detectable error
- * conditions, such as the non-existence of the location, or an inability to read
- * the location, should be determined in this method.
- *
- * @param location The location of the repository to validate
- * @param monitor a progress monitor, or <code>null</code> if progress
- * reporting is not desired
- * @return A status indicating whether a valid repository is likely located at the
- * location. A status with severity <code>OK</code> indicates that the repository is
- * likely to be loadable, or that as much validation as could be done was successful.
- * Reasons for a non-OK status include:
- * <ul>
- * <li>The specified location is not a valid repository location.</li>
- * <li>There is no existing repository at that location.</li>
- * <li>The repository at that location could not be read.</li>
- * </ul>
- */
- public IStatus validate(URL location, IProgressMonitor monitor);
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/metadata/repository/RepositoryReference.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/metadata/repository/RepositoryReference.java
deleted file mode 100644
index c9c985e..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/metadata/repository/RepositoryReference.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository;
-
-import java.net.URL;
-
-/**
- * Serialization helper class for repository references.
- */
-public class RepositoryReference {
- public URL Location;
- public int Type;
- public int Options;
-
- public RepositoryReference(URL location, int type, int options) {
- this.Location = location;
- this.Type = type;
- this.Options = options;
- }
-
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- RepositoryReference other = (RepositoryReference) obj;
- if (Location == null) {
- if (other.Location != null)
- return false;
- } else if (!Location.equals(other.Location))
- return false;
- if (Type != other.Type)
- return false;
- return true;
- }
-
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((Location == null) ? 0 : Location.hashCode());
- result = prime * result + Type;
- return result;
- }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/metadata/repository/SimpleMetadataRepositoryFactory.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/metadata/repository/SimpleMetadataRepositoryFactory.java
deleted file mode 100644
index d7bf003..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/metadata/repository/SimpleMetadataRepositoryFactory.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository;
-
-import java.io.*;
-import java.net.URL;
-import java.util.Map;
-import java.util.jar.JarEntry;
-import java.util.jar.JarInputStream;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.Tracing;
-import org.eclipse.equinox.internal.p2.metadata.repository.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.osgi.util.NLS;
-
-public class SimpleMetadataRepositoryFactory implements IMetadataRepositoryFactory {
-
- private static final String JAR_EXTENSION = ".jar"; //$NON-NLS-1$
- private static final String XML_EXTENSION = ".xml"; //$NON-NLS-1$
- private static final String PROTOCOL_FILE = "file"; //$NON-NLS-1$
-
- public IMetadataRepository create(URL location, String name, String type, Map properties) {
- if (location.getProtocol().equals("file")) //$NON-NLS-1$
- return new LocalMetadataRepository(location, name, properties);
- return new URLMetadataRepository(location, name, properties);
- }
-
- /**
- * Returns a file in the local file system that contains the contents of the
- * metadata repository at the given location.
- */
- private File getLocalFile(URL location, IProgressMonitor monitor) throws IOException, ProvisionException {
- File localFile = null;
- URL jarLocation = URLMetadataRepository.getActualLocation(location, JAR_EXTENSION);
- URL xmlLocation = URLMetadataRepository.getActualLocation(location, XML_EXTENSION);
- // If the repository is local, we can return the repository file directly
- if (PROTOCOL_FILE.equals(xmlLocation.getProtocol())) {
- //look for a compressed local file
- localFile = new File(jarLocation.getPath());
- if (localFile.exists())
- return localFile;
- //look for an uncompressed local file
- localFile = new File(xmlLocation.getPath());
- if (localFile.exists())
- return localFile;
- String msg = NLS.bind(Messages.io_failedRead, location);
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, msg, null));
- }
- //file is not local, create a cache of the repository metadata
- localFile = Activator.getCacheManager().createCache(location, monitor);
- if (localFile == null) {
- //there is no remote file in either form
- String msg = NLS.bind(Messages.io_failedRead, location);
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, msg, null));
- }
- return localFile;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.IMetadataRepositoryFactory#validate(java.net.URL, org.eclipse.core.runtime.IProgressMonitor)
- */
- public IStatus validate(URL location, IProgressMonitor monitor) {
- try {
- validateAndLoad(location, false, monitor);
- } catch (ProvisionException e) {
- return e.getStatus();
- }
- return Status.OK_STATUS;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.IMetadataRepositoryFactory#load(java.net.URL, org.eclipse.core.runtime.IProgressMonitor)
- */
- public IMetadataRepository load(URL location, IProgressMonitor monitor) throws ProvisionException {
- return validateAndLoad(location, true, monitor);
- }
-
- protected IMetadataRepository validateAndLoad(URL location, boolean doLoad, IProgressMonitor monitor) throws ProvisionException {
- long time = 0;
- final String debugMsg = "Validating and loading metadata repository "; //$NON-NLS-1$
- if (Tracing.DEBUG_METADATA_PARSING) {
- Tracing.debug(debugMsg + location);
- time = -System.currentTimeMillis();
- }
- SubMonitor sub = SubMonitor.convert(monitor, 400);
- try {
- File localFile = getLocalFile(location, sub.newChild(300));
- InputStream inStream = new BufferedInputStream(new FileInputStream(localFile));
- JarInputStream jarStream = null;
- try {
- //if reading from a jar, obtain a stream on the entry with the actual contents
- if (localFile.getAbsolutePath().endsWith(JAR_EXTENSION)) {
- jarStream = new JarInputStream(inStream);
- JarEntry jarEntry = jarStream.getNextJarEntry();
- String entryName = URLMetadataRepository.CONTENT_FILENAME + URLMetadataRepository.XML_EXTENSION;
- while (jarEntry != null && (!entryName.equals(jarEntry.getName()))) {
- jarEntry = jarStream.getNextJarEntry();
- }
- if (jarEntry == null)
- throw new FileNotFoundException(NLS.bind(Messages.repoMan_invalidLocation, location));
- }
- //parse the repository descriptor file
- sub.setWorkRemaining(100);
- if (doLoad) {
- InputStream descriptorStream = jarStream != null ? jarStream : inStream;
- IMetadataRepository result = new MetadataRepositoryIO().read(localFile.toURL(), descriptorStream, sub.newChild(100));
- if (result instanceof LocalMetadataRepository)
- ((LocalMetadataRepository) result).initializeAfterLoad(location);
- if (result instanceof URLMetadataRepository)
- ((URLMetadataRepository) result).initializeAfterLoad(location);
- if (Tracing.DEBUG_METADATA_PARSING) {
- time += System.currentTimeMillis();
- Tracing.debug(debugMsg + "time (ms): " + time); //$NON-NLS-1$
- }
- return result;
- }
- } finally {
- safeClose(jarStream);
- safeClose(inStream);
- }
- } catch (FileNotFoundException e) {
- String msg = NLS.bind(Messages.io_failedRead, location);
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, msg, e));
- } catch (IOException e) {
- String msg = NLS.bind(Messages.io_failedRead, location);
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_READ, msg, e));
- } finally {
- if (monitor != null)
- monitor.done();
- }
- return null;
- }
-
- /**
- * Closes a stream, ignoring any secondary exceptions
- */
- private void safeClose(InputStream stream) {
- if (stream == null)
- return;
- try {
- stream.close();
- } catch (IOException e) {
- //ignore
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/.classpath b/bundles/org.eclipse.equinox.p2.metadata/.classpath
deleted file mode 100644
index 7cdeb73..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.1%Foundation-1.1"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.metadata/.project b/bundles/org.eclipse.equinox.p2.metadata/.project
deleted file mode 100644
index 86f07f8..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.equinox.p2.metadata</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.metadata/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.metadata/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index ed5b63b..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,347 +0,0 @@
-#Mon Nov 05 17:01:21 EST 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.metadata/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.metadata/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 38d7fa9..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Mon Nov 05 17:01:21 EST 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.metadata/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.metadata/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 7913d20..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.metadata/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.metadata/META-INF/MANIFEST.MF
deleted file mode 100644
index d227408..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,78 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.metadata;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 1.0.0.qualifier
-Export-Package: org.eclipse.equinox.internal.p2.metadata;
- x-friends:="org.eclipse.equinox.p2.metadata.generator,
- org.eclipse.equinox.p2.metadata.repository,
- org.eclipse.equinox.p2.engine,
- org.eclipse.equinox.p2.artifact.repository,
- org.eclipse.equinox.p2.artifact.optimizers,
- org.eclipse.equinox.p2.artifact.processors,
- org.eclipse.equinox.p2.ui",
- org.eclipse.equinox.internal.provisional.p2.metadata;
- x-friends:="org.eclipse.equinox.p2.artifact.optimizers,
- org.eclipse.equinox.p2.artifact.processors,
- org.eclipse.equinox.p2.artifact.repository,
- org.eclipse.equinox.p2.console,
- org.eclipse.equinox.p2.core,
- org.eclipse.equinox.p2.director,
- org.eclipse.equinox.p2.director.app,
- org.eclipse.equinox.p2.directorywatcher,
- org.eclipse.equinox.p2.engine,
- org.eclipse.equinox.p2.exemplarysetup,
- org.eclipse.equinox.p2.extensionlocation,
- org.eclipse.equinox.p2.garbagecollector,
- org.eclipse.equinox.p2.installer,
- org.eclipse.equinox.p2.jarprocessor,
- org.eclipse.equinox.p2.metadata,
- org.eclipse.equinox.p2.metadata.generator,
- org.eclipse.equinox.p2.metadata.repository,
- org.eclipse.equinox.p2.reconciler.dropins,
- org.eclipse.equinox.p2.touchpoint.eclipse,
- org.eclipse.equinox.p2.touchpoint.natives,
- org.eclipse.equinox.p2.ui,
- org.eclipse.equinox.p2.ui.sdk,
- org.eclipse.equinox.p2.updatechecker,
- org.eclipse.equinox.p2.updatesite,
- org.eclipse.equinox.p2.ui.admin,
- org.eclipse.pde.p2.ui",
- org.eclipse.equinox.internal.provisional.p2.metadata.query;
- x-friends:="org.eclipse.equinox.p2.artifact.optimizers,
- org.eclipse.equinox.p2.artifact.processors,
- org.eclipse.equinox.p2.artifact.repository,
- org.eclipse.equinox.p2.core,
- org.eclipse.equinox.p2.director,
- org.eclipse.equinox.p2.director.app,
- org.eclipse.equinox.p2.directorywatcher,
- org.eclipse.equinox.p2.engine,
- org.eclipse.equinox.p2.exemplarysetup,
- org.eclipse.equinox.p2.extensionlocation,
- org.eclipse.equinox.p2.garbagecollector,
- org.eclipse.equinox.p2.installer,
- org.eclipse.equinox.p2.jarprocessor,
- org.eclipse.equinox.p2.metadata,
- org.eclipse.equinox.p2.metadata.generator,
- org.eclipse.equinox.p2.metadata.repository,
- org.eclipse.equinox.p2.reconciler.dropins,
- org.eclipse.equinox.p2.touchpoint.eclipse,
- org.eclipse.equinox.p2.touchpoint.natives,
- org.eclipse.equinox.p2.ui,
- org.eclipse.equinox.p2.ui.admin,
- org.eclipse.equinox.p2.ui.admin.rcp,
- org.eclipse.equinox.p2.ui.sdk,
- org.eclipse.equinox.p2.updatechecker,
- org.eclipse.equinox.p2.updatesite,
- org.eclipse.equinox.p2.console"
-Import-Package: org.eclipse.osgi.service.resolver;version="1.1.0",
- org.eclipse.osgi.util;version="1.1.0",
- org.osgi.framework;version="1.3.0"
-Bundle-Activator: org.eclipse.equinox.internal.p2.metadata.MetadataActivator
-Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
- J2SE-1.4
-Require-Bundle: org.eclipse.equinox.common,
- org.eclipse.equinox.p2.core
diff --git a/bundles/org.eclipse.equinox.p2.metadata/about.html b/bundles/org.eclipse.equinox.p2.metadata/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 2, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.metadata/build.properties b/bundles/org.eclipse.equinox.p2.metadata/build.properties
deleted file mode 100644
index a6b8330..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- about.html,\
- plugin.properties
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.p2.metadata/plugin.properties b/bundles/org.eclipse.equinox.p2.metadata/plugin.properties
deleted file mode 100644
index 45dee75..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Equinox Provisioning Metadata
-providerName = Eclipse.org
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/ArtifactKey.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/ArtifactKey.java
deleted file mode 100644
index ab018b9..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/ArtifactKey.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata;
-
-import java.util.ArrayList;
-import java.util.StringTokenizer;
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-import org.osgi.framework.Version;
-
-/**
- * The concrete type for representing IArtifactKey's.
- * <p>
- * See {link IArtifact for a description of the lifecycle of artifact keys)
- */
-public class ArtifactKey implements IArtifactKey {
- private static final String SEPARATOR = ","; //$NON-NLS-1$
-
- private final String id;
- private final String classifier;
- private final Version version;
-
- private static String[] getArrayFromList(String stringList, String separator) {
- if (stringList == null || stringList.trim().length() == 0)
- return new String[0];
- ArrayList list = new ArrayList();
- boolean separatorSeen = true;
- StringTokenizer tokens = new StringTokenizer(stringList, separator, true);
- while (tokens.hasMoreTokens()) {
- String token = tokens.nextToken().trim();
- if (token.equals(separator)) {
- if (separatorSeen)
- list.add(""); //$NON-NLS-1$
- separatorSeen = true;
- } else {
- separatorSeen = false;
- if (token.length() != 0)
- list.add(token);
- }
- }
- if (separatorSeen)
- list.add(""); //$NON-NLS-1$
- return (String[]) list.toArray(new String[list.size()]);
- }
-
- public static IArtifactKey parse(String specification) {
- String[] parts = getArrayFromList(specification, SEPARATOR);
- if (parts.length < 2 || parts.length > 3)
- throw new IllegalArgumentException("Unexpected number of parts in artifact key: " + specification); //$NON-NLS-1$
- Version version = Version.emptyVersion;
- if (parts.length == 3 && parts[2].trim().length() > 0)
- version = Version.parseVersion(parts[2]);
- try {
- return new ArtifactKey(parts[0], parts[1], version);
- } catch (IllegalArgumentException e) {
- throw (IllegalArgumentException) new IllegalArgumentException("Wrong version syntax in artifact key: " + specification).initCause(e); //$NON-NLS-1$
- }
- }
-
- public ArtifactKey(String classifier, String id, Version version) {
- super();
- Assert.isNotNull(classifier);
- Assert.isNotNull(id);
- Assert.isNotNull(version);
- if (classifier.indexOf(SEPARATOR) != -1)
- throw new IllegalArgumentException("comma not allowed in classifier"); //$NON-NLS-1$
- if (id.indexOf(SEPARATOR) != -1)
- throw new IllegalArgumentException("comma not allowed in id"); //$NON-NLS-1$
- this.classifier = classifier;
- this.id = id;
- this.version = version;
- }
-
- public String getClassifier() {
- return classifier;
- }
-
- public Version getVersion() {
- return version;
- }
-
- public int hashCode() {
- int hash = id.hashCode();
- hash = 17 * hash + getVersion().hashCode();
- hash = 17 * hash + classifier.hashCode();
- return hash;
- }
-
- public String toString() {
- return id + '/' + classifier + '/' + getVersion();
- }
-
- public boolean equals(Object obj) {
- if (!(obj instanceof IArtifactKey))
- return false;
- IArtifactKey ak = (IArtifactKey) obj;
- return ak.getId().equals(id) && ak.getVersion().equals(getVersion()) && ak.getClassifier().equals(classifier);
- }
-
- public String getId() {
- return id;
- }
-
- public String toExternalForm() {
- StringBuffer data = new StringBuffer(classifier).append(SEPARATOR);
- data.append(id).append(SEPARATOR);
- data.append(version.toString());
- return data.toString();
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/InstallableUnit.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/InstallableUnit.java
deleted file mode 100644
index cc60f6b..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/InstallableUnit.java
+++ /dev/null
@@ -1,301 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Genuitec, LLC - added license support
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata;
-
-import java.util.ArrayList;
-import java.util.Map;
-import org.eclipse.equinox.internal.p2.core.helpers.OrderedProperties;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.osgi.framework.Version;
-
-public class InstallableUnit implements IInstallableUnit {
-
- private static final OrderedProperties NO_PROPERTIES = new OrderedProperties();
- private static final ProvidedCapability[] NO_PROVIDES = new ProvidedCapability[0];
- private static final RequiredCapability[] NO_REQUIRES = new RequiredCapability[0];
- private static final TouchpointData[] NO_TOUCHPOINT_DATA = new TouchpointData[0];
-
- String applicabilityFilter;
- private IArtifactKey[] artifacts;
- private String filter;
-
- private String id;
-
- private OrderedProperties properties;
- private OrderedProperties localizedProperties;
- ProvidedCapability[] providedCapabilities = NO_PROVIDES;
- private RequiredCapability[] requires;
-
- private boolean singleton;
-
- private ArrayList touchpointData = null;
-
- private TouchpointType touchpointType;
-
- private Version version;
-
- private IUpdateDescriptor updateInfo;
- private License license;
- private Copyright copyright;
-
- public InstallableUnit() {
- super();
- }
-
- public void addProperties(Map newProperties) {
- if (properties == null)
- properties = new OrderedProperties(newProperties.size());
- properties.putAll(newProperties);
- }
-
- protected void addProvidedCapability(ProvidedCapability capability) {
- if (providedCapabilities != null && providedCapabilities.length > 0) {
- ProvidedCapability[] result = new ProvidedCapability[providedCapabilities.length + 1];
- result[0] = capability;
- System.arraycopy(providedCapabilities, 0, result, 1, providedCapabilities.length);
- providedCapabilities = result;
- } else {
- providedCapabilities = new ProvidedCapability[] {capability};
- }
- }
-
- public void addTouchpointData(TouchpointData newData) {
- ensureTouchpointDataCapacity(1);
- touchpointData.add(newData);
- }
-
- public int compareTo(Object toCompareTo) {
- if (!(toCompareTo instanceof IInstallableUnit)) {
- return -1;
- }
- IInstallableUnit other = (IInstallableUnit) toCompareTo;
- if (getId().compareTo(other.getId()) == 0)
- return (getVersion().compareTo(other.getVersion()));
- return getId().compareTo(other.getId());
- }
-
- private void ensureTouchpointDataCapacity(int size) {
- if (touchpointData != null) {
- touchpointData.ensureCapacity(size);
- } else {
- touchpointData = new ArrayList(size);
- }
- }
-
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (!(obj instanceof IInstallableUnit))
- return false;
- final IInstallableUnit other = (IInstallableUnit) obj;
- if (id == null) {
- if (other.getId() != null)
- return false;
- } else if (!id.equals(other.getId()))
- return false;
- if (getVersion() == null) {
- if (other.getVersion() != null)
- return false;
- } else if (!getVersion().equals(other.getVersion()))
- return false;
- return true;
- }
-
- public String getApplicabilityFilter() {
- return applicabilityFilter;
- }
-
- public IArtifactKey[] getArtifacts() {
- return artifacts;
- }
-
- public String getFilter() {
- return filter;
- }
-
- public IInstallableUnitFragment[] getFragments() {
- return null;
- }
-
- public String getId() {
- return id;
- }
-
- /**
- * Get an <i>unmodifiable copy</i> of the properties
- * associated with the installable unit.
- *
- * @return an <i>unmodifiable copy</i> of the IU properties.
- */
- public Map getProperties() {
- return OrderedProperties.unmodifiableProperties(properties());
- }
-
- /*
- * Helper method to cache localized properties
- */
- public String getLocalizedProperty(String key) {
- String result = null;
- if (localizedProperties != null)
- result = localizedProperties.getProperty(key);
- return result;
- }
-
- public String getProperty(String key) {
- return properties().getProperty(key);
- }
-
- public ProvidedCapability[] getProvidedCapabilities() {
- return (providedCapabilities != null ? providedCapabilities : NO_PROVIDES);
- }
-
- public RequiredCapability[] getRequiredCapabilities() {
- return requires != null ? requires : NO_REQUIRES;
-
- }
-
- public TouchpointData[] getTouchpointData() {
- return (touchpointData == null ? NO_TOUCHPOINT_DATA //
- : (TouchpointData[]) touchpointData.toArray(new TouchpointData[touchpointData.size()]));
- }
-
- public TouchpointType getTouchpointType() {
- return touchpointType != null ? touchpointType : TouchpointType.NONE;
- }
-
- public Version getVersion() {
- return version;
- }
-
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((id == null) ? 0 : id.hashCode());
- result = prime * result + ((getVersion() == null) ? 0 : getVersion().hashCode());
- return result;
- }
-
- public boolean isFragment() {
- return false;
- }
-
- public boolean isResolved() {
- return false;
- }
-
- public boolean isSingleton() {
- return singleton;
- }
-
- private OrderedProperties properties() {
- return (properties != null ? properties : NO_PROPERTIES);
- }
-
- public void setApplicabilityFilter(String ldapFilter) {
- applicabilityFilter = ldapFilter;
- }
-
- public void setArtifacts(IArtifactKey[] value) {
- artifacts = value;
- }
-
- public void setCapabilities(ProvidedCapability[] exportedCapabilities) {
- providedCapabilities = exportedCapabilities;
- }
-
- public void setFilter(String filter) {
- this.filter = filter;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- // TODO: resolve the schizophrenia between the singleton immutable data
- // and the public returned touchpoint data array.
- public void setImmutableTouchpointData(TouchpointData immutableData) {
- ensureTouchpointDataCapacity(4);
- touchpointData.add(immutableData);
- }
-
- /*
- * Helper method to cache localized properties
- */
- public String setLocalizedProperty(String key, String value) {
- if (localizedProperties == null)
- localizedProperties = new OrderedProperties();
- return (String) localizedProperties.put(key, value);
- }
-
- public String setProperty(String key, String value) {
- if (value == null)
- return (properties != null ? (String) properties.remove(key) : null);
- if (properties == null)
- properties = new OrderedProperties();
- return (String) properties.setProperty(key, value);
- }
-
- public void setRequiredCapabilities(RequiredCapability[] capabilities) {
- if (capabilities == NO_REQUIRES) {
- this.requires = null;
- } else {
- //copy array for safety
- this.requires = (RequiredCapability[]) capabilities.clone();
- }
- }
-
- public void setSingleton(boolean singleton) {
- this.singleton = singleton;
- }
-
- public void setTouchpointType(TouchpointType type) {
- this.touchpointType = (type != TouchpointType.NONE ? type : null);
- }
-
- public void setVersion(Version newVersion) {
- this.version = (newVersion != null ? newVersion : Version.emptyVersion);
- }
-
- public String toString() {
- return id + ' ' + getVersion();
- }
-
- public IInstallableUnit unresolved() {
- return this;
- }
-
- public IUpdateDescriptor getUpdateDescriptor() {
- return updateInfo;
- }
-
- public void setUpdateDescriptor(IUpdateDescriptor updateInfo) {
- this.updateInfo = updateInfo;
- }
-
- public void setLicense(License license) {
- this.license = license;
- }
-
- public License getLicense() {
- return license;
- }
-
- public void setCopyright(Copyright copyright) {
- this.copyright = copyright;
- }
-
- public Copyright getCopyright() {
- return copyright;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/InstallableUnitFragment.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/InstallableUnitFragment.java
deleted file mode 100644
index 7c8b725..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/InstallableUnitFragment.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnitFragment;
-import org.eclipse.equinox.internal.provisional.p2.metadata.RequiredCapability;
-
-public class InstallableUnitFragment extends InstallableUnit implements IInstallableUnitFragment {
-
- private RequiredCapability[] hostRequirements;
-
- public InstallableUnitFragment() {
- super();
- }
-
- public void setHost(RequiredCapability[] hostRequirements) {
- if (hostRequirements == null)
- return;
- this.hostRequirements = hostRequirements;
- addRequiredCapability(hostRequirements);
- }
-
- private void addRequiredCapability(RequiredCapability[] toAdd) {
- RequiredCapability[] current = super.getRequiredCapabilities();
- RequiredCapability[] result = new RequiredCapability[current.length + toAdd.length];
- System.arraycopy(current, 0, result, 0, current.length);
- System.arraycopy(toAdd, 0, result, current.length, toAdd.length);
- setRequiredCapabilities(result);
- }
-
- public boolean isFragment() {
- return true;
- }
-
- public RequiredCapability[] getHost() {
- return hostRequirements;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/Messages.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/Messages.java
deleted file mode 100644
index 76db563..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/Messages.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.metadata.messages"; //$NON-NLS-1$
-
- static {
- // load message values from bundle file and assign to fields below
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/MetadataActivator.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/MetadataActivator.java
deleted file mode 100644
index efa03e3..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/MetadataActivator.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class MetadataActivator implements BundleActivator {
- public static final String PI_METADATA = "org.eclipse.equinox.p2.metadata"; //$NON-NLS-1$
- public static BundleContext context;
-
- public static BundleContext getContext() {
- return context;
- }
-
- public void start(BundleContext aContext) throws Exception {
- MetadataActivator.context = aContext;
- }
-
- public void stop(BundleContext aContext) throws Exception {
- MetadataActivator.context = null;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/ResolvedInstallableUnit.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/ResolvedInstallableUnit.java
deleted file mode 100644
index 821cea3..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/ResolvedInstallableUnit.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Genuitec, LLC - added license support
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata;
-
-import java.util.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.osgi.framework.Version;
-
-public class ResolvedInstallableUnit implements IInstallableUnit {
- private static IInstallableUnit[] NO_IU = new IInstallableUnit[0];
-
- private IInstallableUnit[] fragments = NO_IU;
- protected IInstallableUnit original;
-
- public ResolvedInstallableUnit(IInstallableUnit resolved) {
- this.original = resolved;
- }
-
- public ResolvedInstallableUnit(IInstallableUnit resolved, IInstallableUnitFragment[] fragments) {
- this.original = resolved;
- this.fragments = fragments;
- }
-
- public IInstallableUnitFragment[] getFragments() {
- ArrayList result = new ArrayList();
- if (fragments != null)
- result.addAll(Arrays.asList(fragments));
- for (int i = 0; i < result.size(); i++) {
- IInstallableUnit fragment = (IInstallableUnit) result.get(i);
- if (fragment.isResolved())
- result.addAll(Arrays.asList(fragment.getFragments()));
- }
- return (IInstallableUnitFragment[]) result.toArray(new IInstallableUnitFragment[result.size()]);
- }
-
- public IArtifactKey[] getArtifacts() {
- return original.getArtifacts();
- }
-
- public String getFilter() {
- return original.getFilter();
- }
-
- public String getId() {
- return original.getId();
- }
-
- public String getProperty(String key) {
- return original.getProperty(key);
- }
-
- public Map getProperties() {
- return original.getProperties();
- }
-
- public ProvidedCapability[] getProvidedCapabilities() {
- ArrayList result = new ArrayList();
- result.addAll(Arrays.asList(original.getProvidedCapabilities()));
- for (int i = 0; i < fragments.length; i++) {
- result.addAll(Arrays.asList(fragments[i].getProvidedCapabilities()));
- }
- return original.getProvidedCapabilities();
- }
-
- public RequiredCapability[] getRequiredCapabilities() {
- ArrayList result = new ArrayList();
- result.addAll(Arrays.asList(original.getRequiredCapabilities()));
- for (int i = 0; i < fragments.length; i++) {
- result.addAll(Arrays.asList(fragments[i].getRequiredCapabilities()));
- }
- return (RequiredCapability[]) result.toArray(new RequiredCapability[result.size()]);
-
- }
-
- public TouchpointData[] getTouchpointData() {
- ArrayList result = new ArrayList();
- result.addAll(Arrays.asList(original.getTouchpointData()));
- for (int i = 0; i < fragments.length; i++) {
- TouchpointData[] data = fragments[i].getTouchpointData();
- for (int j = 0; j < data.length; j++) {
- result.add(data[j]);
- }
- }
- return (TouchpointData[]) result.toArray(new TouchpointData[result.size()]);
- }
-
- public TouchpointType getTouchpointType() {
- return original.getTouchpointType();
- }
-
- public Version getVersion() {
- return original.getVersion();
- }
-
- public boolean isFragment() {
- return original.isFragment();
- }
-
- public boolean isSingleton() {
- return original.isSingleton();
- }
-
- public boolean equals(Object obj) {
- //TODO This is pretty ugly....
- boolean result = original.equals(obj);
- if (result)
- return true;
- if (obj instanceof ResolvedInstallableUnit)
- return original.equals(((ResolvedInstallableUnit) obj).original);
- return false;
- }
-
- public int hashCode() {
- // TODO Auto-generated method stub
- return original.hashCode();
- }
-
- public String toString() {
- return "[R]" + original.toString(); //$NON-NLS-1$
- }
-
- public IInstallableUnit getOriginal() {
- return original;
- }
-
- public int compareTo(Object toCompareTo) {
- if (!(toCompareTo instanceof IInstallableUnit)) {
- return -1;
- }
- IInstallableUnit other = (IInstallableUnit) toCompareTo;
- if (getId().compareTo(other.getId()) == 0)
- return (getVersion().compareTo(other.getVersion()));
- return getId().compareTo(other.getId());
- }
-
- public boolean isResolved() {
- return true;
- }
-
- public IInstallableUnit unresolved() {
- return original.unresolved();
- }
-
- public IUpdateDescriptor getUpdateDescriptor() {
- return original.getUpdateDescriptor();
- }
-
- public License getLicense() {
- return original.getLicense();
- }
-
- public Copyright getCopyright() {
- return original.getCopyright();
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/UpdateDescriptor.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/UpdateDescriptor.java
deleted file mode 100644
index e379219..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/UpdateDescriptor.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IUpdateDescriptor;
-import org.eclipse.osgi.service.resolver.VersionRange;
-
-public class UpdateDescriptor implements IUpdateDescriptor {
- private String description;
- private String id;
- private VersionRange range;
- private int severity;
-
- public UpdateDescriptor(String id, VersionRange range, int severity, String description) {
- this.id = id;
- this.range = range;
- this.severity = severity;
- this.description = description;
- }
-
- public String getDescription() {
- return description;
- }
-
- public String getId() {
- return id;
- }
-
- public VersionRange getRange() {
- return range;
- }
-
- public int getSeverity() {
- return severity;
- }
-
- public boolean isUpdateOf(IInstallableUnit iu) {
- if (!id.equals(iu.getId()))
- return false;
- if (range.isIncluded(iu.getVersion()))
- return true;
- return false;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/messages.properties b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/messages.properties
deleted file mode 100644
index 0e009a2..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/messages.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-
-
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/Copyright.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/Copyright.java
deleted file mode 100644
index f4d1548..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/Copyright.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-/**
- * The <code>Copyright</code> class represents a software copyright. A copyright has
- * required body text which may be the full text or an annotation. An optional URL field can be specified
- * which links to full text.
- */
-public class Copyright {
- /**
- * The <code>body</code> contains the descriptive text for the coypright. This may
- * be a summary for a copyright specified in a URL.
- */
- private final String body;
-
- /**
- * The <code>url</code> is the URL of the copyright.
- */
- private URL url;
-
- /**
- * Creates a new copyright.
- * The body should contain the full text of the copyright.
- * @param urlString the string describing the URL of the full copyright text, may be <code>null</code>
- * @param body the copyright body, cannot be <code>null</code>
- * @throws IllegalArgumentException when the <code>body</code> is <code>null</code>
- */
- public Copyright(String urlString, String body) {
- if (body == null)
- throw new IllegalArgumentException("body cannot be null"); //$NON-NLS-1$
- if (urlString != null)
- try {
- url = new URL(urlString);
- } catch (MalformedURLException e) {
- url = null;
- }
- this.body = body;
- }
-
- /**
- * Returns the URL containing the full description of the license.
- * May be <code>null</code>.
- */
- public URL getURL() {
- return url;
- }
-
- /**
- * Returns the license body.
- * @return the license body, never <code>null</code>
- */
- public String getBody() {
- return body;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IArtifactKey.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IArtifactKey.java
deleted file mode 100644
index 0fac719..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IArtifactKey.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata;
-
-import org.osgi.framework.Version;
-
-/**
- * Provide standardized artifact information to uniquely identify the
- * corresponding bytes (perhaps not stored as a file).
- * <p>
- * Artifact keys represent both a unique opaque identifier as well as structured
- * and standardized pieces of information.
- */
-
-public interface IArtifactKey {
-
- /**
- * Returns the classifier for this artifact key. The returned value can be empty.
- * @return the classifier segment of the key.
- */
- public String getClassifier();
-
- /**
- * Returns the id for this artifact key. The returned value can be empty.
- * @return the classifier segment of the key.
- */
- public String getId();
-
- /**
- * Returns the version for this artifact key.
- * @return the version segment of the key.
- */
- public Version getVersion();
-
- /**
- * Returns the canonical string form of this artifact key.
- * @return the canonical string representing this key
- */
- public String toExternalForm();
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IInstallableUnit.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IInstallableUnit.java
deleted file mode 100644
index 3e43966..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IInstallableUnit.java
+++ /dev/null
@@ -1,250 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Genuitec, LLC - added license support
- ******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata;
-
-import java.util.Map;
-import org.osgi.framework.Version;
-
-public interface IInstallableUnit extends Comparable {
-
- /**
- * A capability namespace representing a particular profile flavor.
- */
- public static final String NAMESPACE_FLAVOR = "org.eclipse.equinox.p2.flavor"; //$NON-NLS-1$
-
- /**
- * A capability namespace representing a particular InstallableUnit by id.
- * Each InstallableUnit automatically provides a capability in this namespace representing
- * itself, and other InstallableUnits can require such a capability to state that they
- * require a particular InstallableUnit to be present.
- *
- * @see IInstallableUnit#getId()
- */
- public static final String NAMESPACE_IU_ID = "org.eclipse.equinox.p2.iu"; //$NON-NLS-1$
-
- /**
- * A property key (value <code>"org.eclipse.equinox.p2.partial.iu"</code>) for a
- * boolean property indicating the IU is generated from incomplete information and
- * should be replaced by the complete IU if available.
- *
- * @see #getProperty(String)
- */
- public static final String PROP_PARTIAL_IU = "org.eclipse.equinox.p2.partial.iu"; //$NON-NLS-1$
-
- /**
- * A property key (value <code>"org.eclipse.equinox.p2.type.profile"</code>) for a
- * boolean property indicating that an installable unit is a profile.
- *
- * @see #getProperty(String)
- */
- public static final String PROP_TYPE_PROFILE = "org.eclipse.equinox.p2.type.profile"; //$NON-NLS-1$
-
- /**
- * A property key (value <code>"org.eclipse.equinox.p2.type.category"</code>) for a
- * boolean property indicating that an installable unit is a category.
- *
- * @see #getProperty(String)
- */
- public static final String PROP_TYPE_CATEGORY = "org.eclipse.equinox.p2.type.category"; //$NON-NLS-1$
-
- /**
- * A property key (value <code>"org.eclipse.equinox.p2.type.fragment"</code>) for a
- * boolean property indicating that an installable unit is a fragment.
- *
- * @see #getProperty(String)
- */
- public static final String PROP_TYPE_FRAGMENT = "org.eclipse.equinox.p2.type.fragment"; //$NON-NLS-1$
-
- /**
- * A property key (value <code>"org.eclipse.equinox.p2.type.group"</code>) for a
- * boolean property indicating that an installable unit is a group.
- *
- * @see #getProperty(String)
- */
- public static final String PROP_TYPE_GROUP = "org.eclipse.equinox.p2.type.group"; //$NON-NLS-1$
-
- /**
- * A property key (value <code>"org.eclipse.equinox.p2.type.patch"</code>) for a
- * boolean property indicating that an installable unit is a group.
- *
- * @see #getProperty(String)
- */
- public static final String PROP_TYPE_PATCH = "org.eclipse.equinox.p2.type.patch"; //$NON-NLS-1$
-
- /**
- * A property key (value <code>"org.eclipse.equinox.p2.type.lock"</code>) for an
- * integer property indicating how an installable unit is locked in its profile.
- * The integer is a bit-mask indicating the different locks defined on the installable
- * unit. The property should be obtained from a profile using
- * IProfile#getInstallableUnitProperty(IInstallableUnit, String).
- *
- * @see #LOCK_UNINSTALL
- * @see #LOCK_UPDATE
- * @see #LOCK_NONE
- */
- public static final String PROP_PROFILE_LOCKED_IU = "org.eclipse.equinox.p2.type.lock"; //$NON-NLS-1$
-
- //TODO Move to UI
- public static final String PROP_PROFILE_ROOT_IU = "org.eclipse.equinox.p2.type.root"; //$NON-NLS-1$
-
- /**
- * A property key (value <code>"org.eclipse.equinox.p2.contact"</code>) for a
- * String property containing a contact address where problems can be reported,
- * such as an email address.
- *
- * @see #getProperty(String)
- */
- public static final String PROP_CONTACT = "org.eclipse.equinox.p2.contact"; //$NON-NLS-1$
- /**
- * A property key (value <code>"org.eclipse.equinox.p2.description"</code>) for a
- * String property containing a human-readable description of the installable unit.
- *
- * @see #getProperty(String)
- */
- public static final String PROP_DESCRIPTION = "org.eclipse.equinox.p2.description"; //$NON-NLS-1$
-
- /**
- * A property key (value <code>"org.eclipse.equinox.p2.description.url"</code>) for a
- * String property containing a URL to the description of the installable unit.
- *
- * @see #getProperty(String)
- */
- public static final String PROP_DESCRIPTION_URL = "org.eclipse.equinox.p2.description.url"; //$NON-NLS-1$
- /**
- * A property key (value <code>"org.eclipse.equinox.p2.doc.url"</code>) for a
- * String property containing a URL for documentation about the installable unit.
- *
- * @see #getProperty(String)
- */
- public static final String PROP_DOC_URL = "org.eclipse.equinox.p2.doc.url"; //$NON-NLS-1$
-
- /**
- * A property key (value <code>"org.eclipse.equinox.p2.name"</code>) for a
- * String property containing a human-readable name for the installable unit.
- *
- * @see #getProperty(String)
- */
- public static final String PROP_NAME = "org.eclipse.equinox.p2.name"; //$NON-NLS-1$
- /**
- * A property key (value <code>"org.eclipse.equinox.p2.provider"</code>) for a
- * String property containing information about the vendor or provider of the
- * installable unit.
- *
- * @see #getProperty(String)
- */
- public static final String PROP_PROVIDER = "org.eclipse.equinox.p2.provider"; //$NON-NLS-1$
-
- /**
- * Constant used to indicate that an installable unit is not locked in anyway.
- * @see #PROP_PROFILE_LOCKED_IU
- */
- public static int LOCK_NONE = 0;
- /**
- * Constant used to indicate that an installable unit is locked so that it may
- * not be uninstalled.
- * @see #PROP_PROFILE_LOCKED_IU
- */
- public static int LOCK_UNINSTALL = 1 << 0;
- /**
- * Constant used to indicate that an installable unit is locked so that it may
- * not be updated. updates.
- * @see #PROP_PROFILE_LOCKED_IU
- */
- public static int LOCK_UPDATE = 1 << 1;
-
- public IArtifactKey[] getArtifacts();
-
- /**
- * Returns the filter on this installable unit. The filter is matched against
- * the selection context of the profile the unit is installed into. An IU will not
- * be installed if it has a filter condition that is not satisfied by the context.
- *
- * See Profile#getSelectionContext.
- */
- public String getFilter();
-
- /**
- * Returns the fragments that have been bound to this installable unit, or
- * <code>null</code> if this unit is not resolved.
- *
- * @see #isResolved()
- * @return The fragments bound to this installable unit, or <code>null</code>
- */
- public IInstallableUnitFragment[] getFragments();
-
- public String getId();
-
- /**
- * Get an <i>unmodifiable copy</i> of the properties
- * associated with the installable unit.
- *
- * @return an <i>unmodifiable copy</i> of the IU properties.
- */
- public Map getProperties();
-
- public String getProperty(String key);
-
- public ProvidedCapability[] getProvidedCapabilities();
-
- public RequiredCapability[] getRequiredCapabilities();
-
- public TouchpointData[] getTouchpointData();
-
- public TouchpointType getTouchpointType();
-
- public Version getVersion();
-
- public boolean isFragment();
-
- /**
- * Returns whether this installable unit has been resolved. A resolved
- * installable unit represents the union of an installable unit and some
- * fragments.
- *
- * @see #getFragments()
- * @see #unresolved()
- * @return <code>true</code> if this installable unit is resolved, and
- * <code>false</code> otherwise.
- */
- public boolean isResolved();
-
- public boolean isSingleton();
-
- /**
- * Returns the unresolved equivalent of this installable unit. If this unit is
- * already unresolved, this method returns the receiver. Otherwise, this
- * method returns an installable unit with the same id and version, but without
- * any fragments attached.
- *
- * @see #getFragments()
- * @see #isResolved()
- * @return The unresolved equivalent of this unit
- */
- public IInstallableUnit unresolved();
-
- /**
- * Returns information about what this installable unit is an update of.
- * @return The lineage information about the installable unit
- */
- public IUpdateDescriptor getUpdateDescriptor();
-
- /**
- * Returns the license that applies to this installable unit.
- * @return the license that applies to this installable unit or <code>null</code>
- */
- public License getLicense();
-
- /**
- * Returns the copyright that applies to this installable unit.
- * @return the copyright that applies to this installable unit or <code>null</code>
- */
- public Copyright getCopyright();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IInstallableUnitFragment.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IInstallableUnitFragment.java
deleted file mode 100644
index 544de64..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IInstallableUnitFragment.java
+++ /dev/null
@@ -1,13 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata;
-
-public interface IInstallableUnitFragment extends IInstallableUnit {
- public RequiredCapability[] getHost();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IInstallableUnitPatch.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IInstallableUnitPatch.java
deleted file mode 100644
index 507b7e0..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IInstallableUnitPatch.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata;
-
-public interface IInstallableUnitPatch extends IInstallableUnit {
- RequiredCapability[][] getApplicabilityScope();
-
- RequirementChange[] getRequirementsChange();
-
- RequiredCapability getLifeCycle();
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IUpdateDescriptor.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IUpdateDescriptor.java
deleted file mode 100644
index 38b3f4a..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IUpdateDescriptor.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata;
-
-import org.eclipse.osgi.service.resolver.VersionRange;
-
-public interface IUpdateDescriptor {
- public final int NORMAL = 0;
- public final int HIGH = 1;
-
- /**
- * The identifier of an installable unit that the installable unit containing this object is an update for.
- * @return An installable unit id
- */
- public String getId();
-
- /**
- * The range of the installable unit that the installable unit containing this object is an update for.
- * @return A version range
- */
- public VersionRange getRange();
-
- /**
- * The description of the update. This allows to explain what the update is about.
- * @return A description
- */
- public String getDescription();
-
- /**
- * The importance of the update descriptor represented as a int.
- * @return The severity.
- */
- public int getSeverity();
-
- /**
- * Helper method indicating whether or not an installable unit is an update for the installable unit passed
- * @param iu the installable unit checked
- * @return A boolean indicating whether or not an installable unit is an update.
- */
- public boolean isUpdateOf(IInstallableUnit iu);
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/InstallableUnitPatch.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/InstallableUnitPatch.java
deleted file mode 100644
index d6ca8a3..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/InstallableUnitPatch.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata;
-
-import org.eclipse.equinox.internal.p2.metadata.InstallableUnit;
-
-public class InstallableUnitPatch extends InstallableUnit implements IInstallableUnitPatch {
- private RequirementChange[] changes;
- private RequiredCapability[][] scope;
- private RequiredCapability lifeCycle;
-
- public void setRequirementsChange(RequirementChange[] changes) {
- this.changes = changes;
- }
-
- public RequirementChange[] getRequirementsChange() {
- return changes;
- }
-
- public RequiredCapability getLifeCycle() {
- return lifeCycle;
- }
-
- public void setLifeCycle(RequiredCapability lifeCycle) {
- if (lifeCycle == null)
- return;
- this.lifeCycle = lifeCycle;
- addRequiredCapability(new RequiredCapability[] {lifeCycle});
- }
-
- public RequiredCapability[][] getApplicabilityScope() {
- return scope;
- }
-
- public void setApplicabilityScope(RequiredCapability[][] applyTo) {
- scope = applyTo;
- }
-
- private void addRequiredCapability(RequiredCapability[] toAdd) {
- RequiredCapability[] current = super.getRequiredCapabilities();
- RequiredCapability[] result = new RequiredCapability[current.length + toAdd.length];
- System.arraycopy(current, 0, result, 0, current.length);
- System.arraycopy(toAdd, 0, result, current.length, toAdd.length);
- setRequiredCapabilities(result);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/License.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/License.java
deleted file mode 100644
index 33d9ec9..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/License.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Genuitec, LLC and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Genuitec, LLC - initial API and implementation
- * IBM Corporation - optional URL field instead of required name
- ******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata;
-
-import java.io.UnsupportedEncodingException;
-import java.math.BigInteger;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-
-/**
- * The <code>License</code> class represents a software license. A license has required body text
- * which may be the full text or an annotation. An optional URL field can be specified
- * which links to full text. Licenses can be easily compared using their digests.
- */
-public class License {
- /**
- * The <code>body</code> contains the descriptive text for the license. This may
- * be a summary for a full license specified in a URL.
- */
- private final String body;
-
- /**
- * The <code>url</code> is the URL of the license.
- */
- private URL url;
-
- /**
- * The <code>digest</code> is the cached message digest of the normalized body
- */
- private BigInteger digest;
-
- /**
- * Creates a new license object which is identified by users using the <code>body</code> field.
- * The body should contain either the full text of the license or an annotation for a license
- * fully specified in the URL at urlString.
- * @param urlString the string describing the URL of the full license, may be <code>null</code>
- * @param body the license body, cannot be <code>null</code>
- * @throws IllegalArgumentException when the <code>body</code> is <code>null</code>
- */
- public License(String urlString, String body) {
- if (body == null)
- throw new IllegalArgumentException("body cannot be null"); //$NON-NLS-1$
- if (urlString != null)
- try {
- url = new URL(urlString);
- } catch (MalformedURLException e) {
- url = null;
- }
- this.body = body;
- }
-
- /**
- * Returns the URL containing the full description of the license.
- * May be <code>null</code>.
- */
- public URL getURL() {
- return url;
- }
-
- /**
- * Returns the license body.
- * @return the license body, never <code>null</code>
- */
- public String getBody() {
- return body;
- }
-
- /**
- * Returns the message digest of the license body. The digest is calculated on a normalized
- * version of the license where all whitespace has been reduced to one space.
- * @return the message digest as a <code>BigInteger</code>, never <code>null</code>
- */
- public synchronized BigInteger getDigest() {
- if (digest == null)
- digest = calculateLicenseDigest();
- return digest;
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#equals(java.lang.Object)
- */
- public boolean equals(Object obj) {
- if (obj == this)
- return true;
- if (obj == null)
- return false;
- if (obj instanceof License) {
- License other = (License) obj;
- if (other.getDigest().equals(getDigest()))
- return true;
- }
- return false;
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#hashCode()
- */
- public int hashCode() {
- return getDigest().hashCode();
- }
-
- private BigInteger calculateLicenseDigest() {
- String message = normalize(getBody());
- try {
- MessageDigest algorithm = MessageDigest.getInstance("MD5"); //$NON-NLS-1$
- algorithm.reset();
- algorithm.update(message.getBytes("UTF-8")); //$NON-NLS-1$
- byte[] digestBytes = algorithm.digest();
- return new BigInteger(1, digestBytes);
- } catch (NoSuchAlgorithmException e) {
- throw new RuntimeException(e);
- } catch (UnsupportedEncodingException e) {
- throw new RuntimeException(e);
- }
- }
-
- /**
- * Replace all sequences of whitespace with a single whitespace character.
- */
- private String normalize(String license) {
- String text = license.trim();
- StringBuffer result = new StringBuffer();
- int length = text.length();
- for (int i = 0; i < length; i++) {
- char c = text.charAt(i);
- boolean foundWhitespace = false;
- while (Character.isWhitespace(c) && i < length) {
- foundWhitespace = true;
- c = text.charAt(++i);
- }
- if (foundWhitespace)
- result.append(' ');
- if (i < length)
- result.append(c);
- }
- return result.toString();
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/MetadataFactory.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/MetadataFactory.java
deleted file mode 100644
index ccb8f0e..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/MetadataFactory.java
+++ /dev/null
@@ -1,289 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Genuitec, LLC
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata;
-
-import java.util.*;
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.equinox.internal.p2.metadata.*;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-/**
- * A factory class for instantiating various p2 metadata objects.
- */
-public class MetadataFactory {
- public static class InstallableUnitDescription {
- protected InstallableUnit unit;
-
- public InstallableUnitDescription() {
- super();
- }
-
- public void addTouchpointData(TouchpointData data) {
- Assert.isNotNull(data);
- unit().addTouchpointData(data);
- }
-
- public void setApplicabilityFilter(String ldapFilter) {
- unit().setApplicabilityFilter(ldapFilter);
- }
-
- public void setArtifacts(IArtifactKey[] value) {
- unit().setArtifacts(value);
- }
-
- public void setCapabilities(ProvidedCapability[] exportedCapabilities) {
- unit().setCapabilities(exportedCapabilities);
- }
-
- public void setFilter(String filter) {
- unit().setFilter(filter);
- }
-
- public void setId(String id) {
- unit().setId(id);
- }
-
- public void setLicense(License license) {
- unit().setLicense(license);
- }
-
- public void setCopyright(Copyright copyright) {
- unit().setCopyright(copyright);
- }
-
- public void setProperty(String key, String value) {
- unit().setProperty(key, value);
- }
-
- public void setRequiredCapabilities(RequiredCapability[] capabilities) {
- unit().setRequiredCapabilities(capabilities);
- }
-
- public void setSingleton(boolean singleton) {
- unit().setSingleton(singleton);
- }
-
- public void setTouchpointType(TouchpointType type) {
- unit().setTouchpointType(type);
- }
-
- public void setVersion(Version newVersion) {
- unit().setVersion(newVersion);
- }
-
- public void setUpdateDescriptor(IUpdateDescriptor updateInfo) {
- unit().setUpdateDescriptor(updateInfo);
- }
-
- InstallableUnit unit() {
- if (unit == null)
- unit = new InstallableUnit();
- return unit;
- }
-
- IInstallableUnit unitCreate() {
- IInstallableUnit result = unit();
- this.unit = null;
- return result;
- }
- }
-
- public static class InstallableUnitFragmentDescription extends InstallableUnitDescription {
- public void setHost(RequiredCapability[] hostRequirements) {
- ((InstallableUnitFragment) unit()).setHost(hostRequirements);
- }
-
- InstallableUnit unit() {
- if (unit == null)
- unit = new InstallableUnitFragment();
- return unit;
- }
- }
-
- public static class InstallableUnitPatchDescription extends InstallableUnitDescription {
- public void setRequirementChanges(RequirementChange[] changes) {
- ((InstallableUnitPatch) unit()).setRequirementsChange(changes);
- }
-
- InstallableUnit unit() {
- if (unit == null)
- unit = new InstallableUnitPatch();
- return unit;
- }
-
- public void setApplicabilityScope(RequiredCapability[][] applyTo) {
- ((InstallableUnitPatch) unit()).setApplicabilityScope(applyTo);
- }
-
- public void setLifeCycle(RequiredCapability lifeCycle) {
- ((InstallableUnitPatch) unit()).setLifeCycle(lifeCycle);
- }
- }
-
- /**
- * Singleton touchpoint data for a touchpoint with no instructions.
- */
- private static final TouchpointData EMPTY_TOUCHPOINT_DATA = new TouchpointData(Collections.EMPTY_MAP);
-
- private static TouchpointType[] typeCache = new TouchpointType[5];
-
- private static int typeCacheOffset;
-
- /**
- * Returns an {@link IInstallableUnit} based on the given
- * description. Once the installable unit has been created, the information is
- * discarded from the description object.
- *
- * @param description The description of the unit to create
- * @return The created installable unit
- */
- public static IInstallableUnit createInstallableUnit(InstallableUnitDescription description) {
- Assert.isNotNull(description);
- return description.unitCreate();
- }
-
- /**
- * Returns an {@link IInstallableUnitFragment} based on the given
- * description. Once the fragment has been created, the information is
- * discarded from the description object.
- *
- * @param description The description of the unit to create
- * @return The created installable unit fragment
- */
- public static IInstallableUnitFragment createInstallableUnitFragment(InstallableUnitFragmentDescription description) {
- Assert.isNotNull(description);
- return (IInstallableUnitFragment) description.unitCreate();
- }
-
- /**
- * Returns an {@link IInstallableUnitPatch} based on the given
- * description. Once the patch installable unit has been created, the information is
- * discarded from the description object.
- *
- * @param description The description of the unit to create
- * @return The created installable unit patch
- */
- public static IInstallableUnitPatch createInstallableUnitPatch(InstallableUnitPatchDescription description) {
- Assert.isNotNull(description);
- return (IInstallableUnitPatch) description.unitCreate();
- }
-
- /**
- * Returns a {@link ProvidedCapability} with the given values.
- *
- * @param namespace The capability namespace
- * @param name The capability name
- * @param version The capability version
- */
- public static ProvidedCapability createProvidedCapability(String namespace, String name, Version version) {
- return new ProvidedCapability(namespace, name, version);
- }
-
- /**
- * Returns a {@link RequiredCapability} with the given values.
- *
- * @param namespace The capability namespace
- * @param name The required capability name
- * @param range The range of versions that are required, or <code>null</code>
- * to indicate that any version will do.
- * @param filter The filter used to evaluate whether this capability is applicable in the
- * current environment, or <code>null</code> to indicate this capability is always applicable
- * @param optional <code>true</code> if this required capability is optional,
- * and <code>false</code> otherwise.
- * @param multiple <code>true</code> if this capability can be satisfied by multiple provided capabilities, or it requires exactly one match
- */
- public static RequiredCapability createRequiredCapability(String namespace, String name, VersionRange range, String filter, boolean optional, boolean multiple) {
- return new RequiredCapability(namespace, name, range, filter, optional, multiple);
- }
-
- public static RequiredCapability createRequiredCapability(String namespace, String name, VersionRange range, String filter, boolean optional, boolean multiple, boolean greedy) {
- return new RequiredCapability(namespace, name, range, filter, optional, multiple, greedy);
- }
-
- /**
- * Returns an {@link IInstallableUnit} that represents the given
- * unit bound to the given fragments.
- *
- * @see IInstallableUnit#isResolved()
- * @param unit The unit to be bound
- * @param fragments The fragments to be bound
- * @return A resolved installable unit
- */
- public static IInstallableUnit createResolvedInstallableUnit(IInstallableUnit unit, IInstallableUnitFragment[] fragments) {
- if (unit.isResolved())
- return unit;
- Assert.isNotNull(unit);
- Assert.isNotNull(fragments);
- return new ResolvedInstallableUnit(unit, fragments);
-
- }
-
- /**
- * Returns an instance of {@link TouchpointData} with the given instructions.
- *
- * @param instructions The instructions for the touchpoint data.
- * @return The created touchpoint data
- */
- public static TouchpointData createTouchpointData(Map instructions) {
- Assert.isNotNull(instructions);
- //copy the map to protect against subsequent change by caller
- return instructions.isEmpty() ? EMPTY_TOUCHPOINT_DATA : new TouchpointData(new LinkedHashMap(instructions));
- }
-
- /**
- * Returns a {@link TouchpointType} with the given id and version.
- *
- * @param id The touchpoint id
- * @param version The touchpoint version
- * @return A touchpoint type instance with the given id and version
- */
- public static TouchpointType createTouchpointType(String id, Version version) {
- Assert.isNotNull(id);
- Assert.isNotNull(version);
- TouchpointType result = getCachedTouchpointType(id, version);
- if (result != null)
- return result;
- result = new TouchpointType(id, version);
- putCachedTouchpointType(result);
- return result;
- }
-
- private static TouchpointType getCachedTouchpointType(String id, Version version) {
- synchronized (typeCache) {
- for (int i = 0; i < typeCache.length; i++) {
- if (typeCache[i] != null && typeCache[i].getId().equals(id) && typeCache[i].getVersion().equals(version))
- return typeCache[i];
- }
- }
- return null;
- }
-
- private static void putCachedTouchpointType(TouchpointType result) {
- //simple rotating buffer
- typeCache[typeCacheOffset] = result;
- typeCacheOffset = (typeCacheOffset + 1) % typeCache.length;
- }
-
- public static IUpdateDescriptor createUpdateDescriptor(String id, VersionRange range, int severity, String description) {
- return new UpdateDescriptor(id, range, severity, description);
- }
-
- public static License createLicense(String url, String licenseBody) {
- return new License(url, licenseBody);
- }
-
- public static Copyright createCopyright(String url, String copyrightBody) {
- return new Copyright(url, copyrightBody);
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/ProvidedCapability.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/ProvidedCapability.java
deleted file mode 100644
index c3efb14..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/ProvidedCapability.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata;
-
-import org.eclipse.core.runtime.Assert;
-import org.osgi.framework.Version;
-
-/**
- * Describes a capability as exposed or required by an installable unit
- */
-public class ProvidedCapability {
- private final String name;
- private final String namespace;
- private final Version version;
-
- ProvidedCapability(String namespace, String name, Version version) {
- Assert.isNotNull(namespace);
- Assert.isNotNull(name);
- this.namespace = namespace;
- this.name = name;
- this.version = version == null ? Version.emptyVersion : version;
- }
-
- public boolean equals(Object other) {
- if (other instanceof ProvidedCapability) {
- ProvidedCapability otherCapability = (ProvidedCapability) other;
- return otherCapability.namespace.equals(namespace) && otherCapability.name.equals(name) && otherCapability.version.equals(version);
- }
- return false;
- }
-
- public String getName() {
- return name;
- }
-
- public String getNamespace() {
- return namespace;
- }
-
- public Version getVersion() {
- return version;
- }
-
- public int hashCode() {
- return namespace.hashCode() * name.hashCode() * version.hashCode();
- }
-
- /**
- * TODO The name of this method is backwards. A provided capability does not
- * get satisfied - it is the required capability that is satisfied or not. It should be "satisfies"
- * or "isSatisfied"
- */
- public boolean isSatisfiedBy(RequiredCapability candidate) {
- if (getName() == null || !getName().equals(candidate.getName()))
- return false;
- if (getNamespace() == null || !getNamespace().equals(candidate.getNamespace()))
- return false;
- return candidate.getRange().isIncluded(version);
- }
-
- public String toString() {
- return namespace + '/' + name + '/' + version;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/RequiredCapability.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/RequiredCapability.java
deleted file mode 100644
index 64058a4..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/RequiredCapability.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.osgi.service.resolver.VersionRange;
-
-/**
- * A required capability represents some external constraint on an {@link IInstallableUnit}.
- * Each capability represents something an {@link IInstallableUnit} needs that
- * it expects to be provided by another {@link IInstallableUnit}. Capabilities are
- * entirely generic, and are intended to be capable of representing anything that
- * an {@link IInstallableUnit} may need either at install time, or at runtime.
- * <p>
- * Capabilities are segmented into namespaces. Anyone can introduce new
- * capability namespaces. Some well-known namespaces are introduced directly
- * by the provisioning framework.
- *
- * @see IInstallableUnit#NAMESPACE_IU_ID
- */
-public class RequiredCapability {
- private static final String[] NO_SELECTORS = new String[0];
-
- private String filter;
- private final boolean multiple;
- private final String name;//never null
- private final String namespace;//never null
- private boolean optional;
- private boolean greedy = true;
- private final VersionRange range;//never null
- private String[] selectors = NO_SELECTORS;//never null
-
- RequiredCapability(String namespace, String name, VersionRange range, String filter, boolean optional, boolean multiple) {
- Assert.isNotNull(namespace);
- Assert.isNotNull(name);
- this.namespace = namespace;
- this.name = name;
- this.range = range == null ? VersionRange.emptyRange : range;
- this.optional = optional;
- this.filter = filter;
- this.multiple = multiple;
- }
-
- RequiredCapability(String namespace, String name, VersionRange range, String filter, boolean optional, boolean multiple, boolean greedy) {
- this(namespace, name, range, filter, optional, multiple);
- this.greedy = greedy;
- }
-
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- final RequiredCapability other = (RequiredCapability) obj;
- if (filter == null) {
- if (other.filter != null)
- return false;
- } else if (!filter.equals(other.filter))
- return false;
- if (multiple != other.multiple)
- return false;
- if (!name.equals(other.name))
- return false;
- if (!namespace.equals(other.namespace))
- return false;
- if (optional != other.optional)
- return false;
- if (!range.equals(other.range))
- return false;
- return true;
- }
-
- public String getFilter() {
- return filter;
- }
-
- public String getName() {
- return name;
- }
-
- public String getNamespace() {
- return namespace;
- }
-
- /**
- * Returns the range of versions that satisfy this required capability. Returns
- * an empty version range ({@link VersionRange#emptyRange} if any version
- * will satisfy the capability.
- * @return the range of versions that satisfy this required capability.
- */
- public VersionRange getRange() {
- return range;
- }
-
- /**
- * Returns the properties to use for evaluating required capability filters
- * downstream from this capability. For example, if the selector "doc"
- * is provided, then a downstream InstallableUnit with a required capability
- * filtered with "doc=true" will be included.
- */
- public String[] getSelectors() {
- return selectors;
- }
-
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((filter == null) ? 0 : filter.hashCode());
- result = prime * result + (multiple ? 1231 : 1237);
- result = prime * result + name.hashCode();
- result = prime * result + namespace.hashCode();
- result = prime * result + (optional ? 1231 : 1237);
- result = prime * result + range.hashCode();
- return result;
- }
-
- public boolean isMultiple() {
- return multiple;
- }
-
- public boolean isOptional() {
- return optional;
- }
-
- public void setFilter(String filter) {
- this.filter = filter;
- }
-
- public void setSelectors(String[] selectors) {
- this.selectors = selectors;
- }
-
- public boolean isGreedy() {
- return greedy;
- }
-
- public String toString() {
- return "requiredCapability: " + namespace + '/' + name + '/' + range; //$NON-NLS-1$
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/RequirementChange.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/RequirementChange.java
deleted file mode 100644
index 92a78ec..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/RequirementChange.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata;
-
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class RequirementChange {
- private RequiredCapability applyOn;
- private RequiredCapability newValue;
-
- public RequirementChange(RequiredCapability applyOn2, RequiredCapability newValue2) {
- if (applyOn2 == null && newValue2 == null)
- throw new IllegalArgumentException();
- this.applyOn = applyOn2;
- this.newValue = newValue2;
- }
-
- public RequiredCapability applyOn() {
- return applyOn;
- }
-
- public RequiredCapability newValue() {
- return newValue;
- }
-
- public boolean matches(RequiredCapability toMatch) {
- if (!toMatch.getNamespace().equals(applyOn.getNamespace()))
- return false;
- if (!toMatch.getName().equals(applyOn.getName()))
- return false;
- if (toMatch.getRange().equals(applyOn.getRange()))
- return true;
-
- return intersect(toMatch.getRange(), applyOn.getRange()) == null ? false : true;
- }
-
- boolean matches(RequirementChange toMatch) {
- return matches(toMatch.applyOn());
- }
-
- protected RequirementChange merge(RequirementChange r2) {
- VersionRange result = intersect(newValue().getRange(), r2.newValue().getRange());
- if (result == null)
- return null;
- return new RequirementChange(applyOn, MetadataFactory.createRequiredCapability(applyOn.getNamespace(), applyOn.getName(), result, null, false, false));
- }
-
- private VersionRange intersect(VersionRange r1, VersionRange r2) {
- Version resultMin = null;
- boolean resultMinIncluded = false;
- Version resultMax = null;
- boolean resultMaxIncluded = false;
-
- int minCompare = r1.getMinimum().compareTo(r2.getMinimum());
- if (minCompare < 0) {
- resultMin = r2.getMinimum();
- resultMinIncluded = r2.getIncludeMinimum();
- } else if (minCompare > 0) {
- resultMin = r1.getMinimum();
- resultMinIncluded = r1.getIncludeMinimum();
- } else if (minCompare == 0) {
- resultMin = r1.getMinimum();
- resultMinIncluded = r1.getIncludeMinimum() && r2.getIncludeMinimum();
- }
-
- int maxCompare = r1.getMaximum().compareTo(r2.getMaximum());
- if (maxCompare > 0) {
- resultMax = r2.getMaximum();
- resultMaxIncluded = r2.getIncludeMaximum();
- } else if (maxCompare < 0) {
- resultMax = r1.getMaximum();
- resultMaxIncluded = r1.getIncludeMaximum();
- } else if (maxCompare == 0) {
- resultMax = r1.getMaximum();
- resultMaxIncluded = r1.getIncludeMaximum() && r2.getIncludeMaximum();
- }
-
- int resultRangeComparison = resultMin.compareTo(resultMax);
- if (resultRangeComparison < 0)
- return new VersionRange(resultMin, resultMinIncluded, resultMax, resultMaxIncluded);
- else if (resultRangeComparison == 0 && resultMinIncluded == resultMaxIncluded)
- return new VersionRange(resultMin, resultMinIncluded, resultMax, resultMaxIncluded);
- else
- return null;
- }
-
- public boolean isCompatible(RequirementChange other) {
- return intersect(newValue.getRange(), other.newValue.getRange()) != null;
- }
-
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((applyOn == null) ? 0 : applyOn.hashCode());
- result = prime * result + ((newValue == null) ? 0 : newValue.hashCode());
- return result;
- }
-
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- final RequirementChange other = (RequirementChange) obj;
- if (applyOn == null) {
- if (other.applyOn != null)
- return false;
- } else if (!applyOn.equals(other.applyOn))
- return false;
- if (newValue == null) {
- if (other.newValue != null)
- return false;
- } else if (!newValue.equals(other.newValue))
- return false;
- return true;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/TouchpointData.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/TouchpointData.java
deleted file mode 100644
index f131ad6..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/TouchpointData.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata;
-
-import java.util.Collections;
-import java.util.Map;
-
-public class TouchpointData {
-
- /**
- * Map of (String->String). The values represent the instructions. The set
- * of keys supported is up to the touchpoint that will process these
- * instructions. This map is never null.
- */
- private Map instructions;
-
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((instructions == null) ? 0 : instructions.hashCode());
- return result;
- }
-
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- final TouchpointData other = (TouchpointData) obj;
- if (instructions == null) {
- if (other.instructions != null)
- return false;
- } else if (!instructions.equals(other.instructions))
- return false;
- return true;
- }
-
- TouchpointData(Map instructions) {
- this.instructions = instructions;
- }
-
- public String getInstructions(String instructionKey) {
- return (String) instructions.get(instructionKey);
- }
-
- // Return an unmodifiable collection of the instructions
- // in the touchpoint data.
- public Map getInstructions() {
- return Collections.unmodifiableMap(instructions);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/TouchpointType.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/TouchpointType.java
deleted file mode 100644
index 5ad1317..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/TouchpointType.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata;
-
-import org.osgi.framework.Version;
-
-/**
- * Identifies a particular touchpoint. A touchpoint is identified by an id
- * and a version.
- */
-public class TouchpointType {
- /**
- * A touchpoint type indicating that the "null" touchpoint should be used.
- * The null touchpoint does not participate in any install phase.
- */
- public static final TouchpointType NONE = MetadataFactory.createTouchpointType("null", Version.emptyVersion); //$NON-NLS-1$
-
- private String id;//never null
- private Version version;//never null
-
- TouchpointType(String id, Version aVersion) {
- this.id = id;
- this.version = aVersion;
- }
-
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (super.equals(obj))
- return true;
- if (getClass() != obj.getClass())
- return false;
- TouchpointType other = (TouchpointType) obj;
- return id.equals(other.id) && version.equals(other.version);
- }
-
- public String getId() {
- return id;
- }
-
- public Version getVersion() {
- return version;
- }
-
- public int hashCode() {
- return 31 * id.hashCode() + version.hashCode();
- }
-
- public String toString() {
- return "Touchpoint: " + id + ' ' + getVersion(); //$NON-NLS-1$
- }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/CapabilityQuery.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/CapabilityQuery.java
deleted file mode 100644
index 216982f..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/CapabilityQuery.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata.query;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.query.Query;
-
-/**
- * A query that searches for {@link IInstallableUnit} instances that provide
- * capabilities that match one or more required capabilities.
- */
-public class CapabilityQuery extends Query {
- private RequiredCapability[] required;
-
- /**
- * Creates a new query on the given required capability.
- * @param required The required capability
- */
- public CapabilityQuery(RequiredCapability required) {
- this.required = new RequiredCapability[] {required};
- }
-
- /**
- * Creates a new query on the given required capabilities. The installable
- * unit must provide capabilities that match all of the given required capabilities
- * for this query to be satisfied.
- * @param required The required capabilities
- */
- public CapabilityQuery(RequiredCapability[] required) {
- this.required = required;
- }
-
- /**
- * Returns the required capability that this query is matching against.
- * @return the required capability that this query is matching against.
- */
- public RequiredCapability[] getRequiredCapabilities() {
- return required;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.p2.query2.Query#isMatch(java.lang.Object)
- */
- public boolean isMatch(Object object) {
- if (!(object instanceof IInstallableUnit))
- return false;
- IInstallableUnit candidate = (IInstallableUnit) object;
- ProvidedCapability[] provides = candidate.getProvidedCapabilities();
- for (int i = 0; i < required.length; i++) {
- boolean satisfied = false;
- for (int j = 0; j < provides.length; j++) {
- if (provides[j].isSatisfiedBy(required[i])) {
- satisfied = true;
- break;
- }
- }
- if (!satisfied)
- return false;
- }
- return true;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/IUPropertyQuery.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/IUPropertyQuery.java
deleted file mode 100644
index 51251a0..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/IUPropertyQuery.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata.query;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.query.Query;
-
-/**
- * A query that searches for {@link IInstallableUnit} instances that have
- * a property whose value matches the provided value.
- */
-public class IUPropertyQuery extends Query {
- private String propertyName;
- private String propertyValue;
-
- /**
- * Creates a new query on the given property name and value.
- */
- public IUPropertyQuery(String propertyName, String propertyValue) {
- this.propertyName = propertyName;
- this.propertyValue = propertyValue;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.p2.query2.Query#isMatch(java.lang.Object)
- */
- public boolean isMatch(Object object) {
- if (!(object instanceof IInstallableUnit))
- return false;
- IInstallableUnit candidate = (IInstallableUnit) object;
- String value = getProperty(candidate, propertyName);
- if (value != null && (value.equals(propertyValue) || propertyValue == null))
- return true;
- return false;
- }
-
- protected String getProperty(IInstallableUnit iu, String name) {
- return iu.getProperty(name);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/InstallableUnitQuery.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/InstallableUnitQuery.java
deleted file mode 100644
index 04db9f8..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/InstallableUnitQuery.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata.query;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.query.Query;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-/**
- * A query that matches on the id and version of an {@link IInstallableUnit}.
- */
-public class InstallableUnitQuery extends Query {
- /**
- * A convenience query that will match any {@link IInstallableUnit}
- * it encounters.
- */
- public static final InstallableUnitQuery ANY = new InstallableUnitQuery(null);
-
- private String id;
- private final VersionRange range;
-
- /**
- * Creates a query that will match any {@link IInstallableUnit} with the given
- * id, regardless of version.
- *
- * @param id The installable unit id to match, or <code>null</code> to match any id
- */
- public InstallableUnitQuery(String id) {
- this.id = id;
- this.range = null;
- }
-
- /**
- * Creates a query that will match any {@link IInstallableUnit} with the given
- * id, and whose version falls in the provided range.
- *
- * @param id The installable unit id to match, or <code>null</code> to match any id
- * @param range The version range to match
- */
- public InstallableUnitQuery(String id, VersionRange range) {
- this.id = id;
- this.range = range;
- }
-
- /**
- * Creates a query that will match any {@link IInstallableUnit} with the given
- * id and version.
- *
- * @param id The installable unit id to match, or <code>null</code> to match any id
- * @param version The precise version that a matching unit must have
- */
- public InstallableUnitQuery(String id, Version version) {
- this.id = id;
- this.range = new VersionRange(version, true, version, true);
- }
-
- /**
- * Returns the id that this query will match against.
- * @return The installable unit it
- */
- public String getId() {
- return id;
- }
-
- /**
- * Returns the version range that this query will match against.
- * @return The installable unit version range.
- */
- public VersionRange getRange() {
- return range;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.p2.query2.Query#isMatch(java.lang.Object)
- */
- public boolean isMatch(Object object) {
- if (!(object instanceof IInstallableUnit))
- return false;
- IInstallableUnit candidate = (IInstallableUnit) object;
- if (id != null && !id.equals(candidate.getId()))
- return false;
- if (range != null && !range.isIncluded(candidate.getVersion()))
- return false;
- return true;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/UpdateQuery.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/UpdateQuery.java
deleted file mode 100644
index cb70bf9..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/UpdateQuery.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata.query;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IUpdateDescriptor;
-import org.eclipse.equinox.internal.provisional.p2.query.Query;
-
-public class UpdateQuery extends Query {
- private IInstallableUnit updateFrom;
-
- public UpdateQuery(IInstallableUnit updateFrom) {
- this.updateFrom = updateFrom;
- }
-
- public boolean isMatch(Object obj) {
- if (!(obj instanceof IInstallableUnit))
- return false;
- IInstallableUnit candidate = (IInstallableUnit) obj;
- IUpdateDescriptor descriptor = candidate.getUpdateDescriptor();
- if (descriptor != null && descriptor.isUpdateOf(updateFrom) && updateFrom.getVersion().compareTo(candidate.getVersion()) < 0)
- return true;
- return false;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/.classpath b/bundles/org.eclipse.equinox.p2.reconciler.dropins/.classpath
deleted file mode 100644
index ce73933..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/.cvsignore b/bundles/org.eclipse.equinox.p2.reconciler.dropins/.cvsignore
deleted file mode 100644
index e043cc4..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-bin
-build.xml
-javaCompiler...args
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/.project b/bundles/org.eclipse.equinox.p2.reconciler.dropins/.project
deleted file mode 100644
index 141bd40..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.equinox.p2.reconciler.dropins</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.reconciler.dropins/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index ab01093..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,331 +0,0 @@
-#Sat Oct 27 14:19:24 PDT 2007
-eclipse.preferences.version=1
-instance/org.eclipse.core.net/org.eclipse.core.net.hasMigrated=true
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.reconciler.dropins/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 56bcc3e..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:58:07 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.reconciler.dropins/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 7913d20..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/Bootstrap.product b/bundles/org.eclipse.equinox.p2.reconciler.dropins/Bootstrap.product
deleted file mode 100644
index ea00366..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/Bootstrap.product
+++ /dev/null
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.4"?>
-
-<product name="p2 bootstrap" id="org.eclipse.equinox.p2.reconciler.dropins.product" application="org.eclipse.equinox.p2.reconciler.application" useFeatures="false">
-
- <configIni use="default">
- <linux>/org.eclipse.equinox.p2.reconciler.dropins/config.ini</linux>
- <macosx>/org.eclipse.equinox.p2.reconciler.dropins/config.ini</macosx>
- <solaris>/org.eclipse.equinox.p2.reconciler.dropins/config.ini</solaris>
- <win32>/org.eclipse.equinox.p2.reconciler.dropins/config.ini</win32>
- </configIni>
-
- <launcherArgs>
- <vmArgs>-Dorg.eclipse.equinox.p2.reconciler.noConfig=true</vmArgs>
- <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>
- </launcherArgs>
-
- <windowImages/>
-
- <launcher name="eclipse.exe">
- <solaris/>
- <win useIco="false">
- <bmp/>
- </win>
- </launcher>
-
- <vm>
- </vm>
-
- <plugins>
- <plugin id="org.eclipse.core.contenttype"/>
- <plugin id="org.eclipse.core.jobs"/>
- <plugin id="org.eclipse.core.net"/>
- <plugin id="org.eclipse.core.net.win32.x86" fragment="true"/>
- <plugin id="org.eclipse.core.runtime"/>
- <plugin id="org.eclipse.core.runtime.compatibility.registry" fragment="true"/>
- <plugin id="org.eclipse.ecf"/>
- <plugin id="org.eclipse.ecf.filetransfer"/>
- <plugin id="org.eclipse.ecf.identity"/>
- <plugin id="org.eclipse.ecf.provider.filetransfer"/>
- <plugin id="org.eclipse.ecf.provider.filetransfer.ssl" fragment="true"/>
- <plugin id="org.eclipse.ecf.ssl" fragment="true"/>
- <plugin id="org.eclipse.equinox.app"/>
- <plugin id="org.eclipse.equinox.common"/>
- <plugin id="org.eclipse.equinox.frameworkadmin"/>
- <plugin id="org.eclipse.equinox.frameworkadmin.equinox"/>
- <plugin id="org.eclipse.equinox.p2.artifact.repository"/>
- <plugin id="org.eclipse.equinox.p2.core"/>
- <plugin id="org.eclipse.equinox.p2.director"/>
- <plugin id="org.eclipse.equinox.p2.directorywatcher"/>
- <plugin id="org.eclipse.equinox.p2.engine"/>
- <plugin id="org.eclipse.equinox.p2.exemplarysetup"/>
- <plugin id="org.eclipse.equinox.p2.extensionlocation"/>
- <plugin id="org.eclipse.equinox.p2.garbagecollector"/>
- <plugin id="org.eclipse.equinox.p2.jarprocessor"/>
- <plugin id="org.eclipse.equinox.p2.metadata"/>
- <plugin id="org.eclipse.equinox.p2.metadata.generator"/>
- <plugin id="org.eclipse.equinox.p2.metadata.repository"/>
- <plugin id="org.eclipse.equinox.p2.reconciler.dropins"/>
- <plugin id="org.eclipse.equinox.p2.touchpoint.eclipse"/>
- <plugin id="org.eclipse.equinox.preferences"/>
- <plugin id="org.eclipse.equinox.registry"/>
- <plugin id="org.eclipse.equinox.security"/>
- <plugin id="org.eclipse.equinox.security.win32.x86" fragment="true"/>
- <plugin id="org.eclipse.equinox.simpleconfigurator"/>
- <plugin id="org.eclipse.equinox.simpleconfigurator.manipulator"/>
- <plugin id="org.eclipse.osgi"/>
- <plugin id="org.eclipse.osgi.services"/>
- <plugin id="org.sat4j.core"/>
- <plugin id="org.sat4j.pb"/>
- </plugins>
-
-</product>
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.reconciler.dropins/META-INF/MANIFEST.MF
deleted file mode 100644
index 8894fa2..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,40 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.reconciler.dropins;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 1.0.2.qualifier
-Bundle-Activator: org.eclipse.equinox.internal.p2.reconciler.dropins.Activator
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,
- CDC-1.1/Foundation-1.1
-Import-Package: org.eclipse.equinox.app;version="1.0.0",
- org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.p2.extensionlocation,
- org.eclipse.equinox.internal.p2.artifact.repository,
- org.eclipse.equinox.internal.p2.metadata.repository,
- org.eclipse.equinox.internal.p2.update,
- org.eclipse.equinox.internal.provisional.configurator,
- org.eclipse.equinox.internal.provisional.p2.artifact.repository,
- org.eclipse.equinox.internal.provisional.p2.core,
- org.eclipse.equinox.internal.provisional.p2.core.repository,
- org.eclipse.equinox.internal.provisional.p2.director,
- org.eclipse.equinox.internal.provisional.p2.directorywatcher,
- org.eclipse.equinox.internal.provisional.p2.engine,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.internal.provisional.p2.metadata.query,
- org.eclipse.equinox.internal.provisional.p2.metadata.repository,
- org.eclipse.equinox.internal.provisional.p2.query,
- org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository,
- org.eclipse.equinox.internal.provisional.spi.p2.core.repository,
- org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository,
- org.eclipse.osgi.service.datalocation;version="1.0.0",
- org.eclipse.osgi.service.environment;version="1.1.0",
- org.eclipse.osgi.util;version="1.1.0",
- org.osgi.framework;version="1.3.0",
- org.osgi.service.packageadmin;version="1.2.0",
- org.osgi.util.tracker;version="1.3.3",
- org.xml.sax
-Require-Bundle: org.eclipse.equinox.common,
- org.eclipse.equinox.p2.touchpoint.eclipse;bundle-version="0.1.0"
-Export-Package: org.eclipse.equinox.internal.p2.reconciler.dropins;x-internal:=true
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/Reconciler App - Metadata Generator.launch b/bundles/org.eclipse.equinox.p2.reconciler.dropins/Reconciler App - Metadata Generator.launch
deleted file mode 100644
index abded13..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/Reconciler App - Metadata Generator.launch
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/Reconciler App - Metadata Generator"/>
-<booleanAttribute key="default_auto_start" value="false"/>
-<intAttribute key="default_start_level" value="4"/>
-<booleanAttribute key="includeOptional" value="false"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-console -consolelog -application org.eclipse.equinox.p2.metadata.generator.EclipseGenerator -metadataRepository file:D:/tmp/reconciler/repo/ -artifactRepository file:D:/tmp/reconciler/repo -source D:/tmp/reconciler/eclipse -root reconciler -rootVersion 1.0.0 -flavor tooling -publishArtifacts -append"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="target_bundles" value="org.eclipse.equinox.security*1.0.0.v20080421-2006@default:default,org.eclipse.core.runtime.compatibility.auth*3.2.100.v20070502@default:default,com.ibm.icu*3.8.1.v20080402@default:default,org.eclipse.equinox.common*3.4.0.v20080421-2006@default:default,org.eclipse.core.runtime*3.4.0.v20080421-1805@default:default,org.eclipse.equinox.preferences*3.2.200.v20080421-2006@default:default,org.eclipse.update.configurator*3.2.200.v20080417@default:default,org.eclipse.core.variables*3.2.100.v20080324-1600@default:default,org.eclipse.osgi*3.4.0.v20080421-2006@:,org.eclipse.core.net*1.1.0.I20080422@default:default,org.eclipse.equinox.registry*3.4.0.v20080421-2006@default:default,org.eclipse.core.jobs*3.4.0.v20080310@default:default,org.eclipse.osgi.services*3.1.200.v20071203@default:default,org.eclipse.equinox.security.win32.x86*1.0.0.v20080421-2006@default:false,org.eclipse.equinox.app*1.1.0.v20080421-2006@default:true,org.eclipse.core.runtime.compatibility.registry*3.2.200.v20070717@default:false,org.eclipse.equinox.launcher*1.0.100.v20080421-2006@default:default,org.eclipse.core.contenttype*3.3.0.v20080414@default:default,org.eclipse.core.net.win32.x86*1.0.0.HEAD@default:false,org.eclipse.ant.core*3.2.0.v20080319@default:default,org.eclipse.equinox.launcher.win32.win32.x86*1.0.100.v20080421-2006@default:false,org.eclipse.equinox.launcher*1.0.100.v20080414@default:default"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<booleanAttribute key="useNamedJRE" value="true"/>
-<stringAttribute key="workspace_bundles" value="org.eclipse.equinox.frameworkadmin*0.1.0.qualifier@default:default,org.eclipse.equinox.p2.metadata*0.1.0.qualifier@default:default,org.eclipse.ecf.provider.filetransfer*2.0.0.qualifier@default:default,org.eclipse.equinox.p2.artifact.repository*0.1.0.qualifier@default:default,org.eclipse.equinox.p2.metadata.generator*0.1.0.qualifier@default:default,org.eclipse.equinox.p2.core*0.1.0.qualifier@default:default,org.eclipse.equinox.p2.engine*0.1.0.qualifier@default:default,org.eclipse.ecf*2.0.0.qualifier@default:default,org.eclipse.ecf.filetransfer*2.0.0.qualifier@default:default,org.eclipse.equinox.frameworkadmin.equinox*0.1.0.qualifier@default:true,org.eclipse.ecf.provider.filetransfer.ssl*1.0.0.qualifier@default:false,org.eclipse.equinox.p2.metadata.repository*0.1.0.qualifier@default:default,org.eclipse.ecf.identity*2.0.0.qualifier@default:default,org.eclipse.ecf.ssl*1.0.0.qualifier@default:false"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/Reconciler app installation.launch b/bundles/org.eclipse.equinox.p2.reconciler.dropins/Reconciler app installation.launch
deleted file mode 100644
index 62cb457..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/Reconciler app installation.launch
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/Reconciler app installation"/>
-<booleanAttribute key="default_auto_start" value="false"/>
-<intAttribute key="default_start_level" value="4"/>
-<booleanAttribute key="includeOptional" value="false"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-console -consolelog -noExit -application org.eclipse.equinox.p2.director.app.application -metadataRepository file:d:/tmp/reconciler/repo -artifactRepository file:d:/tmp/reconciler/repo -installIU reconciler -destination d:/tmp/bootstrapTest/ -bundlepool d:/tmp/pool/ -profile bootProfile -p2.os win32 -p2.ws win32 -p2.arch x86 -profileProperties org.eclipse.update.install.features=true"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.p2.data.area=d:/tmp/bootstrapTest/p2"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="target_bundles" value="org.eclipse.core.runtime*3.4.0.v20080421-1805@4:true,org.eclipse.equinox.common*3.4.0.v20080421-2006@default:default,org.eclipse.equinox.app*1.1.0.v20080421-2006@2:true,org.eclipse.core.runtime.compatibility.registry*3.2.200.v20070717@default:false,org.eclipse.equinox.security.win32.x86*1.0.0.v20080421-2006@default:false,org.eclipse.swt.win32.win32.x86*3.4.0.v3440@default:false,org.eclipse.equinox.preferences*3.2.200.v20080421-2006@default:default,org.eclipse.core.commands*3.4.0.v20080408-0800@default:default,org.eclipse.swt*3.4.0.v3440@default:default,org.eclipse.core.runtime.compatibility.auth*3.2.100.v20070502@default:default,org.eclipse.core.contenttype*3.3.0.v20080414@default:default,org.eclipse.osgi*3.4.0.v20080421-2006@:,org.eclipse.core.jobs*3.4.0.v20080310@default:default,org.eclipse.jface*3.4.0.I20080422-0800@default:default,org.eclipse.core.variables*3.2.100.v20080324-1600@default:default,org.eclipse.osgi.services*3.1.200.v20071203@default:default,org.eclipse.ant.core*3.2.0.v20080319@default:default,org.eclipse.equinox.security*1.0.0.v20080421-2006@default:default,org.eclipse.equinox.registry*3.4.0.v20080421-2006@default:default"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<booleanAttribute key="useNamedJRE" value="true"/>
-<stringAttribute key="workspace_bundles" value="org.eclipse.equinox.p2.metadata*1.0.0.qualifier@default:default,org.eclipse.equinox.p2.engine*1.0.0.qualifier@default:default,org.eclipse.equinox.p2.director*1.0.0.qualifier@default:default,org.sat4j.pb*2.0.0.v20080421@default:default,org.eclipse.equinox.p2.metadata.repository*1.0.0.qualifier@default:default,org.eclipse.equinox.p2.director.app*1.0.0.qualifier@default:default,org.eclipse.equinox.p2.console*1.0.0.qualifier@default:default,org.eclipse.ecf.identity*2.0.0.qualifier@default:default,org.eclipse.ecf*2.0.0.qualifier@default:default,org.eclipse.ecf.provider.filetransfer*2.0.0.qualifier@default:default,org.eclipse.ecf.filetransfer*2.0.0.qualifier@default:default,org.eclipse.equinox.simpleconfigurator.manipulator*1.0.0.qualifier@default:default,org.eclipse.equinox.p2.core*1.0.0.qualifier@default:default,org.eclipse.equinox.frameworkadmin.equinox*1.0.0.qualifier@default:default,org.eclipse.equinox.p2.artifact.repository*1.0.0.qualifier@default:default,org.eclipse.ecf.provider.filetransfer.ssl*1.0.0.qualifier@default:false,org.eclipse.equinox.simpleconfigurator*1.0.0.qualifier@default:default,org.sat4j.core*2.0.0.v20080421@default:default,org.eclipse.equinox.frameworkadmin*1.0.0.qualifier@default:default,org.eclipse.ecf.ssl*1.0.0.qualifier@default:false"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/about.html b/bundles/org.eclipse.equinox.p2.reconciler.dropins/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 2, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/build.properties b/bundles/org.eclipse.equinox.p2.reconciler.dropins/build.properties
deleted file mode 100644
index 6861747..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.properties,\
- about.html,\
- plugin.xml,\
- Bootstrap.product,\
- config.ini
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/config.ini b/bundles/org.eclipse.equinox.p2.reconciler.dropins/config.ini
deleted file mode 100644
index 2eef805..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/config.ini
+++ /dev/null
@@ -1,55 +0,0 @@
-# Eclipse runtime configuration file
-# This file contains a number of key/value pairs that are merged into the
-# System properties on system startup. The values control the way the
-# runtime is structured and runs.
-
-# Note: Only platform:/base/ and file: URLs are supported. In general the
-# URLs given may include a version number (e.g., .../location_1.2.3).
-# If a version is not specified, the system binds
-# to the location which matches exactly or to the versioned location with the
-# latest version number. If a version number is given then only exact matches
-# are considered.
-
-# The URL for the runtime entry point. The default value is
-# platform:/base/plugins/org.eclipse.osgi
-#osgi.framework = platform:/base/plugins/org.eclipse.osgi
-
-# The classpath for the framework found at the osgi.framework location. This
-# comma-separated list contains either URLs or simple element names. Simple
-# names are assumed to be relative to the framework's install directory.
-# Typically this value need not be set as it is initialized by the framework itself.
-# Version match searching is not done for URLs listed here.
-#osgi.frameworkClassPath =
-
-# The comma-separated list of locations to search for the splash screen file (splash.bmp).
-# For each list element a subdirectory structure based on the pattern nl/<locale> is searched.
-# The system binds to the first matching file. There is no default value.
-osgi.splashPath = platform:/base/plugins/org.eclipse.platform
-
-# The location of the splash screen file. If this value is set at system startup it is used
-# in favour of the osgi.splashPath searching outlined above. If the value is not set
-# the searching is done and this key is bound to the result of the search.
-#osgi.splashLocation =
-
-# The comma-separated list of bundles which are automatically installed and optionally started
-# once the system is up and running. Each entry if of the form
-# <URL | simple bundle location>[@ [<startlevel>] [":start"]]
-# If the startlevel is omitted then the framework will use the default start level for the bundle.
-# If the "start" tag is added then the bundle will be marked as started after being installed.
-# Simple bundle locations are interepreted as relative to the framework's parent directory.
-# The startlevel indicates the OSGi start level at which the bundle should run.
-# If this value is not set, the system computes an appropriate default.
-osgi.bundles=org.eclipse.equinox.common@2:start, org.eclipse.equinox.app@3:start, org.eclipse.equinox.p2.reconciler.dropins@4:start, org.eclipse.core.runtime@start
-
-# The default start level.
-osgi.bundles.defaultStartLevel=4
-
-# The product to run. A given Eclipse configuration may contain many products.
-# The product identified will supply the branding (window icons, title bar text) etc
-# as well as define the default application to run.
-eclipse.application=org.eclipse.equinox.p2.reconciler.application
-
-org.eclipse.update.reconcile=false
-
-# End of file marker - must be here
-eof=eof
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/plugin.properties b/bundles/org.eclipse.equinox.p2.reconciler.dropins/plugin.properties
deleted file mode 100644
index 53dae02..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Dropin Reconciler Plug-in
-providerName = Eclipse.org
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/plugin.xml b/bundles/org.eclipse.equinox.p2.reconciler.dropins/plugin.xml
deleted file mode 100644
index 1b5ce1d..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/plugin.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-
- <extension
- id="org.eclipse.equinox.p2.reconciler.dropins.product"
- point="org.eclipse.core.runtime.products">
- <product
- application="org.eclipse.equinox.p2.reconciler.application"
- name="p2 reconciliation product">
- <property
- name="appName"
- value="p2 reconciliation product">
- </property>
- </product>
- </extension>
- <extension
- id="org.eclipse.equinox.p2.reconciler.application"
- point="org.eclipse.core.runtime.applications">
- <application
- cardinality="singleton-global"
- thread="main"
- visible="true">
- <run
- class="org.eclipse.equinox.internal.p2.reconciler.dropins.Application">
- </run>
- </application>
- </extension>
- <extension
- id="product"
- point="org.eclipse.core.runtime.products">
- <product
- application="org.eclipse.equinox.p2.reconciler.application"
- name="p2 reconciliation application">
- <property
- name="appName"
- value="p2 reconciliation application">
- </property>
- </product>
- </extension>
-</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/Activator.java b/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/Activator.java
deleted file mode 100644
index 6c6ce1f..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/Activator.java
+++ /dev/null
@@ -1,637 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved.
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial implementation and ideas
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.reconciler.dropins;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.artifact.repository.ArtifactRepositoryManager;
-import org.eclipse.equinox.internal.p2.core.helpers.*;
-import org.eclipse.equinox.internal.p2.extensionlocation.*;
-import org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager;
-import org.eclipse.equinox.internal.p2.update.Configuration;
-import org.eclipse.equinox.internal.p2.update.Utils;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepository;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.directorywatcher.DirectoryWatcher;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfileRegistry;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager;
-import org.eclipse.osgi.service.datalocation.Location;
-import org.osgi.framework.*;
-import org.osgi.service.packageadmin.PackageAdmin;
-
-public class Activator implements BundleActivator {
-
- public static final String ID = "org.eclipse.equinox.p2.reconciler.dropins"; //$NON-NLS-1$
- private static final String DROPINS_DIRECTORY = "org.eclipse.equinox.p2.reconciler.dropins.directory"; //$NON-NLS-1$
- private static final String DROPINS = "dropins"; //$NON-NLS-1$
- private static final String LINKS = "links"; //$NON-NLS-1$
- private static final String CONFIG_INI = "config.ini"; //$NON-NLS-1$
- private static final String PLATFORM_CFG = "org.eclipse.update/platform.xml"; //$NON-NLS-1$
- private static final String CACHE_FILENAME = "cache.timestamps"; //$NON-NLS-1$
- private static PackageAdmin packageAdmin;
- private static BundleContext bundleContext;
- private ServiceReference packageAdminRef;
- private List watchers = new ArrayList();
- private final static Set repositories = new HashSet();
-
- /**
- * Helper method to create an extension location metadata repository at the given URL.
- * If one already exists at that location then an exception will be thrown.
- *
- * This method never returns <code>null</code>.
- *
- * @throws IllegalStateException
- * @throws ProvisionException
- */
- public static IMetadataRepository createExtensionLocationMetadataRepository(URL location, String name, Map properties) throws ProvisionException {
- BundleContext context = getContext();
- IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(context, IMetadataRepositoryManager.class.getName());
- if (manager == null)
- throw new IllegalStateException("MetadataRepositoryManager not registered."); //$NON-NLS-1$
- ExtensionLocationMetadataRepositoryFactory factory = new ExtensionLocationMetadataRepositoryFactory();
- IMetadataRepository repository = factory.create(location, name, ExtensionLocationMetadataRepository.TYPE, properties);
- //we need to add the concrete repository to the repository manager, or its properties will not be correct
- ((MetadataRepositoryManager) manager).addRepository(repository);
- return repository;
- }
-
- /**
- * Helper method to load an extension location metadata repository from the given URL.
- *
- * @throws IllegalStateException
- * @throws ProvisionException
- */
- public static IMetadataRepository loadMetadataRepository(URL location, IProgressMonitor monitor) throws ProvisionException {
- BundleContext context = getContext();
- IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(context, IMetadataRepositoryManager.class.getName());
- if (manager == null)
- throw new IllegalStateException("MetadataRepositoryManager not registered."); //$NON-NLS-1$
- return manager.loadRepository(location, monitor);
- }
-
- /**
- * Helper method to create an extension location artifact repository at the given URL.
- * If one already exists at that location then an exception will be thrown.
- *
- * This method never returns <code>null</code>.
- *
- * @throws IllegalStateException
- * @throws ProvisionException
- */
- public static IArtifactRepository createExtensionLocationArtifactRepository(URL location, String name, Map properties) throws ProvisionException {
- BundleContext context = getContext();
- IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(context, IArtifactRepositoryManager.class.getName());
- if (manager == null)
- throw new IllegalStateException("ArtifactRepositoryManager not registered."); //$NON-NLS-1$
- ExtensionLocationArtifactRepositoryFactory factory = new ExtensionLocationArtifactRepositoryFactory();
- IArtifactRepository repository = factory.create(location, name, ExtensionLocationArtifactRepository.TYPE, properties);
- //we need to add the concrete repository to the repository manager, or its properties will not be correct
- ((ArtifactRepositoryManager) manager).addRepository(repository);
- return repository;
- }
-
- /**
- * Helper method to load an extension location metadata repository from the given URL.
- *
- * @throws IllegalStateException
- * @throws ProvisionException
- */
- public static IArtifactRepository loadArtifactRepository(URL location, IProgressMonitor monitor) throws ProvisionException {
- BundleContext context = getContext();
- IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(context, IArtifactRepositoryManager.class.getName());
- if (manager == null)
- throw new IllegalStateException("ArtifactRepositoryManager not registered."); //$NON-NLS-1$
- return manager.loadRepository(location, monitor);
- }
-
- /*
- * Return the set of metadata repositories known to this bundle. It is constructed from the repos
- * for the drop-ins as well as the ones in the configuration.
- */
- public static Set getRepositories() {
- return repositories;
- }
-
- /* (non-Javadoc)
- * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
- */
- public void start(BundleContext context) throws Exception {
- packageAdminRef = context.getServiceReference(PackageAdmin.class.getName());
- setPackageAdmin((PackageAdmin) context.getService(packageAdminRef));
- bundleContext = context;
-
- // check to see if there is really any work to do. Do this after setting the context, and
- // doing other initialization in case others call our public methods later.
- if (isUpToDate())
- return;
-
- if (!startEarly("org.eclipse.equinox.p2.exemplarysetup")) //$NON-NLS-1$
- return;
- if (!startEarly("org.eclipse.equinox.simpleconfigurator.manipulator")) //$NON-NLS-1$
- return;
- if (!startEarly("org.eclipse.equinox.frameworkadmin.equinox")) //$NON-NLS-1$
- return;
- IProfile profile = getCurrentProfile(context);
- if (profile == null)
- return;
-
- checkConfigIni();
-
- // TODO i-build to i-build backwards compatibility code to remove the
- // old .pooled repositories. Remove this call soon.
- removeOldRepos();
- // create the watcher for the "drop-ins" folder
- watchDropins(profile);
- // keep an eye on the platform.xml
- watchConfiguration();
-
- synchronize(null);
- writeTimestamps();
-
- // we should probably be holding on to these repos by URL
- // see Bug 223422
- // for now explicitly nulling out these repos to allow GC to occur
- repositories.clear();
- }
-
- private void checkConfigIni() {
- File configuration = getConfigurationLocation();
- if (configuration == null) {
- LogHelper.log(new Status(IStatus.ERROR, ID, "Unable to determine configuration location.")); //$NON-NLS-1$
- return;
- }
-
- File configIni = new File(configuration, CONFIG_INI);
- if (!configIni.exists()) {
- // try parent configuration
- File parentConfiguration = getParentConfigurationLocation();
- if (parentConfiguration == null)
- return;
-
- // write shared configuration
- Properties props = new Properties();
- try {
- OutputStream os = null;
- try {
- os = new BufferedOutputStream(new FileOutputStream(configIni));
- String externalForm = Utils.makeRelative(parentConfiguration.toURL().toExternalForm(), getOSGiInstallArea()).replace('\\', '/');
- props.put("osgi.sharedConfiguration.area", externalForm); //$NON-NLS-1$
- props.store(os, "Linked configuration"); //$NON-NLS-1$
- } finally {
- if (os != null)
- os.close();
- }
- } catch (IOException e) {
- LogHelper.log(new Status(IStatus.ERROR, ID, "Unable to create linked configuration location.", e)); //$NON-NLS-1$
- }
- }
- }
-
- /*
- * Return a boolean value indicating whether or not we need to run
- * the reconciler due to changes in the file-system.
- */
- private boolean isUpToDate() {
- // the user might want to force a reconciliation
- if ("true".equals(getContext().getProperty("osgi.checkConfiguration"))) //$NON-NLS-1$//$NON-NLS-2$
- return false;
- // read timestamps
- Properties timestamps = readTimestamps();
- if (timestamps.isEmpty())
- return false;
-
- // check platform.xml
- File configuration = getConfigurationLocation();
- if (configuration != null) {
- File platformXML = new File(configuration, PLATFORM_CFG);
- if (!Long.toString(platformXML.lastModified()).equals(timestamps.getProperty(platformXML.getAbsolutePath())))
- return false;
- // the plugins and features directories are always siblings to the configuration directory
- File parent = configuration.getParentFile();
- if (parent != null) {
- File plugins = new File(parent, "plugins"); //$NON-NLS-1$
- if (!Long.toString(plugins.lastModified()).equals(timestamps.getProperty(plugins.getAbsolutePath())))
- return false;
- File features = new File(parent, "features"); //$NON-NLS-1$
- if (!Long.toString(features.lastModified()).equals(timestamps.getProperty(features.getAbsolutePath())))
- return false;
- }
- }
-
- // if we are in shared mode then check the timestamps of the parent configuration
- File parentConfiguration = getParentConfigurationLocation();
- if (parentConfiguration != null) {
- File platformXML = new File(parentConfiguration, PLATFORM_CFG);
- if (!Long.toString(platformXML.lastModified()).equals(timestamps.getProperty(platformXML.getAbsolutePath())))
- return false;
- // the plugins and features directories are always siblings to the configuration directory
- File parent = parentConfiguration.getParentFile();
- if (parent != null) {
- File plugins = new File(parent, "plugins"); //$NON-NLS-1$
- if (!Long.toString(plugins.lastModified()).equals(timestamps.getProperty(plugins.getAbsolutePath())))
- return false;
- File features = new File(parent, "features"); //$NON-NLS-1$
- if (!Long.toString(features.lastModified()).equals(timestamps.getProperty(features.getAbsolutePath())))
- return false;
- }
- }
-
- // check dropins folders
- File[] dropins = getDropinsDirectories();
- for (int i = 0; i < dropins.length; i++) {
- if (!Long.toString(dropins[i].lastModified()).equals(timestamps.getProperty(dropins[i].getAbsolutePath())))
- return false;
- }
- // check links folder
- File[] links = getLinksDirectories();
- for (int i = 0; i < links.length; i++) {
- if (!Long.toString(links[i].lastModified()).equals(timestamps.getProperty(links[i].getAbsolutePath())))
- return false;
- }
- return true;
- }
-
- /*
- * Restore the cached timestamp values.
- */
- private Properties readTimestamps() {
- Properties result = new Properties();
- File file = Activator.getContext().getDataFile(CACHE_FILENAME);
- if (!file.exists())
- return result;
- InputStream input = null;
- try {
- input = new BufferedInputStream(new FileInputStream(file));
- result.load(input);
- } catch (IOException e) {
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Error occurred while reading cached timestamps for reconciliation.", e)); //$NON-NLS-1$
- } finally {
- try {
- if (input != null)
- input.close();
- } catch (IOException e) {
- // ignore
- }
- }
- return result;
- }
-
- /*
- * Persist the cache timestamp values.
- */
- private void writeTimestamps() {
- Properties timestamps = new Properties();
- // cache the platform.xml file timestamp
- File configuration = getConfigurationLocation();
- if (configuration != null) {
- File platformXML = new File(configuration, PLATFORM_CFG);
- // always write out the timestamp even if it doesn't exist so we can detect addition/removal
- timestamps.put(platformXML.getAbsolutePath(), Long.toString(platformXML.lastModified()));
- File parent = configuration.getParentFile();
- if (parent != null) {
- File plugins = new File(parent, "plugins"); //$NON-NLS-1$
- timestamps.put(plugins.getAbsolutePath(), Long.toString(plugins.lastModified()));
- File features = new File(parent, "features"); //$NON-NLS-1$
- timestamps.put(features.getAbsolutePath(), Long.toString(features.lastModified()));
- }
- }
- // if we are in shared mode then write out the information for the parent configuration
- File parentConfiguration = getParentConfigurationLocation();
- if (parentConfiguration != null) {
- File platformXML = new File(parentConfiguration, PLATFORM_CFG);
- // always write out the timestamp even if it doesn't exist so we can detect addition/removal
- timestamps.put(platformXML.getAbsolutePath(), Long.toString(platformXML.lastModified()));
- File parent = parentConfiguration.getParentFile();
- if (parent != null) {
- File plugins = new File(parent, "plugins"); //$NON-NLS-1$
- timestamps.put(plugins.getAbsolutePath(), Long.toString(plugins.lastModified()));
- File features = new File(parent, "features"); //$NON-NLS-1$
- timestamps.put(features.getAbsolutePath(), Long.toString(features.lastModified()));
- }
- }
-
- // cache the dropins folders timestamp
- // always write out the timestamp even if it doesn't exist so we can detect addition/removal
- File[] dropins = getDropinsDirectories();
- for (int i = 0; i < dropins.length; i++) {
- timestamps.put(dropins[i].getAbsolutePath(), Long.toString(dropins[i].lastModified()));
- }
- // cache links folders timestamps
- // always write out the timestamp even if it doesn't exist so we can detect addition/removal
- File[] links = getLinksDirectories();
- for (int i = 0; i < links.length; i++) {
- timestamps.put(links[i].getAbsolutePath(), Long.toString(links[i].lastModified()));
- }
-
- // write out the file
- File file = Activator.getContext().getDataFile(CACHE_FILENAME);
- OutputStream output = null;
- try {
- file.delete();
- output = new BufferedOutputStream(new FileOutputStream(file));
- timestamps.store(output, null);
- } catch (IOException e) {
- LogHelper.log(new Status(IStatus.ERROR, ID, "Error occurred while writing cache timestamps for reconciliation.", e)); //$NON-NLS-1$
- } finally {
- if (output != null)
- try {
- output.close();
- } catch (IOException e) {
- // ignore
- }
- }
- }
-
- /*
- * TODO Backwards compatibility code to remove the
- * old .pooled repositories from the saved list. Remove
- * this method soon.
- */
- private void removeOldRepos() {
- URL osgiInstallArea = getOSGiInstallArea();
- if (osgiInstallArea == null)
- return;
- URL location = null;
- try {
- location = new URL(getOSGiInstallArea(), ".pooled"); //$NON-NLS-1$
- } catch (MalformedURLException e) {
- LogHelper.log(new Status(IStatus.ERROR, ID, "Error occurred while removing old repositories.", e)); //$NON-NLS-1$
- return;
- }
- BundleContext context = getContext();
- IArtifactRepositoryManager artifactManager = (IArtifactRepositoryManager) ServiceHelper.getService(context, IArtifactRepositoryManager.class.getName());
- if (artifactManager == null)
- throw new IllegalStateException("ArtifactRepositoryManager not registered."); //$NON-NLS-1$
- artifactManager.removeRepository(location);
- IMetadataRepositoryManager metadataManager = (IMetadataRepositoryManager) ServiceHelper.getService(context, IMetadataRepositoryManager.class.getName());
- if (metadataManager == null)
- throw new IllegalStateException("MetadataRepositoryManager not registered."); //$NON-NLS-1$
- metadataManager.removeRepository(location);
- }
-
- private boolean startEarly(String bundleName) throws BundleException {
- Bundle bundle = getBundle(bundleName);
- if (bundle == null)
- return false;
- bundle.start(Bundle.START_TRANSIENT);
- return true;
- }
-
- /*
- * Synchronize the profile.
- */
- public static synchronized void synchronize(IProgressMonitor monitor) {
- IProfile profile = getCurrentProfile(bundleContext);
- if (profile == null)
- return;
- // create the profile synchronizer on all available repositories
- ProfileSynchronizer synchronizer = new ProfileSynchronizer(profile, repositories);
- IStatus result = synchronizer.synchronize(monitor);
- if (!result.isOK() && !(result.getSeverity() == IStatus.CANCEL))
- LogHelper.log(result);
- }
-
- /*
- * Watch the platform.xml file.
- */
- private void watchConfiguration() {
- File configFile = getConfigurationLocation();
- if (configFile == null) {
- LogHelper.log(new Status(IStatus.ERROR, ID, "Unable to determine configuration location.")); //$NON-NLS-1$
- return;
- }
-
- configFile = new File(configFile, PLATFORM_CFG);
- if (!configFile.exists()) {
- // try parent configuration
- File parentConfiguration = getParentConfigurationLocation();
- if (parentConfiguration == null)
- return;
-
- File shareConfigFile = new File(parentConfiguration, PLATFORM_CFG);
- if (!shareConfigFile.exists())
- return;
-
- Configuration config = new Configuration();
- config.setDate(Long.toString(new Date().getTime()));
- config.setVersion("3.0"); //$NON-NLS-1$
- try {
- String sharedUR = Utils.makeRelative(shareConfigFile.toURL().toExternalForm(), getOSGiInstallArea()).replace('\\', '/');
- config.setSharedUR(sharedUR);
- // ensure that org.eclipse.update directory that holds platform.xml is pre-created.
- configFile.getParentFile().mkdirs();
- config.save(configFile, getOSGiInstallArea());
- } catch (IOException e) {
- LogHelper.log(new Status(IStatus.ERROR, ID, "Unable to create linked platform.xml.", e)); //$NON-NLS-1$
- return;
- } catch (ProvisionException e) {
- LogHelper.log(new Status(IStatus.ERROR, ID, "Unable to create linked platform.xml.", e)); //$NON-NLS-1$
- return;
- }
-
- }
- DirectoryWatcher watcher = new DirectoryWatcher(configFile.getParentFile());
- PlatformXmlListener listener = new PlatformXmlListener(configFile);
- watcher.addListener(listener);
- watcher.poll();
- repositories.addAll(listener.getMetadataRepositories());
- }
-
- /*
- * Create a new directory watcher with a repository listener on the drop-ins folder.
- */
- private void watchDropins(IProfile profile) {
- List directories = new ArrayList();
- File[] dropinsDirectories = getDropinsDirectories();
- directories.addAll(Arrays.asList(dropinsDirectories));
- File[] linksDirectories = getLinksDirectories();
- directories.addAll(Arrays.asList(linksDirectories));
- if (directories.isEmpty())
- return;
-
- DropinsRepositoryListener listener = new DropinsRepositoryListener(Activator.getContext(), DROPINS);
- DirectoryWatcher watcher = new DirectoryWatcher((File[]) directories.toArray(new File[directories.size()]));
- watcher.addListener(listener);
- watcher.poll();
- repositories.addAll(listener.getMetadataRepositories());
- }
-
- /* (non-Javadoc)
- * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
- */
- public void stop(BundleContext context) throws Exception {
- for (Iterator iter = watchers.iterator(); iter.hasNext();) {
- DirectoryWatcher watcher = (DirectoryWatcher) iter.next();
- watcher.stop();
- }
- bundleContext = null;
- setPackageAdmin(null);
- context.ungetService(packageAdminRef);
- }
-
- /*
- * Return the bundle context for this bundle.
- */
- public static BundleContext getContext() {
- return bundleContext;
- }
-
- /*
- * Helper method to get the configuration location. Return null if
- * it is unavailable.
- */
- public static File getConfigurationLocation() {
- Location configurationLocation = (Location) ServiceHelper.getService(getContext(), Location.class.getName(), Location.CONFIGURATION_FILTER);
- if (configurationLocation == null || !configurationLocation.isSet())
- return null;
- URL url = configurationLocation.getURL();
- if (url == null)
- return null;
- return URLUtil.toFile(url);
- }
-
- /*
- * Helper method to get the shared configuration location. Return null if
- * it is unavailable.
- */
- public static File getParentConfigurationLocation() {
- Location configurationLocation = (Location) ServiceHelper.getService(getContext(), Location.class.getName(), Location.CONFIGURATION_FILTER);
- if (configurationLocation == null || !configurationLocation.isSet())
- return null;
-
- Location sharedConfigurationLocation = configurationLocation.getParentLocation();
- if (sharedConfigurationLocation == null)
- return null;
-
- URL url = sharedConfigurationLocation.getURL();
- if (url == null)
- return null;
- return URLUtil.toFile(url);
- }
-
- /*
- * Do a look-up and return the OSGi install area if it is set.
- */
- public static URL getOSGiInstallArea() {
- Location location = (Location) ServiceHelper.getService(Activator.getContext(), Location.class.getName(), Location.INSTALL_FILTER);
- if (location == null)
- return null;
- if (!location.isSet())
- return null;
- return location.getURL();
- }
-
- /*
- * Helper method to return the eclipse.home location. Return
- * null if it is unavailable.
- */
- public static File getEclipseHome() {
- Location eclipseHome = (Location) ServiceHelper.getService(getContext(), Location.class.getName(), Location.ECLIPSE_HOME_FILTER);
- if (eclipseHome == null || !eclipseHome.isSet())
- return null;
- URL url = eclipseHome.getURL();
- if (url == null)
- return null;
- return URLUtil.toFile(url);
- }
-
- /*
- * Return the locations of the links directories. There is a potential for
- * more than one to be returned here if we are running in shared mode.
- */
- private static File[] getLinksDirectories() {
- List linksDirectories = new ArrayList();
- File root = getEclipseHome();
- if (root != null)
- linksDirectories.add(new File(root, LINKS));
-
- // check to see if we are in shared mode. if so, then add the user's local
- // links directory. (the shared one will have been added above with the
- // reference to Eclipse home)
- if (getParentConfigurationLocation() != null) {
- File configuration = getConfigurationLocation();
- if (configuration != null && configuration.getParentFile() != null)
- linksDirectories.add(new File(configuration.getParentFile(), LINKS));
- }
- return (File[]) linksDirectories.toArray(new File[linksDirectories.size()]);
- }
-
- /*
- * Return the location of the dropins directories. These include the one specified by
- * the "org.eclipse.equinox.p2.reconciler.dropins.directory" System property and the one
- * in the Eclipse home directory. If we are in shared mode, then also add the user's
- * local dropins directory.
- */
- private static File[] getDropinsDirectories() {
- List dropinsDirectories = new ArrayList();
- // did the user specify one via System properties?
- String watchedDirectoryProperty = bundleContext.getProperty(DROPINS_DIRECTORY);
- if (watchedDirectoryProperty != null)
- dropinsDirectories.add(new File(watchedDirectoryProperty));
-
- // always add the one in the Eclipse home directory
- File root = getEclipseHome();
- if (root != null)
- dropinsDirectories.add(new File(root, DROPINS));
-
- // check to see if we are in shared mode. if so, then add the user's local
- // dropins directory. (the shared one will have been added above with the
- // reference to Eclipse home)
- if (getParentConfigurationLocation() != null) {
- File configuration = getConfigurationLocation();
- if (configuration != null && configuration.getParentFile() != null)
- dropinsDirectories.add(new File(configuration.getParentFile(), DROPINS));
- }
- return (File[]) dropinsDirectories.toArray(new File[dropinsDirectories.size()]);
- }
-
- /*
- * Return the current profile or null if it cannot be retrieved.
- */
- public static IProfile getCurrentProfile(BundleContext context) {
- ServiceReference reference = context.getServiceReference(IProfileRegistry.class.getName());
- if (reference == null)
- return null;
- IProfileRegistry profileRegistry = (IProfileRegistry) context.getService(reference);
- try {
- return profileRegistry.getProfile(IProfileRegistry.SELF);
- } finally {
- context.ungetService(reference);
- }
- }
-
- private static synchronized void setPackageAdmin(PackageAdmin service) {
- packageAdmin = service;
- }
-
- /*
- * Return the bundle with the given symbolic name, or null if it cannot be found.
- */
- static synchronized Bundle getBundle(String symbolicName) {
- if (packageAdmin == null)
- return null;
- Bundle[] bundles = packageAdmin.getBundles(symbolicName, null);
- if (bundles == null)
- return null;
- //Return the first bundle that is not installed or uninstalled
- for (int i = 0; i < bundles.length; i++) {
- if ((bundles[i].getState() & (Bundle.INSTALLED | Bundle.UNINSTALLED)) == 0) {
- return bundles[i];
- }
- }
- return null;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/Application.java b/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/Application.java
deleted file mode 100644
index ddab617..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/Application.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.eclipse.equinox.internal.p2.reconciler.dropins;
-
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-
-public class Application implements IApplication {
-
- public Object start(IApplicationContext context) throws Exception {
- return null;
- }
-
- public void stop() {
- //Nothing to do
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/DropinsRepositoryListener.java b/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/DropinsRepositoryListener.java
deleted file mode 100644
index 8771e00..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/DropinsRepositoryListener.java
+++ /dev/null
@@ -1,299 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.reconciler.dropins;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.extensionlocation.ExtensionLocationArtifactRepository;
-import org.eclipse.equinox.internal.p2.extensionlocation.ExtensionLocationMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepository;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository;
-import org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-
-public class DropinsRepositoryListener extends RepositoryListener {
-
- private static final String PLUGINS = "plugins"; //$NON-NLS-1$
- private static final String FEATURES = "features"; //$NON-NLS-1$
- private static final String JAR = ".jar"; //$NON-NLS-1$
- private static final String LINK = ".link"; //$NON-NLS-1$
- private static final String ZIP = ".zip"; //$NON-NLS-1$
- private static final String LINKS_PATH = "path"; //$NON-NLS-1$
- private static final String DROPIN_ARTIFACT_REPOSITORIES = "dropin.artifactRepositories"; //$NON-NLS-1$
- private static final String DROPIN_METADATA_REPOSITORIES = "dropin.metadataRepositories"; //$NON-NLS-1$
- private static final String PIPE = "|"; //$NON-NLS-1$
- private BundleContext context;
- private List metadataRepositories = new ArrayList();
- private List artifactRepositories = new ArrayList();
-
- public DropinsRepositoryListener(BundleContext context, String repositoryName) {
- super(context, repositoryName, null, true);
- this.context = context;
- }
-
- public boolean isInterested(File file) {
- return true;
- }
-
- public boolean added(File file) {
- if (super.added(file))
- return true;
-
- URL repositoryURL = createRepositoryURL(file);
- if (repositoryURL != null) {
- getMetadataRepository(repositoryURL);
- getArtifactRepository(repositoryURL);
- }
- return true;
- }
-
- public boolean changed(File file) {
- if (super.changed(file))
- return true;
-
- URL repositoryURL = createRepositoryURL(file);
- if (repositoryURL != null) {
- getMetadataRepository(repositoryURL);
- getArtifactRepository(repositoryURL);
- }
- return true;
- }
-
- private String getLinkPath(File file) {
- Properties links = new Properties();
- try {
- InputStream input = new BufferedInputStream(new FileInputStream(file));
- try {
- links.load(input);
- } finally {
- input.close();
- }
- } catch (IOException e) {
- // ignore
- }
- String path = links.getProperty(LINKS_PATH);
- if (path == null) {
- // log
- return null;
- }
-
- // parse out link information
- if (path.startsWith("r ")) { //$NON-NLS-1$
- path = path.substring(2).trim();
- } else if (path.startsWith("rw ")) { //$NON-NLS-1$
- path = path.substring(3).trim();
- } else {
- path = path.trim();
- }
- return path;
- }
-
- private URL createRepositoryURL(File file) {
- try {
- file = file.getCanonicalFile();
- String fileName = file.getName();
- if (fileName.endsWith(LINK))
- return getLinkRepository(file, true);
-
- if (file.isDirectory()) {
- // Check if the directory is either the plugins directory of an extension location
- // or the features directory and the plugins folder is not present.
- // This extra check on the features directory is done to avoid adding the parent URL twice
- if (file.getName().equals(PLUGINS)) {
- File parentFile = file.getParentFile();
- return (parentFile != null) ? parentFile.toURL() : null;
- }
- if (file.getName().equals(FEATURES)) {
- File parentFile = file.getParentFile();
- if (parentFile == null || new File(parentFile, PLUGINS).isDirectory())
- return null;
- return parentFile.toURL();
- }
- return file.toURL();
- }
-
- if (fileName.endsWith(ZIP) || fileName.endsWith(JAR))
- return new URL("jar:" + file.toURL().toExternalForm() + "!/"); //$NON-NLS-1$ //$NON-NLS-2$
-
- // last resort -- we'll try to interpret the file as a link
- return getLinkRepository(file, false);
- } catch (IOException e) {
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Error occurred while building repository location from file: " + file.getAbsolutePath(), e)); //$NON-NLS-1$
- }
- return null;
- }
-
- private URL getLinkRepository(File file, boolean logMissingLink) throws IOException {
- String path = getLinkPath(file);
- if (path == null) {
- if (logMissingLink)
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Unable to determine link location from file: " + file.getAbsolutePath())); //$NON-NLS-1$
- return null;
- }
- File linkedFile = new File(path);
- if (!linkedFile.isAbsolute()) {
- // link support is relative to the install root
- File root = Activator.getEclipseHome();
- if (root != null)
- linkedFile = new File(root, path);
- }
- File canonicalFile = linkedFile.getCanonicalFile();
- return canonicalFile.toURL();
- }
-
- public void getMetadataRepository(URL repoURL) {
- try {
- IMetadataRepository repository = null;
- try {
- ExtensionLocationMetadataRepository.validate(repoURL, null);
- Map properties = new HashMap();
- properties.put(IRepository.PROP_SYSTEM, Boolean.TRUE.toString());
- repository = Activator.createExtensionLocationMetadataRepository(repoURL, "dropins metadata repo: " + repoURL.toExternalForm(), properties); //$NON-NLS-1$
- } catch (ProvisionException e) {
- repository = Activator.loadMetadataRepository(repoURL, null);
- }
- metadataRepositories.add(repository);
- } catch (ProvisionException ex) {
- LogHelper.log(ex);
- }
- }
-
- public void getArtifactRepository(URL repoURL) {
- try {
- IArtifactRepository repository = null;
- try {
- ExtensionLocationArtifactRepository.validate(repoURL, null);
- Map properties = new HashMap();
- properties.put(IRepository.PROP_SYSTEM, Boolean.TRUE.toString());
- repository = Activator.createExtensionLocationArtifactRepository(repoURL, "dropins artifact repo: " + repoURL.toExternalForm(), properties); //$NON-NLS-1$
- // fall through here and call the load which then adds the repo to the manager's list
- } catch (ProvisionException ex) {
- repository = Activator.loadArtifactRepository(repoURL, null);
- }
- artifactRepositories.add(repository);
- } catch (ProvisionException ex) {
- LogHelper.log(ex);
- }
- }
-
- public void stopPoll() {
- synchronizeDropinMetadataRepositories();
- synchronizeDropinArtifactRepositories();
- super.stopPoll();
- }
-
- private void synchronizeDropinMetadataRepositories() {
- List currentRepositories = new ArrayList();
- for (Iterator it = metadataRepositories.iterator(); it.hasNext();) {
- IMetadataRepository repository = (IMetadataRepository) it.next();
- String urlString = repository.getLocation().toExternalForm();
- currentRepositories.add(urlString);
- }
- List previousRepositories = getListRepositoryProperty(getMetadataRepository(), DROPIN_METADATA_REPOSITORIES);
- for (Iterator iterator = previousRepositories.iterator(); iterator.hasNext();) {
- String repository = (String) iterator.next();
- if (!currentRepositories.contains(repository))
- removeMetadataRepository(repository);
- }
- setListRepositoryProperty(getMetadataRepository(), DROPIN_METADATA_REPOSITORIES, currentRepositories);
- }
-
- private void removeMetadataRepository(String urlString) {
- ServiceReference reference = context.getServiceReference(IMetadataRepositoryManager.class.getName());
- IMetadataRepositoryManager manager = null;
- if (reference != null)
- manager = (IMetadataRepositoryManager) context.getService(reference);
- if (manager == null)
- throw new IllegalStateException(Messages.metadata_repo_manager_not_registered);
-
- try {
- manager.removeRepository(new URL(urlString));
- } catch (MalformedURLException e) {
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Error occurred while creating URL from: " + urlString, e)); //$NON-NLS-1$
- } finally {
- context.ungetService(reference);
- }
- }
-
- private void synchronizeDropinArtifactRepositories() {
- List currentRepositories = new ArrayList();
- for (Iterator it = artifactRepositories.iterator(); it.hasNext();) {
- IArtifactRepository repository = (IArtifactRepository) it.next();
- String urlString = repository.getLocation().toExternalForm();
- currentRepositories.add(urlString);
- }
- List previousRepositories = getListRepositoryProperty(getArtifactRepository(), DROPIN_ARTIFACT_REPOSITORIES);
- for (Iterator iterator = previousRepositories.iterator(); iterator.hasNext();) {
- String repository = (String) iterator.next();
- if (!currentRepositories.contains(repository))
- removeArtifactRepository(repository);
- }
- setListRepositoryProperty(getArtifactRepository(), DROPIN_ARTIFACT_REPOSITORIES, currentRepositories);
- }
-
- public void removeArtifactRepository(String urlString) {
- ServiceReference reference = context.getServiceReference(IArtifactRepositoryManager.class.getName());
- IArtifactRepositoryManager manager = null;
- if (reference != null)
- manager = (IArtifactRepositoryManager) context.getService(reference);
- if (manager == null)
- throw new IllegalStateException(Messages.artifact_repo_manager_not_registered);
-
- try {
- manager.removeRepository(new URL(urlString));
- } catch (MalformedURLException e) {
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Error occurred while creating URL from: " + urlString, e)); //$NON-NLS-1$
- } finally {
- context.ungetService(reference);
- }
- }
-
- private List getListRepositoryProperty(IRepository repository, String key) {
- List listProperty = new ArrayList();
- String dropinRepositories = (String) repository.getProperties().get(key);
- if (dropinRepositories != null) {
- StringTokenizer tokenizer = new StringTokenizer(dropinRepositories, PIPE);
- while (tokenizer.hasMoreTokens()) {
- listProperty.add(tokenizer.nextToken());
- }
- }
- return listProperty;
- }
-
- private void setListRepositoryProperty(IRepository repository, String key, List listProperty) {
- StringBuffer buffer = new StringBuffer();
- for (Iterator it = listProperty.iterator(); it.hasNext();) {
- String repositoryString = (String) it.next();
- buffer.append(repositoryString);
- if (it.hasNext())
- buffer.append(PIPE);
- }
- String value = (buffer.length() == 0) ? null : buffer.toString();
- repository.setProperty(key, value);
- }
-
- public Collection getMetadataRepositories() {
- List result = new ArrayList(metadataRepositories);
- result.add(getMetadataRepository());
- return result;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/Messages.java b/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/Messages.java
deleted file mode 100644
index d207742..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/Messages.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.reconciler.dropins;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * @since 1.0
- */
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.reconciler.dropins.messages"; //$NON-NLS-1$
- public static String artifact_repo_manager_not_registered;
- public static String errorLoadingRepository;
- public static String errorProcessingConfg;
- public static String metadata_repo_manager_not_registered;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- // prevent instantiation
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/PlatformXmlListener.java b/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/PlatformXmlListener.java
deleted file mode 100644
index 296d021..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/PlatformXmlListener.java
+++ /dev/null
@@ -1,258 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.reconciler.dropins;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.URLUtil;
-import org.eclipse.equinox.internal.p2.extensionlocation.*;
-import org.eclipse.equinox.internal.p2.update.*;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepository;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository;
-import org.eclipse.equinox.internal.provisional.p2.directorywatcher.DirectoryChangeListener;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * This class watches a platform.xml file. Note that we don't really need to use the DirectoryChangeListener
- * framework since we are doing a single poll on startup, but we will leave the code here in case we
- * want to watch for changes during a session. Note that the code to actually synchronize the repositories
- * is on the Activator so we will need to call out to that if this behaviour is changed.
- *
- * @since 1.0
- */
-public class PlatformXmlListener extends DirectoryChangeListener {
-
- private static final String PLATFORM_XML = "platform.xml"; //$NON-NLS-1$
- private boolean changed = false;
- private File root;
- private long lastModified = -1l;
- private Set configRepositories;
-
- private String toString(String[] list) {
- if (list == null || list.length == 0)
- return ""; //$NON-NLS-1$
- StringBuffer buffer = new StringBuffer();
- for (int i = 0; i < list.length; i++) {
- buffer.append(list[i]);
- if (i + 1 < list.length)
- buffer.append(',');
- }
- return buffer.toString();
- }
-
- /*
- * Construct a new listener based on the given platform.xml file.
- */
- public PlatformXmlListener(File file) {
- super();
- if (!PLATFORM_XML.equals(file.getName()))
- throw new IllegalArgumentException();
- this.root = file;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.directorywatcher.IDirectoryChangeListener#added(java.io.File)
- */
- public boolean added(File file) {
- changed = changed || PLATFORM_XML.equals(file.getName());
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.directorywatcher.IDirectoryChangeListener#changed(java.io.File)
- */
- public boolean changed(File file) {
- changed = changed || PLATFORM_XML.equals(file.getName());
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.directorywatcher.IDirectoryChangeListener#getSeenFile(java.io.File)
- */
- public Long getSeenFile(File file) {
- return new Long(0);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.directorywatcher.DirectoryChangeListener#isInterested(java.io.File)
- */
- public boolean isInterested(File file) {
- return file.getName().equals(PLATFORM_XML) && lastModified != file.lastModified();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.directorywatcher.IDirectoryChangeListener#removed(java.io.File)
- */
- public boolean removed(File file) {
- changed = changed || PLATFORM_XML.equals(file.getName());
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.directorywatcher.IDirectoryChangeListener#startPoll()
- */
- public void startPoll() {
- changed = false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.directorywatcher.IDirectoryChangeListener#stopPoll()
- */
- public void stopPoll() {
- if (changed) {
- lastModified = root.lastModified();
- try {
- Configuration configuration = ConfigurationParser.parse(root, Activator.getOSGiInstallArea());
- synchronizeConfiguration(configuration);
- } catch (ProvisionException e) {
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, Messages.errorProcessingConfg, e));
- }
- }
- changed = false;
- }
-
- public Collection getMetadataRepositories() {
- if (configRepositories == null)
- return Collections.EMPTY_SET;
- return configRepositories;
- }
-
- /*
- * Look through the given list of repositories and see if there is one
- * currently associated with the given url string. Return null if one could not
- * be found.
- */
- private IMetadataRepository getMatchingRepo(Collection repositoryList, String urlString) {
- if (repositoryList == null)
- return null;
- IPath urlPath = new Path(urlString).makeAbsolute();
- for (Iterator iter = repositoryList.iterator(); iter.hasNext();) {
- IMetadataRepository repo = (IMetadataRepository) iter.next();
- Path repoPath = new Path(repo.getLocation().toExternalForm());
- if (repoPath.makeAbsolute().equals(urlPath))
- return repo;
- // normalize the URLs to be the same
- if (repo instanceof ExtensionLocationMetadataRepository) {
- try {
- File one = ExtensionLocationMetadataRepository.getBaseDirectory(repo.getLocation());
- File two = ExtensionLocationMetadataRepository.getBaseDirectory(new URL(urlString));
- if (one.equals(two))
- return repo;
- } catch (ProvisionException e) {
- // Skip the repo if it's not found. Log all other errors.
- if (e.getStatus().getCode() != ProvisionException.REPOSITORY_NOT_FOUND)
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Error occurred while comparing repository locations.", e)); //$NON-NLS-1$
- } catch (MalformedURLException e) {
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Error occurred while comparing repository locations.", e)); //$NON-NLS-1$
- }
- }
- }
- return null;
- }
-
- /*
- * Ensure that we have a repository for each site in the given configuration.
- */
- protected void synchronizeConfiguration(Configuration config) {
- List sites = config.getSites();
- Set newRepos = new LinkedHashSet();
- Set toBeRemoved = new HashSet();
- for (Iterator iter = sites.iterator(); iter.hasNext();) {
- Site site = (Site) iter.next();
- String siteURL = site.getUrl();
- IMetadataRepository match = getMatchingRepo(Activator.getRepositories(), siteURL);
- if (match == null) {
- try {
- String eclipseExtensionURL = siteURL + Constants.EXTENSION_LOCATION;
- URL location = new URL(eclipseExtensionURL);
- Map properties = new HashMap();
- properties.put(SiteListener.SITE_POLICY, site.getPolicy());
- properties.put(SiteListener.SITE_LIST, toString(site.getList()));
- properties.put(IRepository.PROP_SYSTEM, Boolean.TRUE.toString());
-
- // deal with the metadata repository
- IMetadataRepository metadataRepository = null;
- try {
- metadataRepository = Activator.createExtensionLocationMetadataRepository(location, "extension location metadata repository: " + location.toExternalForm(), properties); //$NON-NLS-1$
- } catch (ProvisionException ex) {
- try {
- metadataRepository = Activator.loadMetadataRepository(location, null);
- } catch (ProvisionException inner) {
- // handle the case where someone has removed the extension location from
- // disk. Note: we use the siteURL not the eclipseextensionURL
- URL fileURL = new URL(siteURL);
- File file = URLUtil.toFile(fileURL);
- if (file != null && !file.exists()) {
- toBeRemoved.add(site);
- continue;
- }
- throw inner;
- }
- // set the repository properties here in case they have changed since the last time we loaded
- for (Iterator inner = properties.keySet().iterator(); inner.hasNext();) {
- String key = (String) inner.next();
- String value = (String) properties.get(key);
- metadataRepository.setProperty(key, value);
- }
- // now that we know we have the right properties set on the repository
- // we will force initialization so things like the timestamp will be updated
- // if necessary
- if (metadataRepository instanceof ExtensionLocationMetadataRepository)
- ((ExtensionLocationMetadataRepository) metadataRepository).ensureInitialized();
- }
- newRepos.add(metadataRepository);
-
- // now the artifact repository
- try {
- Activator.createExtensionLocationArtifactRepository(location, "extension location artifact repository: " + location.toExternalForm(), properties); //$NON-NLS-1$
- } catch (ProvisionException ex) {
- IArtifactRepository artifactRepository = Activator.loadArtifactRepository(location, null);
- // set the repository properties here in case they have changed since the last time we loaded
- for (Iterator inner = properties.keySet().iterator(); inner.hasNext();) {
- String key = (String) inner.next();
- String value = (String) properties.get(key);
- artifactRepository.setProperty(key, value);
- }
- // now that we know we have the right properties set on the repository
- // we will force initialization so things like the timestamp will be updated
- // if necessary
- if (artifactRepository instanceof ExtensionLocationArtifactRepository)
- ((ExtensionLocationArtifactRepository) artifactRepository).ensureInitialized();
- }
- } catch (MalformedURLException e) {
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.errorLoadingRepository, siteURL), e));
- } catch (ProvisionException e) {
- // Skip the repo if it's not found. Log all other errors.
- if (e.getStatus().getCode() != ProvisionException.REPOSITORY_NOT_FOUND)
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.errorLoadingRepository, siteURL), e));
- }
- } else {
- newRepos.add(match);
- }
- }
- if (!toBeRemoved.isEmpty()) {
- for (Iterator iter = toBeRemoved.iterator(); iter.hasNext();)
- config.removeSite((Site) iter.next());
- try {
- config.save(root, Activator.getOSGiInstallArea());
- } catch (ProvisionException e) {
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Error occurred while saving configuration at: " + root, e)); //$NON-NLS-1$
- }
- }
- configRepositories = newRepos;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/ProfileSynchronizer.java b/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/ProfileSynchronizer.java
deleted file mode 100644
index efd5933..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/ProfileSynchronizer.java
+++ /dev/null
@@ -1,412 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved.
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial implementation and ideas
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.reconciler.dropins;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import java.util.Map.Entry;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.extensionlocation.Constants;
-import org.eclipse.equinox.internal.provisional.configurator.Configurator;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepository;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IFileArtifactRepository;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.osgi.service.environment.EnvironmentInfo;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-
-/**
- * Synchronizes a profile with a set of repositories.
- */
-public class ProfileSynchronizer {
- private static final String RECONCILER_APPLICATION_ID = "org.eclipse.equinox.p2.reconciler.application"; //$NON-NLS-1$
- private static final String TIMESTAMPS_FILE_PREFIX = "timestamps"; //$NON-NLS-1$
- private static final String PROFILE_TIMESTAMP = "PROFILE"; //$NON-NLS-1$
- private static final String NO_TIMESTAMP = "-1"; //$NON-NLS-1$
- private static final String PROP_FROM_DROPINS = "org.eclipse.equinox.p2.reconciler.dropins"; //$NON-NLS-1$
-
- public class ListCollector extends Collector {
- public List getList() {
- return super.getList();
- }
- }
-
- private static final String CACHE_EXTENSIONS = "org.eclipse.equinox.p2.cache.extensions"; //$NON-NLS-1$
- private static final String PIPE = "|"; //$NON-NLS-1$
- final IProfile profile;
-
- final Map repositoryMap;
- private Properties timestamps;
-
- /*
- * Constructor for the class.
- */
- public ProfileSynchronizer(IProfile profile, Collection repositories) {
- this.profile = profile;
- this.repositoryMap = new HashMap();
- for (Iterator it = repositories.iterator(); it.hasNext();) {
- IMetadataRepository repository = (IMetadataRepository) it.next();
- repositoryMap.put(repository.getLocation().toExternalForm(), repository);
- }
- }
-
- /*
- * Synchronize the profile with the list of metadata repositories.
- */
- public IStatus synchronize(IProgressMonitor monitor) {
- readTimestamps();
- if (isUpToDate())
- return Status.OK_STATUS;
-
- IStatus status = synchronizeCacheExtensions();
- if (!status.isOK())
- return status;
-
- ProvisioningContext context = getContext();
- ProfileChangeRequest request = createProfileChangeRequest(context);
-
- if (request == null)
- return Status.OK_STATUS;
-
- SubMonitor sub = SubMonitor.convert(monitor, 100);
- try {
- //create the provisioning plan
- ProvisioningPlan plan = createProvisioningPlan(request, context, sub.newChild(50));
-
- status = plan.getStatus();
- if (status.getSeverity() == IStatus.ERROR || plan.getStatus().getSeverity() == IStatus.CANCEL || plan.getOperands().length == 0)
- return status;
-
- //invoke the engine to perform installs/uninstalls
- IStatus engineResult = executePlan(plan, context, sub.newChild(50));
-
- if (!engineResult.isOK())
- return engineResult;
- writeTimestamps();
-
- applyConfiguration();
-
- return status;
- } finally {
- sub.done();
- }
- }
-
- private void writeTimestamps() {
- timestamps.clear();
- timestamps.put(PROFILE_TIMESTAMP, Long.toString(profile.getTimestamp()));
- for (Iterator it = repositoryMap.entrySet().iterator(); it.hasNext();) {
- Entry entry = (Entry) it.next();
- IMetadataRepository repository = (IMetadataRepository) entry.getValue();
- Map props = repository.getProperties();
- String timestamp = null;
- if (props != null)
- timestamp = (String) props.get(IRepository.PROP_TIMESTAMP);
-
- if (timestamp == null)
- timestamp = NO_TIMESTAMP;
-
- timestamps.put(entry.getKey(), timestamp);
- }
-
- try {
- File file = Activator.getContext().getDataFile(TIMESTAMPS_FILE_PREFIX + profile.getProfileId().hashCode());
- OutputStream os = new BufferedOutputStream(new FileOutputStream(file));
- try {
- timestamps.save(os, "Timestamps for " + profile.getProfileId()); //$NON-NLS-1$
- } finally {
- if (os != null)
- os.close();
- }
- } catch (FileNotFoundException e) {
- //Ignore
- } catch (IOException e) {
- //Ignore
- }
- }
-
- private boolean isUpToDate() {
- //Backward compatibility to be removed post M7
- if (profile.query(new InstallableUnitQuery("org.eclipse.equinox.p2.dropins"), new Collector(), null).size() > 0)
- return false;
- //End of backward compatibility to be removed post M7
- String lastKnownProfileTimeStamp = (String) timestamps.remove(PROFILE_TIMESTAMP);
- if (lastKnownProfileTimeStamp == null)
- return false;
- if (!lastKnownProfileTimeStamp.equals(Long.toString(profile.getTimestamp())))
- return false;
-
- //When we get here the timestamps map only contains information related to repos
- for (Iterator it = repositoryMap.entrySet().iterator(); it.hasNext();) {
- Entry entry = (Entry) it.next();
- IMetadataRepository repository = (IMetadataRepository) entry.getValue();
-
- Map props = repository.getProperties();
- String currentTimestamp = null;
- if (props != null)
- currentTimestamp = (String) props.get(IRepository.PROP_TIMESTAMP);
-
- if (currentTimestamp == null)
- currentTimestamp = NO_TIMESTAMP;
-
- String lastKnownTimestamp = (String) timestamps.remove(entry.getKey());
- //A repo has been added
- if (lastKnownTimestamp == null)
- return false;
- if (!lastKnownTimestamp.equals(currentTimestamp)) {
- return false;
- }
- }
- //A repo has been removed
- if (timestamps.size() != 0)
- return false;
-
- return true;
- }
-
- private void readTimestamps() {
- File file = Activator.getContext().getDataFile(TIMESTAMPS_FILE_PREFIX + profile.getProfileId().hashCode());
- timestamps = new Properties();
- try {
- InputStream is = new BufferedInputStream(new FileInputStream(file));
- try {
- timestamps.load(is);
- } finally {
- if (is != null)
- is.close();
- }
- } catch (FileNotFoundException e) {
- //Ignore
- } catch (IOException e) {
- //Ignore
- }
- }
-
- private ProvisioningContext getContext() {
- ArrayList repoURLs = new ArrayList();
- for (Iterator iterator = repositoryMap.keySet().iterator(); iterator.hasNext();) {
- try {
- repoURLs.add(new URL((String) iterator.next()));
- } catch (MalformedURLException e) {
- //ignore
- }
- }
- ProvisioningContext result = new ProvisioningContext((URL[]) repoURLs.toArray(new URL[repoURLs.size()]));
- result.setArtifactRepositories(new URL[0]);
- return result;
- }
-
- private IStatus synchronizeCacheExtensions() {
- List currentExtensions = new ArrayList();
- StringBuffer buffer = new StringBuffer();
-
- List repositories = new ArrayList(repositoryMap.keySet());
- final String OSGiInstallArea = Activator.getOSGiInstallArea().toExternalForm() + Constants.EXTENSION_LOCATION;
- Collections.sort(repositories, new Comparator() {
- public int compare(Object left, Object right) {
- if (OSGiInstallArea.equals(left))
- return -1;
- if (OSGiInstallArea.equals(right))
- return 1;
- return ((String) left).compareTo((String) right);
- }
- });
- for (Iterator it = repositories.iterator(); it.hasNext();) {
- String repositoryId = (String) it.next();
- try {
- IArtifactRepository repository = Activator.loadArtifactRepository(new URL(repositoryId), null);
-
- if (repository instanceof IFileArtifactRepository) {
- currentExtensions.add(repositoryId);
- buffer.append(repositoryId);
- if (it.hasNext())
- buffer.append(PIPE);
- }
- } catch (ProvisionException e) {
- // ignore
- } catch (MalformedURLException e) {
- // unexpected
- e.printStackTrace();
- }
- }
- String currentExtensionsProperty = (buffer.length() == 0) ? null : buffer.toString();
-
- List previousExtensions = new ArrayList();
- String previousExtensionsProperty = profile.getProperty(CACHE_EXTENSIONS);
- if (previousExtensionsProperty != null) {
- StringTokenizer tokenizer = new StringTokenizer(previousExtensionsProperty, PIPE);
- while (tokenizer.hasMoreTokens()) {
- previousExtensions.add(tokenizer.nextToken());
- }
- }
-
- if (previousExtensions.size() == currentExtensions.size() && previousExtensions.containsAll(currentExtensions))
- return Status.OK_STATUS;
-
- Operand operand = new PropertyOperand(CACHE_EXTENSIONS, previousExtensionsProperty, currentExtensionsProperty);
-
- return executeOperands(new ProvisioningContext(new URL[0]), new Operand[] {operand}, null);
- }
-
- public ProfileChangeRequest createProfileChangeRequest(ProvisioningContext context) {
- ProfileChangeRequest request = new ProfileChangeRequest(profile);
-
- boolean resolve = Boolean.valueOf(profile.getProperty("org.eclipse.equinox.p2.resolve")).booleanValue();
- if (resolve)
- request.removeProfileProperty("org.eclipse.equinox.p2.resolve");
-
- List toAdd = new ArrayList();
- List toRemove = new ArrayList();
-
- //Backward compatibility
- Collector collect = profile.query(new InstallableUnitQuery("org.eclipse.equinox.p2.dropins"), new Collector(), null); //$NON-NLS-1$
- toRemove.addAll(collect.toCollection());
- //End of backward compatibility
-
- boolean foundIUsToAdd = false;
- Collection profileIUs = new HashSet(profile.query(InstallableUnitQuery.ANY, new Collector(), null).toCollection());
-
- // we use IProfile.available(...) here so that we also gather any shared IUs
- Collection availableProfileIUs = new HashSet(profile.available(InstallableUnitQuery.ANY, new Collector(), null).toCollection());
-
- // get all IUs from all our repos (toAdd)
- Collector allIUs = getAllIUsFromRepos();
- for (Iterator iter = allIUs.iterator(); iter.hasNext();) {
- final IInstallableUnit iu = (IInstallableUnit) iter.next();
- // if the IU is already installed in the profile then skip it
- if (!profileIUs.contains(iu)) {
- if (Boolean.valueOf(iu.getProperty(IInstallableUnit.PROP_TYPE_GROUP)).booleanValue())
- request.setInstallableUnitProfileProperty(iu, IInstallableUnit.PROP_PROFILE_ROOT_IU, Boolean.TRUE.toString());
- // mark all IUs with special property
- request.setInstallableUnitProfileProperty(iu, PROP_FROM_DROPINS, Boolean.TRUE.toString());
- request.setInstallableUnitInclusionRules(iu, PlannerHelper.createOptionalInclusionRule(iu));
- request.setInstallableUnitProfileProperty(iu, IInstallableUnit.PROP_PROFILE_LOCKED_IU, Integer.toString(IInstallableUnit.LOCK_UNINSTALL));
- toAdd.add(iu);
-
- if (!foundIUsToAdd && !availableProfileIUs.contains(iu)) {
- foundIUsToAdd = true;
- }
- }
- }
-
- // get all IUs from profile with marked property (existing)
- Collector dropinIUs = profile.query(new IUProfilePropertyQuery(profile, PROP_FROM_DROPINS, Boolean.toString(true)), new Collector(), null);
- Collection all = new HashSet(allIUs.toCollection());
- for (Iterator iter = dropinIUs.iterator(); iter.hasNext();) {
- IInstallableUnit iu = (IInstallableUnit) iter.next();
- // the STRICT policy is set when we install things via the UI, we use it to differentiate between IUs installed
- // via the dropins and the UI. (dropins are considered optional) If an IU has both properties set it means that
- // it was initially installed via the dropins but then upgraded via the UI. (properties are copied from the old IU
- // to the new IU during an upgrade) In this case we want to remove the "from dropins" property so the upgrade
- // will stick.
- if ("STRICT".equals(profile.getInstallableUnitProperty(iu, "org.eclipse.equinox.p2.internal.inclusion.rules"))) { //$NON-NLS-1$//$NON-NLS-2$
- request.removeInstallableUnitProfileProperty(iu, PROP_FROM_DROPINS);
- request.removeInstallableUnitProfileProperty(iu, IInstallableUnit.PROP_PROFILE_LOCKED_IU);
- continue;
- }
- // remove the IUs that are in the intersection between the 2 sets
- if (all.contains(iu))
- toAdd.remove(iu);
- else
- toRemove.add(iu);
- }
-
- if (!foundIUsToAdd && toRemove.isEmpty() && !resolve)
- return null;
-
- context.setExtraIUs(toAdd);
- request.addInstallableUnits((IInstallableUnit[]) toAdd.toArray(new IInstallableUnit[toAdd.size()]));
- request.removeInstallableUnits((IInstallableUnit[]) toRemove.toArray(new IInstallableUnit[toRemove.size()]));
- return request;
- }
-
- private Collector getAllIUsFromRepos() {
- Collector allRepos = new Collector();
- for (Iterator it = repositoryMap.entrySet().iterator(); it.hasNext();) {
- Entry entry = (Entry) it.next();
- IMetadataRepository repository = (IMetadataRepository) entry.getValue();
- repository.query(InstallableUnitQuery.ANY, allRepos, null).iterator();
- }
- return allRepos;
- }
-
- private ProvisioningPlan createProvisioningPlan(ProfileChangeRequest request, ProvisioningContext provisioningContext, IProgressMonitor monitor) {
- BundleContext context = Activator.getContext();
- ServiceReference reference = context.getServiceReference(IPlanner.class.getName());
- IPlanner planner = (IPlanner) context.getService(reference);
-
- try {
- return planner.getProvisioningPlan(request, provisioningContext, monitor);
- } finally {
- context.ungetService(reference);
- }
- }
-
- private IStatus executePlan(ProvisioningPlan plan, ProvisioningContext provisioningContext, IProgressMonitor monitor) {
- Operand[] operands = plan.getOperands();
- return executeOperands(provisioningContext, operands, monitor);
- }
-
- private IStatus executeOperands(ProvisioningContext provisioningContext, Operand[] operands, IProgressMonitor monitor) {
- BundleContext context = Activator.getContext();
- ServiceReference reference = context.getServiceReference(IEngine.class.getName());
- IEngine engine = (IEngine) context.getService(reference);
- try {
- PhaseSet phaseSet = DefaultPhaseSet.createDefaultPhaseSet(DefaultPhaseSet.PHASE_CHECK_TRUST);
- IStatus engineResult = engine.perform(profile, phaseSet, operands, provisioningContext, monitor);
- return engineResult;
- } finally {
- context.ungetService(reference);
- }
- }
-
- /*
- * Write out the configuration file.
- */
- private void applyConfiguration() {
- if (isReconciliationApplicationRunning())
- return;
- BundleContext context = Activator.getContext();
- ServiceReference reference = context.getServiceReference(Configurator.class.getName());
- Configurator configurator = (Configurator) context.getService(reference);
- try {
- configurator.applyConfiguration();
- } catch (IOException e) {
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Unexpected failure applying configuration", e)); //$NON-NLS-1$
- } finally {
- context.ungetService(reference);
- }
- }
-
- private boolean isReconciliationApplicationRunning() {
- EnvironmentInfo info = (EnvironmentInfo) ServiceHelper.getService(Activator.getContext(), EnvironmentInfo.class.getName());
- if (info == null)
- return false;
- String[] args = info.getCommandLineArgs();
- if (args == null)
- return false;
- for (int i = 0; i < args.length; i++) {
- if (args[i] != null && RECONCILER_APPLICATION_ID.equals(args[i].trim()))
- return true;
- }
- return false;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/messages.properties b/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/messages.properties
deleted file mode 100644
index d8066d0..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/messages.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2007, 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-artifact_repo_manager_not_registered=ArtifactRepositoryManager not registered.
-errorLoadingRepository=Error occurred while loading repository at {0}.
-errorProcessingConfg=Exception while processing configuration.
-metadata_repo_manager_not_registered=MetadataRepositoryManager not registered.
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/CacheManager.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/CacheManager.java
deleted file mode 100644
index 7267830..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/CacheManager.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.repository;
-
-import java.io.*;
-import java.net.URL;
-import java.util.EventObject;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.SynchronousProvisioningListener;
-import org.eclipse.equinox.internal.provisional.p2.core.location.AgentLocation;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.RepositoryEvent;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-
-/**
- * A class to manage metadata cache files. Creating the cache files will place
- * the file in the AgentData location in a cache directory.
- *
- * Using the bus listeners will allow the manager to listen for repository
- * events. When a repository is removed, it will remove the cache file if one
- * was created for the repository.
- */
-public class CacheManager {
- private static SynchronousProvisioningListener busListener;
- private static final String CONTENT_FILENAME = "content"; //$NON-NLS-1$
- private static final String JAR_EXTENSION = ".jar"; //$NON-NLS-1$
- private static final String XML_EXTENSION = ".xml"; //$NON-NLS-1$
-
- /**
- * Returns a hash of the URL.
- */
- private int computeHash(URL repositoryLocation) {
- //don't use URL#hashCode because it performs DNS lookups
- return repositoryLocation.toExternalForm().hashCode();
- }
-
- /**
- * Returns a local cache file with the contents of the given remote location,
- * or <code>null</code> if a local cache could not be created.
- *
- * @param repositoryLocation
- * @param monitor - a progress monitor
- * @return A {@link File} object pointing to the cache file or <code>null</code>
- * if the location is not a repository.
- * @throws IOException
- * @throws ProvisionException
- */
- public File createCache(URL repositoryLocation, IProgressMonitor monitor) throws IOException, ProvisionException {
- File cacheFile = getCache(repositoryLocation);
- URL jarLocation = URLMetadataRepository.getActualLocation(repositoryLocation, JAR_EXTENSION);
- URL xmlLocation = URLMetadataRepository.getActualLocation(repositoryLocation, XML_EXTENSION);
- AgentLocation agentLocation = (AgentLocation) ServiceHelper.getService(Activator.getContext(), AgentLocation.class.getName());
- URL dataArea = agentLocation.getDataArea(Activator.ID + "/cache/"); //$NON-NLS-1$
- File dataAreaFile = URLUtil.toFile(dataArea);
- int hashCode = computeHash(repositoryLocation);
- if (cacheFile == null || isCacheStale(repositoryLocation, cacheFile)) {
- long lastModifiedRemote = getTransport().getLastModified(jarLocation);
- URL remoteFile;
- if (lastModifiedRemote != 0) {
- cacheFile = new File(dataAreaFile, CONTENT_FILENAME + hashCode + JAR_EXTENSION);
- remoteFile = jarLocation;
- } else {
- lastModifiedRemote = getTransport().getLastModified(xmlLocation);
- if (lastModifiedRemote == 0)
- // no jar or xml file found
- return null;
- cacheFile = new File(dataAreaFile, CONTENT_FILENAME + hashCode + XML_EXTENSION);
- remoteFile = xmlLocation;
- }
- cacheFile.getParentFile().mkdirs();
- OutputStream metadata = new BufferedOutputStream(new FileOutputStream(cacheFile));
- try {
- IStatus result = getTransport().download(remoteFile.toExternalForm(), metadata, monitor);
- if (!result.isOK()) {
- throw new ProvisionException(result);
- }
- } finally {
- metadata.close();
- }
- }
- return cacheFile;
- }
-
- /**
- * Deletes the local cache file for the given repository
- * @param repositoryLocation
- */
- void deleteCache(URL repositoryLocation) {
- File cacheFile = getCache(repositoryLocation);
- if (cacheFile != null)
- safeDelete(cacheFile);
- }
-
- /**
- * Determines the local filepath of the repository's cache file.
- * @param repositoryLocation
- * @return A {@link File} pointing to the cache file or <code>null</code> if
- * the cache file does not exist.
- */
- private File getCache(URL repositoryLocation) {
- AgentLocation agentLocation = (AgentLocation) ServiceHelper.getService(Activator.getContext(), AgentLocation.class.getName());
- URL dataArea = agentLocation.getDataArea(Activator.ID + "/cache/"); //$NON-NLS-1$
- File dataAreaFile = URLUtil.toFile(dataArea);
- int hashCode = computeHash(repositoryLocation);
- File cacheFile = new File(dataAreaFile, CONTENT_FILENAME + hashCode + JAR_EXTENSION);
- if (!cacheFile.exists()) {
- cacheFile = new File(dataAreaFile, CONTENT_FILENAME + hashCode + XML_EXTENSION);
- if (!cacheFile.exists())
- return null;
- }
- return cacheFile;
- }
-
- private Object getService(BundleContext ctx, String name) {
- ServiceReference reference = ctx.getServiceReference(name);
- if (reference == null)
- return null;
- Object result = ctx.getService(reference);
- ctx.ungetService(reference);
- return result;
- }
-
- private ECFMetadataTransport getTransport() {
- return ECFMetadataTransport.getInstance();
- }
-
- /**
- * Checks if the repository's local cache file is out of date.
- * @param repositoryLocation The remote location of the file
- * @param cacheFile The current local cache of the remote location
- * @return <code>true</code> if the cache file is out of date, <code>false</code>
- * if the cache file is in sync with the repository. The cache file is
- * considered stale if there is no local cache file.
- */
- private boolean isCacheStale(URL repositoryLocation, File cacheFile) {
- long lastModified = cacheFile.lastModified();
- String name = cacheFile.getName();
- URL metadataLocation = null;
- if (name.endsWith(XML_EXTENSION)) {
- metadataLocation = URLMetadataRepository.getActualLocation(repositoryLocation, XML_EXTENSION);
- } else if (name.endsWith(JAR_EXTENSION)) {
- metadataLocation = URLMetadataRepository.getActualLocation(repositoryLocation, JAR_EXTENSION);
- }
- long lastModifiedRemote = 0;
- try {
- lastModifiedRemote = getTransport().getLastModified(metadataLocation);
- } catch (ProvisionException e) {
- // cache is stale
- return true;
- }
- return lastModifiedRemote > lastModified ? true : false;
- }
-
- /**
- * Adds a {@link SynchronousProvisioningListener} to the event bus for
- * deleting cache files when the corresponding repository is deleted.
- */
- public void registerRepoEventListener() {
- IProvisioningEventBus eventBus = (IProvisioningEventBus) getService(Activator.getContext(), IProvisioningEventBus.SERVICE_NAME);
- if (eventBus == null) {
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "ProvisioningEventBus could not be obtained. Metadata caches may not be cleaned up properly.")); //$NON-NLS-1$
- return;
- }
- if (busListener == null) {
- busListener = new SynchronousProvisioningListener() {
- public void notify(EventObject o) {
- if (o instanceof RepositoryEvent) {
- RepositoryEvent event = (RepositoryEvent) o;
- if (RepositoryEvent.REMOVED == event.getKind() && IRepository.TYPE_METADATA == event.getRepositoryType()) {
- deleteCache(event.getRepositoryLocation());
- }
- }
- }
- };
- eventBus.addListener(busListener);
- }
- }
-
- private boolean safeDelete(File file) {
- if (file.exists()) {
- if (!file.delete()) {
- file.deleteOnExit();
- return true;
- }
- }
- return false;
- }
-
- /**
- * Removes the {@link SynchronousProvisioningListener} that cleans up the
- * cache file from the event bus.
- */
- public void unregisterRepoEventListener() {
- IProvisioningEventBus eventBus = (IProvisioningEventBus) getService(Activator.getContext(), IProvisioningEventBus.SERVICE_NAME);
- if (eventBus != null && busListener != null) {
- eventBus.removeListener(busListener);
- busListener = null;
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/.classpath b/bundles/org.eclipse.equinox.p2.tests/.classpath
deleted file mode 100644
index ce73933..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.tests/.project b/bundles/org.eclipse.equinox.p2.tests/.project
deleted file mode 100644
index a77ce5d..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.equinox.p2.tests</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.tests/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 20b2cd0..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,344 +0,0 @@
-#Fri Apr 25 12:15:58 EDT 2008
-eclipse.preferences.version=1
-instance/org.eclipse.core.net/org.eclipse.core.net.hasMigrated=true
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.tests/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.tests/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index c72c988..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Tue Nov 13 12:02:11 EST 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.tests/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.tests/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 6333193..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Thu Aug 23 14:59:00 CEST 2007
-eclipse.preferences.version=1
-pluginProject.extensions=true
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.tests/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index 467a02c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,68 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.tests;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 1.0.1.qualifier
-Import-Package: org.eclipse.equinox.internal.p2.artifact.repository,
- org.eclipse.equinox.internal.p2.artifact.repository.simple,
- org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.p2.director,
- org.eclipse.equinox.internal.p2.engine,
- org.eclipse.equinox.internal.p2.extensionlocation,
- org.eclipse.equinox.internal.p2.metadata,
- org.eclipse.equinox.internal.p2.metadata.repository,
- org.eclipse.equinox.internal.p2.metadata.repository.io,
- org.eclipse.equinox.internal.p2.persistence,
- org.eclipse.equinox.internal.p2.resolution,
- org.eclipse.equinox.internal.p2.touchpoint.eclipse,
- org.eclipse.equinox.internal.p2.updatesite,
- org.eclipse.equinox.internal.p2.updatesite.artifact,
- org.eclipse.equinox.internal.p2.updatesite.metadata,
- org.eclipse.equinox.internal.provisional.p2.artifact.repository,
- org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing,
- org.eclipse.equinox.internal.provisional.p2.core,
- org.eclipse.equinox.internal.provisional.p2.core.eventbus,
- org.eclipse.equinox.internal.provisional.p2.core.location,
- org.eclipse.equinox.internal.provisional.p2.core.repository,
- org.eclipse.equinox.internal.provisional.p2.director,
- org.eclipse.equinox.internal.provisional.p2.directorywatcher,
- org.eclipse.equinox.internal.provisional.p2.engine,
- org.eclipse.equinox.internal.provisional.p2.engine.phases,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.internal.provisional.p2.metadata.query,
- org.eclipse.equinox.internal.provisional.p2.metadata.repository,
- org.eclipse.equinox.internal.provisional.p2.query,
- org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository,
- org.eclipse.equinox.internal.provisional.spi.p2.core.repository,
- org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository,
- org.eclipse.osgi.service.environment;version="1.0.0",
- org.eclipse.osgi.service.resolver;version="1.1.0",
- org.eclipse.osgi.service.urlconversion;version="1.0.0",
- org.eclipse.osgi.util;version="1.1.0",
- org.osgi.framework;version="1.3.0",
- org.osgi.service.packageadmin;version="1.2.0",
- org.osgi.util.tracker;version="1.3.3",
- org.xml.sax
-Bundle-Activator: org.eclipse.equinox.p2.tests.TestActivator
-Bundle-ClassPath: .
-Require-Bundle: org.eclipse.equinox.p2.metadata.generator,
- org.eclipse.equinox.frameworkadmin,
- org.eclipse.equinox.common,
- org.junit
-Bundle-ActivationPolicy: lazy
-Eclipse-RegisterBuddy: org.eclipse.equinox.p2.artifact.repository
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Export-Package: org.eclipse.equinox.p2.tests,
- org.eclipse.equinox.p2.tests.artifact.repository,
- org.eclipse.equinox.p2.tests.director,
- org.eclipse.equinox.p2.tests.directorywatcher,
- org.eclipse.equinox.p2.tests.download,
- org.eclipse.equinox.p2.tests.embeddedequinox,
- org.eclipse.equinox.p2.tests.engine,
- org.eclipse.equinox.p2.tests.full,
- org.eclipse.equinox.p2.tests.generator,
- org.eclipse.equinox.p2.tests.metadata,
- org.eclipse.equinox.p2.tests.metadata.repository,
- org.eclipse.equinox.p2.tests.simpleconfigurator
diff --git a/bundles/org.eclipse.equinox.p2.tests/Test Director CDT.launch b/bundles/org.eclipse.equinox.p2.tests/Test Director CDT.launch
deleted file mode 100644
index 57b49f1..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/Test Director CDT.launch
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
-<booleanAttribute key="append.args" value="true"/>
-<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
-<booleanAttribute key="askclear" value="false"/>
-<booleanAttribute key="automaticAdd" value="true"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<booleanAttribute key="clearws" value="true"/>
-<booleanAttribute key="clearwslog" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
-<booleanAttribute key="default" value="true"/>
-<booleanAttribute key="includeOptional" value="true"/>
-<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.equinox.p2.test/src/org/eclipse/equinox/prov/test/DirectorTest.java"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
-<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
-<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.equinox.p2.tests.director.DirectorTest"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl}"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.equinox.p2.test"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.p2.data.area=c:/temp/equinox.p2/agent/ -Declipse.p2.metadataRepository=file:c:/temp/equinox.p2/servers/CDTmetadataRepository/ -Declipse.p2.artifactRepository=file:c:/temp/equinox.p2/servers/artifactRepository/ -Declipse.p2.installFolder=c:/temp/equinox.p2/eclipseInstall/ -Declipse.p2.configurationFlavor=tooling -Declipse.p2.autoInstall=cdt"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<stringAttribute key="product" value="org.eclipse.platform.ide"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfig" value="true"/>
-<booleanAttribute key="useDefaultConfigArea" value="false"/>
-<booleanAttribute key="useProduct" value="false"/>
-<stringAttribute key="vminstall" value="jdk"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.tests/Test Director SDK.launch b/bundles/org.eclipse.equinox.p2.tests/Test Director SDK.launch
deleted file mode 100644
index c0e65d6..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/Test Director SDK.launch
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
-<booleanAttribute key="append.args" value="true"/>
-<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
-<booleanAttribute key="askclear" value="false"/>
-<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<booleanAttribute key="clearws" value="true"/>
-<booleanAttribute key="clearwslog" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
-<booleanAttribute key="default" value="false"/>
-<stringAttribute key="deselected_workspace_plugins" value="org.eclipse.update.configurator"/>
-<booleanAttribute key="includeOptional" value="true"/>
-<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.equinox.p2.test/src/org/eclipse/equinox/prov/tests/director/DirectorTest.java"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
-<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
-<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.equinox.p2.tests.director.DirectorTest"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -console -noExit -consoleLog"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.equinox.p2.test"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.p2.data.area=d:/tmp/equinox.p2/agent/ -Declipse.p2.metadataRepository=file:d:/tmp/equinox.p2/servers/metadataRepository/ -Declipse.p2.artifactRepository=file:d:/tmp/equinox.p2/servers/artifactRepository/ -Declipse.p2.installFolder=d:/tmp/equinox.p2/eclipseInstall/ -Declipse.p2.configurationFlavor=tooling -Declipse.p2.autoInstall=sdk"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<stringAttribute key="product" value="org.eclipse.platform.ide"/>
-<stringAttribute key="selected_target_plugins" value="com.ibm.icu,com.ibm.icu.source,com.jcraft.jsch,javax.servlet,javax.servlet.jsp,javax.servlet.jsp.source,javax.servlet.source,org.apache.ant,org.apache.ant.source,org.apache.commons.el,org.apache.commons.el.source,org.apache.commons.logging,org.apache.commons.logging.source,org.apache.jasper,org.apache.jasper.source,org.apache.lucene,org.apache.lucene.analysis,org.apache.lucene.analysis.source,org.apache.lucene.source,org.eclipse.ant.core,org.eclipse.ant.ui,org.eclipse.compare,org.eclipse.core.boot,org.eclipse.core.commands,org.eclipse.core.contenttype,org.eclipse.core.databinding,org.eclipse.core.databinding.beans,org.eclipse.core.expressions,org.eclipse.core.filebuffers,org.eclipse.core.filesystem,org.eclipse.core.filesystem.win32.x86,org.eclipse.core.jobs,org.eclipse.core.net,org.eclipse.core.resources,org.eclipse.core.resources.compatibility,org.eclipse.core.resources.win32,org.eclipse.core.runtime,org.eclipse.core.runtime.compatibility,org.eclipse.core.runtime.compatibility.auth,org.eclipse.core.runtime.compatibility.registry,org.eclipse.core.variables,org.eclipse.cvs,org.eclipse.cvs.source,org.eclipse.debug.core,org.eclipse.debug.ui,org.eclipse.equinox.app,org.eclipse.equinox.common,org.eclipse.equinox.http.jetty,org.eclipse.equinox.http.registry,org.eclipse.equinox.http.servlet,org.eclipse.equinox.jsp.jasper,org.eclipse.equinox.jsp.jasper.registry,org.eclipse.equinox.launcher,org.eclipse.equinox.launcher.win32.win32.x86,org.eclipse.equinox.preferences,org.eclipse.equinox.registry,org.eclipse.help,org.eclipse.help.appserver,org.eclipse.help.base,org.eclipse.help.ui,org.eclipse.help.webapp,org.eclipse.jdt,org.eclipse.jdt.apt.core,org.eclipse.jdt.apt.pluggable.core,org.eclipse.jdt.apt.ui,org.eclipse.jdt.compiler.apt,org.eclipse.jdt.compiler.tool,org.eclipse.jdt.core,org.eclipse.jdt.core.manipulation,org.eclipse.jdt.debug,org.eclipse.jdt.debug.ui,org.eclipse.jdt.doc.isv,org.eclipse.jdt.doc.user,org.eclipse.jdt.junit,org.eclipse.jdt.junit.runtime,org.eclipse.jdt.junit4.runtime,org.eclipse.jdt.launching,org.eclipse.jdt.source,org.eclipse.jdt.ui,org.eclipse.jface,org.eclipse.jface.databinding,org.eclipse.jface.text,org.eclipse.jsch.core,org.eclipse.jsch.ui,org.eclipse.ltk.core.refactoring,org.eclipse.ltk.ui.refactoring,org.eclipse.osgi,org.eclipse.osgi.services,org.eclipse.osgi.util,org.eclipse.pde,org.eclipse.pde.build,org.eclipse.pde.core,org.eclipse.pde.doc.user,org.eclipse.pde.junit.runtime,org.eclipse.pde.runtime,org.eclipse.pde.source,org.eclipse.pde.ui,org.eclipse.pde.ui.templates,org.eclipse.platform,org.eclipse.platform.doc.isv,org.eclipse.platform.doc.user,org.eclipse.platform.source,org.eclipse.platform.source.win32.win32.x86,org.eclipse.rcp,org.eclipse.rcp.source,org.eclipse.rcp.source.win32.win32.x86,org.eclipse.sdk,org.eclipse.search,org.eclipse.swt,org.eclipse.swt.win32.win32.x86,org.eclipse.team.core,org.eclipse.team.cvs.core,org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh2,org.eclipse.team.cvs.ui,org.eclipse.team.ui,org.eclipse.text,org.eclipse.tomcat,org.eclipse.ui,org.eclipse.ui.browser,org.eclipse.ui.cheatsheets,org.eclipse.ui.console,org.eclipse.ui.editors,org.eclipse.ui.externaltools,org.eclipse.ui.forms,org.eclipse.ui.ide,org.eclipse.ui.ide.application,org.eclipse.ui.intro,org.eclipse.ui.intro.universal,org.eclipse.ui.navigator,org.eclipse.ui.navigator.resources,org.eclipse.ui.net,org.eclipse.ui.presentations.r21,org.eclipse.ui.views,org.eclipse.ui.views.properties.tabbed,org.eclipse.ui.win32,org.eclipse.ui.workbench,org.eclipse.ui.workbench.compatibility,org.eclipse.ui.workbench.texteditor,org.eclipse.update.configurator,org.eclipse.update.core,org.eclipse.update.core.win32,org.eclipse.update.scheduler,org.eclipse.update.ui,org.junit,org.junit.source,org.junit4,org.mortbay.jetty,org.mortbay.jetty.source"/>
-<stringAttribute key="selected_workspace_plugins" value="org.eclipse.ecf,org.eclipse.equinox.p2.touchpoint.eclipse,org.eclipse.equinox.frameworkadmin.equinox,org.eclipse.equinox.p2.touchpoint.natives,org.eclipse.equinox.p2.test,org.apache.xml.resolver,org.apache.xerces,org.eclipse.ecf.identity,org.eclipse.equinox.frameworkadmin,org.eclipse.equinox.p2.metadata.generator,org.eclipse.equinox.p2.artifact.repository,org.eclipse.equinox.p2.jarprocessor,org.mozilla.rhino,org.eclipse.equinox.p2.metadata.repository,com.thoughtworks.xstream,org.eclipse.equinox.p2.director,org.eclipse.equinox.p2.engine,org.eclipse.equinox.p2.console,org.eclipse.ecf.filetransfer,org.eclipse.equinox.p2.metadata,org.eclipse.equinox.p2.core,org.eclipse.equinox.p2.exemplarysetup,org.eclipse.equinox.simpleconfigurator.manipulator,org.eclipse.equinox.p2.download,org.eclipse.ecf.provider.filetransfer,org.eclipse.equinox.p2.selfhosting,org.eclipse.equinox.simpleconfigurator"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfig" value="true"/>
-<booleanAttribute key="useDefaultConfigArea" value="false"/>
-<booleanAttribute key="useProduct" value="false"/>
-<stringAttribute key="vminstall" value="ibm1.5sr1"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.tests/Test Director Uninstall CDT.launch b/bundles/org.eclipse.equinox.p2.tests/Test Director Uninstall CDT.launch
deleted file mode 100644
index b39f45d..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/Test Director Uninstall CDT.launch
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
-<booleanAttribute key="append.args" value="true"/>
-<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
-<booleanAttribute key="askclear" value="false"/>
-<booleanAttribute key="automaticAdd" value="true"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<booleanAttribute key="clearws" value="true"/>
-<booleanAttribute key="clearwslog" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
-<booleanAttribute key="default" value="true"/>
-<booleanAttribute key="includeOptional" value="true"/>
-<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.equinox.p2.test/src/org/eclipse/equinox/prov/tests/director/DirectorTest.java"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
-<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
-<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.equinox.p2.tests.director.DirectorTest"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl}"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.equinox.p2.test"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.p2.data.area=c:/temp/equinox.p2/agent/ -Declipse.p2.metadataRepository=file:c:/temp/equinox.p2/servers/CDTmetadataRepository/ -Declipse.p2.artifactRepository=file:c:/temp/equinox.p2/servers/artifactRepository/ -Declipse.p2.installFolder=c:/temp/equinox.p2/eclipseInstall/ -Declipse.p2.configurationFlavor=tooling -Declipse.p2.autoInstall=cdt -Declipse.p2.doUninstall=true"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<stringAttribute key="product" value="org.eclipse.platform.ide"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfig" value="true"/>
-<booleanAttribute key="useDefaultConfigArea" value="false"/>
-<booleanAttribute key="useProduct" value="false"/>
-<stringAttribute key="vminstall" value="jdk"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.tests/Test Director Uninstall SDK.launch b/bundles/org.eclipse.equinox.p2.tests/Test Director Uninstall SDK.launch
deleted file mode 100644
index a0a698d..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/Test Director Uninstall SDK.launch
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
-<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/Test Director Uninstall SDK"/>
-<booleanAttribute key="default_auto_start" value="false"/>
-<intAttribute key="default_start_level" value="4"/>
-<booleanAttribute key="includeOptional" value="true"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-console -consolelog"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms40m -Xmx768m -Declipse.p2.data.area=c:/temp/equinox.p2/agent/ -Declipse.p2.metadataRepository=file:c:/temp/equinox.p2/servers/metadataRepository/ -Declipse.p2.artifactRepository=file:c:/temp/equinox.p2/servers/artifactRepository/ -Declipse.p2.installFolder=c:/temp/equinox.p2/eclipseInstall/ -Declipse.p2.configurationFlavor=tooling -Declipse.p2.autoInstall=sdk -Declipse.p2.doUninstall=true"/>
-<stringAttribute key="target_bundles" value="org.eclipse.core.jobs@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@default:default,org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.osgi@:,org.eclipse.osgi.services@default:default,org.junit@default:default"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<booleanAttribute key="useNamedJRE" value="true"/>
-<stringAttribute key="vminstall" value="JRE1.4.2"/>
-<stringAttribute key="workspace_bundles" value="com.thoughtworks.xstream@default:default,org.eclipse.ecf@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.equinox.frameworkadmin.equinox@default:true,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.equinox.p2.download@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.exemplarysetup@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.eclipse.equinox.p2.touchpoint.natives@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@1:true"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.tests/about.html b/bundles/org.eclipse.equinox.p2.tests/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 2, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/build.properties b/bundles/org.eclipse.equinox.p2.tests/build.properties
deleted file mode 100644
index 3161cea..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- about.html,\
- plugin.xml,\
- testData/,\
- plugin.properties,\
- test.xml
-customCallBack=foo.xml
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.p2.tests/plugin.properties b/bundles/org.eclipse.equinox.p2.tests/plugin.properties
deleted file mode 100644
index 41d7120..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Equinox Provisioning Tests (Incubation)
-providerName = Eclipse.org
diff --git a/bundles/org.eclipse.equinox.p2.tests/plugin.xml b/bundles/org.eclipse.equinox.p2.tests/plugin.xml
deleted file mode 100644
index 20342b3..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/plugin.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
- <extension
- id="phaseTest"
- point="org.eclipse.equinox.p2.engine.touchpoints">
- <touchpoint
- class="org.eclipse.equinox.p2.tests.engine.TouchpointTest$PhaseTestTouchpoint"
- type="phaseTest"
- version="1.0.0">
- </touchpoint>
- </extension>
- <extension
- id="operandTest"
- point="org.eclipse.equinox.p2.engine.touchpoints">
- <touchpoint
- class="org.eclipse.equinox.p2.tests.engine.TouchpointTest$OperandTestTouchpoint"
- type="operandTest"
- version="1.0.0">
- </touchpoint>
- </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.tests/rawData/Test Data Generator.launch b/bundles/org.eclipse.equinox.p2.tests/rawData/Test Data Generator.launch
deleted file mode 100644
index ad9a6a4..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/rawData/Test Data Generator.launch
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/Test Data Generator"/>
-<booleanAttribute key="default_auto_start" value="false"/>
-<intAttribute key="default_start_level" value="4"/>
-<stringAttribute key="execEnvironment" value="J2SE-1.5"/>
-<booleanAttribute key="includeOptional" value="false"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-application org.eclipse.equinox.p2.metadata.generator.EclipseGenerator -metadataRepository file:${workspace_loc:org.eclipse.equinox.p2.tests/testData/enginerepo} -artifactRepository file:${workspace_loc:org.eclipse.equinox.p2.tests/testData/enginerepo} -base ${workspace_loc:org.eclipse.equinox.p2.tests/rawData} -bundles ${workspace_loc:org.eclipse.equinox.p2.tests/rawData} -features ${workspace_loc:org.eclipse.equinox.p2.tests/rawData} -publishArtifacts -par -noDefaultIUs"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="target_bundles" value="org.eclipse.core.contenttype@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:default,org.eclipse.core.runtime.compatibility.registry@default:default,org.eclipse.equinox.app@default:true,org.eclipse.equinox.common@default:default,org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.launcher.win32.win32.x86@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.osgi@:,org.eclipse.osgi.services@default:default,org.eclipse.update.configurator@default:default"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<booleanAttribute key="useNamedJRE" value="false"/>
-<stringAttribute key="vminstall" value="ibm1.5sr1"/>
-<stringAttribute key="workspace_bundles" value="org.eclipse.ecf@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.equinox.frameworkadmin.equinox@default:true,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.download@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.metadata.generator@default:default,org.eclipse.equinox.p2.metadata.repository@default:default"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.tests/rawData/enginerepo.jardesc b/bundles/org.eclipse.equinox.p2.tests/rawData/enginerepo.jardesc
deleted file mode 100644
index 080a937..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/rawData/enginerepo.jardesc
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="WINDOWS-1252"?>
-<jardesc>
- <jar path="D:/workspaces/prov.selfhost/org.eclipse.equinox.p2.tests/testData/enginerepo.jar"/>
- <options buildIfNeeded="true" compress="true" descriptionLocation="/org.eclipse.equinox.p2.tests/rawData/enginerepo.jardesc" exportErrors="true" exportWarnings="true" includeDirectoryEntries="false" overwrite="false" saveDescription="true" storeRefactorings="false" useSourceFolders="false"/>
- <storedRefactorings deprecationInfo="true" structuralOnly="false"/>
- <selectedProjects/>
- <manifest generateManifest="true" manifestLocation="" manifestVersion="1.0" reuseManifest="false" saveManifest="false" usesManifest="true">
- <sealing sealJar="false">
- <packagesToSeal/>
- <packagesToUnSeal/>
- </sealing>
- </manifest>
- <selectedElements exportClassFiles="true" exportJavaFiles="false" exportOutputFolder="false">
- <folder path="/org.eclipse.equinox.p2.tests/testData/enginerepo"/>
- </selectedElements>
-</jardesc>
diff --git a/bundles/org.eclipse.equinox.p2.tests/rawData/org.eclipse.equinox.prov.engine_0.1.0.200709241631.jar b/bundles/org.eclipse.equinox.p2.tests/rawData/org.eclipse.equinox.prov.engine_0.1.0.200709241631.jar
deleted file mode 100644
index d53ff00..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/rawData/org.eclipse.equinox.prov.engine_0.1.0.200709241631.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/AbstractProvisioningTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/AbstractProvisioningTest.java
deleted file mode 100644
index 3935916..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/AbstractProvisioningTest.java
+++ /dev/null
@@ -1,768 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests;
-
-import java.io.*;
-import java.net.URL;
-import java.util.*;
-import junit.framework.TestCase;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-/**
- * Base class for provisioning tests with convenience methods used by multiple tests.
- */
-public abstract class AbstractProvisioningTest extends TestCase {
-
- protected static final VersionRange ANY_VERSION = new VersionRange(Version.emptyVersion, true, new Version(Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE), true);
- private static final ProvidedCapability[] BUNDLE_CAPABILITY = new ProvidedCapability[] {MetadataFactory.createProvidedCapability("eclipse.touchpoint", "bundle", new Version(1, 0, 0))};
-
- private static final RequiredCapability[] BUNDLE_REQUIREMENT = new RequiredCapability[] {MetadataFactory.createRequiredCapability("eclipse.touchpoint", "bundle", VersionRange.emptyRange, null, false, true)};
-
- protected static final Version DEFAULT_VERSION = new Version(1, 0, 0);
- public static final TouchpointType TOUCHPOINT_OSGI = MetadataFactory.createTouchpointType("org.eclipse.equinox.p2.osgi", new Version(1, 0, 0));
-
- protected static final Map NO_PROPERTIES = Collections.EMPTY_MAP;
- protected static final ProvidedCapability[] NO_PROVIDES = new ProvidedCapability[0];
- protected static final RequiredCapability[] NO_REQUIRES = new RequiredCapability[0];
-
- protected static final TouchpointData NO_TP_DATA = MetadataFactory.createTouchpointData(new HashMap());
-
- /**
- * Tracks the metadata repositories created by this test instance. The repositories
- * will be removed automatically at the end of the test.
- */
- private List metadataRepos = new ArrayList();
- /**
- * Tracks the profiles created by this test instance. The profiles
- * will be removed automatically at the end of the test.
- */
- private List profilesToRemove = new ArrayList();
-
- public static void assertEmptyProfile(IProfile profile) {
- assertNotNull("The profile should not be null", profile);
- if (getInstallableUnits(profile).hasNext())
- fail("The profile should be empty,profileId=" + profile);
- }
-
- protected static void assertNotIUs(IInstallableUnit[] ius, Iterator installableUnits) {
- Set notexpected = new HashSet();
- notexpected.addAll(Arrays.asList(ius));
-
- while (installableUnits.hasNext()) {
- IInstallableUnit next = (IInstallableUnit) installableUnits.next();
- if (notexpected.contains(next)) {
- fail("not expected [" + next + "]");
- }
- }
- }
-
- protected static void assertNotOK(IStatus result) {
- assertTrue("The status should not have been OK", !result.isOK());
- }
-
- protected static void assertOK(String message, IStatus status) {
- if (status.isOK())
- return;
-
- // print out the children if we have any
- IStatus children[] = status.getChildren();
- for (int i = 0; i < children.length; i++) {
- IStatus child = children[i];
- if (!child.isOK())
- new CoreException(child).printStackTrace();
- }
-
- fail(message + ' ' + status.getMessage(), status.getException());
- }
-
- /**
- * Asserts that the given profile contains *only* the given IUs.
- */
- protected static void assertProfileContains(String message, IProfile profile, IInstallableUnit[] expectedUnits) {
- HashSet expected = new HashSet(Arrays.asList(expectedUnits));
- for (Iterator it = getInstallableUnits(profile); it.hasNext();) {
- IInstallableUnit actual = (IInstallableUnit) it.next();
- if (!expected.remove(actual))
- fail(message + " profile " + profile.getProfileId() + " contained an unexpected unit: " + actual);
- }
- if (!expected.isEmpty())
- fail(message + " profile " + profile.getProfileId() + " did not contain expected units: " + expected);
- }
-
- /**
- * Asserts that the given profile contains all the given IUs.
- */
- protected static void assertProfileContainsAll(String message, IProfile profile2, IInstallableUnit[] expectedUnits) {
- HashSet expected = new HashSet(Arrays.asList(expectedUnits));
- for (Iterator it = getInstallableUnits(profile2); it.hasNext();) {
- IInstallableUnit actual = (IInstallableUnit) it.next();
- expected.remove(actual);
- }
- if (!expected.isEmpty())
- fail(message + " profile " + profile2.getProfileId() + " did not contain expected units: " + expected);
- }
-
- /*
- * Copy
- * - if we have a file, then copy the file
- * - if we have a directory then merge
- */
- public static void copy(String message, File source, File target) {
- if (!source.exists())
- return;
- if (source.isDirectory()) {
- if (target.exists() && target.isFile())
- target.delete();
- if (!target.exists())
- target.mkdirs();
- File[] children = source.listFiles();
- for (int i = 0; i < children.length; i++)
- copy(message, children[i], new File(target, children[i].getName()));
- return;
- }
- InputStream input = null;
- OutputStream output = null;
- try {
- input = new BufferedInputStream(new FileInputStream(source));
- output = new BufferedOutputStream(new FileOutputStream(target));
-
- byte[] buffer = new byte[8192];
- int bytesRead = 0;
- while ((bytesRead = input.read(buffer)) != -1)
- output.write(buffer, 0, bytesRead);
- } catch (IOException e) {
- fail(message, e);
- } finally {
- if (input != null) {
- try {
- input.close();
- } catch (IOException e) {
- System.err.println("Exception while trying to close input stream on: " + source.getAbsolutePath());
- e.printStackTrace();
- }
- }
- if (output != null) {
- try {
- output.close();
- } catch (IOException e) {
- System.err.println("Exception while trying to close output stream on: " + target.getAbsolutePath());
- e.printStackTrace();
- }
- }
- }
- }
-
- /**
- * Create an eclipse InstallableUnitFragment with the given name that is hosted
- * by any bundle. The fragment has the default version, and the default self and
- * fragment provided capabilities are added to the IU.
- */
- public static IInstallableUnitFragment createBundleFragment(String name) {
- InstallableUnitFragmentDescription fragment = new InstallableUnitFragmentDescription();
- fragment.setId(name);
- fragment.setVersion(DEFAULT_VERSION);
- fragment.setProperty(IInstallableUnit.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString());
- fragment.setTouchpointType(TOUCHPOINT_OSGI);
- fragment.addTouchpointData(NO_TP_DATA);
- fragment.setHost(BUNDLE_REQUIREMENT);
- return MetadataFactory.createInstallableUnitFragment(fragment);
-
- // return createIUFragment(null, name, DEFAULT_VERSION, BUNDLE_REQUIREMENT, TOUCHPOINT_OSGI, NO_TP_DATA);
- }
-
- /**
- * Create an eclipse InstallableUnitFragment with the given name and version
- * that is hosted by any bundle. The default self and fragment provided capabilities
- * are added to the IU.
- */
- public static IInstallableUnitFragment createBundleFragment(String name, Version version, TouchpointData tpData) {
- return createIUFragment(null, name, version, BUNDLE_REQUIREMENT, TOUCHPOINT_OSGI, tpData);
- }
-
- public static IDirector createDirector() {
- return (IDirector) ServiceHelper.getService(TestActivator.getContext(), IDirector.class.getName());
- }
-
- /**
- * Create an Eclipse InstallableUnit with the given attributes. All other attributes
- * assume default values, and the default self capability is also added to the IU.
- */
- public static IInstallableUnit createEclipseIU(String name) {
- return createEclipseIU(name, DEFAULT_VERSION);
- }
-
- /**
- * Create an Eclipse InstallableUnit with the given attributes. All other attributes
- * assume default values, and the default self capability is also added to the IU.
- */
- public static IInstallableUnit createEclipseIU(String name, Version version) {
- return createIU(name, version, null, NO_REQUIRES, BUNDLE_CAPABILITY, NO_PROPERTIES, TOUCHPOINT_OSGI, NO_TP_DATA, false);
- }
-
- /**
- * Create an Eclipse InstallableUnit with the given attributes. All other attributes
- * assume default values, and the default self capability is also added to the IU.
- */
- public static IInstallableUnit createEclipseIU(String name, Version version, RequiredCapability[] requires, TouchpointData touchpointData) {
- return createIU(name, version, null, requires, BUNDLE_CAPABILITY, NO_PROPERTIES, TOUCHPOINT_OSGI, touchpointData, false);
- }
-
- public static IEngine createEngine() {
- return (IEngine) ServiceHelper.getService(TestActivator.getContext(), IEngine.SERVICE_NAME);
- }
-
- /**
- * Creates and returns a correctly formatted LDAP filter with the given key and value.
- */
- protected static String createFilter(String filterKey, String filterValue) {
- return "(" + filterKey + '=' + filterValue + ')';
- }
-
- /**
- * Create a basic InstallableUnit with the given attributes. All other attributes
- * assume default values, and the default self capability is also added to the IU.
- */
- public static IInstallableUnit createIU(String name) {
- return createIU(name, DEFAULT_VERSION);
- }
-
- /**
- * Create a basic InstallableUnit with the given attributes. All other attributes
- * assume default values, and the default self capability is also added to the IU.
- */
- public static IInstallableUnit createIU(String name, ProvidedCapability[] additionalProvides) {
- return createIU(name, DEFAULT_VERSION, null, NO_REQUIRES, additionalProvides, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false);
- }
-
- /**
- * Create a basic InstallableUnit with the given attributes. All other attributes
- * assume default values, and the default self capability is also added to the IU.
- */
- public static IInstallableUnit createIU(String name, RequiredCapability[] requires) {
- return createIU(name, DEFAULT_VERSION, null, requires, NO_PROVIDES, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false);
- }
-
- /**
- * Create a basic InstallableUnit with the given attributes. All other attributes
- * assume default values, and the default self capability is also added to the IU.
- */
- public static IInstallableUnit createIU(String name, RequiredCapability[] requires, boolean singleton) {
- return createIU(name, DEFAULT_VERSION, null, requires, NO_PROVIDES, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, singleton);
- }
-
- /**
- * Create a basic InstallableUnit with the given attributes. All other attributes
- * assume default values, and the default self capability is also added to the IU.
- */
- public static IInstallableUnit createIU(String name, String filter, ProvidedCapability[] additionalProvides) {
- return createIU(name, DEFAULT_VERSION, filter, NO_REQUIRES, additionalProvides, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false);
- }
-
- /**
- * Create a basic InstallableUnit with the given attributes. All other attributes
- * assume default values, and the default self capability is also added to the IU.
- */
- public static IInstallableUnit createIU(String name, Version version) {
- return createIU(name, version, null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false);
- }
-
- /**
- * Create a basic InstallableUnit with the given attributes. All other attributes
- * assume default values, and the default self capability is also added to the IU.
- */
- public static IInstallableUnit createIU(String name, Version version, boolean singleton) {
- return createIU(name, version, null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, singleton);
- }
-
- /**
- * Create a basic InstallableUnit with the given attributes. All other attributes
- * assume default values, and the default self capability is also added to the IU.
- */
- public static IInstallableUnit createIU(String name, Version version, ProvidedCapability[] additionalProvides) {
- return createIU(name, version, null, NO_REQUIRES, additionalProvides, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false);
- }
-
- /**
- * Create a basic InstallableUnit with the given attributes. All other attributes
- * assume default values, and the default self capability is also added to the IU.
- */
- public static IInstallableUnit createIU(String name, Version version, RequiredCapability[] required) {
- return createIU(name, version, null, required, NO_PROVIDES, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false);
- }
-
- /**
- * Create a basic InstallableUnit with the given attributes. All other attributes
- * assume default values, and the default self capability is also added to the IU.
- */
- public static IInstallableUnit createIU(String name, Version version, RequiredCapability[] required, Map properties, boolean singleton) {
- return createIU(name, version, null, required, NO_PROVIDES, properties, TouchpointType.NONE, NO_TP_DATA, singleton);
- }
-
- /**
- * Create a basic InstallableUnit with the given attributes. All other attributes
- * assume default values, and the default self capability is also added to the IU.
- */
- public static IInstallableUnit createIU(String name, Version version, String filter, ProvidedCapability[] additionalProvides) {
- return createIU(name, version, filter, NO_REQUIRES, additionalProvides, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false);
- }
-
- /**
- * Create a basic InstallableUnit with the given attributes. All other attributes
- * assume default values, and the default self capability is also added to the IU.
- */
- public static IInstallableUnit createIU(String name, Version version, String filter, RequiredCapability[] required, ProvidedCapability[] additionalProvides, Map properties, TouchpointType tpType, TouchpointData tpData, boolean singleton) {
- return createIU(name, version, filter, required, additionalProvides, properties, tpType, tpData, singleton, null);
- }
-
- public static IInstallableUnitPatch createIUPatch(String name, Version version, boolean singleton, RequirementChange[] changes, RequiredCapability[][] scope, RequiredCapability lifeCycle) {
- return createIUPatch(name, version, null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, singleton, null, changes, scope, lifeCycle);
- }
-
- public static IInstallableUnitPatch createIUPatch(String name, Version version, String filter, RequiredCapability[] required, ProvidedCapability[] additionalProvides, Map properties, TouchpointType tpType, TouchpointData tpData, boolean singleton, IUpdateDescriptor update, RequirementChange[] reqChanges, RequiredCapability[][] scope, RequiredCapability lifeCycle) {
- InstallableUnitPatchDescription iu = new MetadataFactory.InstallableUnitPatchDescription();
- iu.setId(name);
- iu.setVersion(version);
- iu.setFilter(filter);
- ProvidedCapability[] provides = new ProvidedCapability[additionalProvides.length + 1];
- provides[0] = getSelfCapability(name, version);
- for (int i = 0; i < additionalProvides.length; i++) {
- provides[i + 1] = additionalProvides[i];
- }
- for (Iterator iter = properties.keySet().iterator(); iter.hasNext();) {
- String nextKey = (String) iter.next();
- String nextValue = (String) properties.get(nextKey);
- iu.setProperty(nextKey, nextValue);
- }
- iu.setCapabilities(provides);
- iu.setRequiredCapabilities(required);
- iu.setTouchpointType(tpType);
- if (tpData != null)
- iu.addTouchpointData(tpData);
- iu.setSingleton(singleton);
- iu.setUpdateDescriptor(update);
- iu.setRequirementChanges(reqChanges);
- iu.setApplicabilityScope(scope);
- iu.setLifeCycle(lifeCycle);
- return MetadataFactory.createInstallableUnitPatch(iu);
- }
-
- public static IInstallableUnit createIU(String name, Version version, String filter, RequiredCapability[] required, ProvidedCapability[] additionalProvides, Map properties, TouchpointType tpType, TouchpointData tpData, boolean singleton, IUpdateDescriptor update) {
- InstallableUnitDescription iu = new MetadataFactory.InstallableUnitDescription();
- iu.setId(name);
- iu.setVersion(version);
- iu.setFilter(filter);
- ProvidedCapability[] provides = new ProvidedCapability[additionalProvides.length + 1];
- provides[0] = getSelfCapability(name, version);
- for (int i = 0; i < additionalProvides.length; i++) {
- provides[i + 1] = additionalProvides[i];
- }
- for (Iterator iter = properties.keySet().iterator(); iter.hasNext();) {
- String nextKey = (String) iter.next();
- String nextValue = (String) properties.get(nextKey);
- iu.setProperty(nextKey, nextValue);
- }
- iu.setCapabilities(provides);
- iu.setRequiredCapabilities(required);
- iu.setTouchpointType(tpType);
- if (tpData != null)
- iu.addTouchpointData(tpData);
- iu.setSingleton(singleton);
- iu.setUpdateDescriptor(update);
- return MetadataFactory.createInstallableUnit(iu);
- }
-
- /**
- * Create a basic InstallableUnitFragment with the given attributes.
- * The self and fragment provided capabilities are added to the IU.
- */
- public static IInstallableUnitFragment createIUFragment(IInstallableUnit host, String name, Version version) {
- return createIUFragment(host, name, version, NO_REQUIRES, TouchpointType.NONE, NO_TP_DATA);
- }
-
- /**
- * Create a basic InstallableUnitFragment with the given attributes.
- * The self and fragment provided capabilities are added to the IU.
- */
- public static IInstallableUnitFragment createIUFragment(IInstallableUnit host, String name, Version version, RequiredCapability[] required, TouchpointType tpType, TouchpointData tpData) {
- InstallableUnitFragmentDescription fragment = new InstallableUnitFragmentDescription();
- fragment.setId(name);
- fragment.setVersion(version);
- fragment.setProperty(IInstallableUnit.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString());
- fragment.setRequiredCapabilities(required);
- fragment.setTouchpointType(tpType);
- if (tpData != null)
- fragment.addTouchpointData(tpData);
- if (host != null) {
- VersionRange hostRange = new VersionRange(host.getVersion(), true, host.getVersion(), true);
- fragment.setHost(new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, host.getId(), hostRange, null, false, false)});
- }
- fragment.setCapabilities(new ProvidedCapability[] {getSelfCapability(name, version)});
- return MetadataFactory.createInstallableUnitFragment(fragment);
- }
-
- public static IPlanner createPlanner() {
- return (IPlanner) ServiceHelper.getService(TestActivator.getContext(), IPlanner.class.getName());
- }
-
- /**
- * Creates and returns a required capability with the provided attributes.
- */
- protected static RequiredCapability[] createRequiredCapabilities(String namespace, String name, String filter) {
- return createRequiredCapabilities(namespace, name, ANY_VERSION, filter);
- }
-
- /**
- * Creates and returns a required capability with the provided attributes.
- */
- protected static RequiredCapability[] createRequiredCapabilities(String namespace, String name, VersionRange range, String filter) {
- return new RequiredCapability[] {MetadataFactory.createRequiredCapability(namespace, name, range, filter, false, false)};
- }
-
- public static boolean delete(File file) {
- if (!file.exists())
- return true;
- if (file.isDirectory()) {
- File[] children = file.listFiles();
- for (int i = 0; i < children.length; i++)
- delete(children[i]);
- }
- return file.delete();
- }
-
- /**
- * Compare two 2-dimensional arrays of strings for equality
- */
- protected static boolean equal(String[][] tuples0, String[][] tuples1) {
- if (tuples0.length != tuples1.length)
- return false;
- for (int i = 0; i < tuples0.length; i++) {
- String[] tuple0 = tuples0[i];
- String[] tuple1 = tuples1[i];
- if (tuple0.length != tuple1.length)
- return false;
- for (int j = 0; j < tuple0.length; j++) {
- if (!tuple0[j].equals(tuple1[j]))
- return false;
- }
- }
- return true;
- }
-
- /**
- * Fails the test due to the given throwable.
- */
- public static void fail(String message, Throwable e) {
- // If the exception is a CoreException with a multistatus
- // then print out the multistatus so we can see all the info.
- if (e instanceof CoreException) {
- IStatus status = ((CoreException) e).getStatus();
- //if the status does not have an exception, print the stack for this one
- if (status.getException() == null)
- e.printStackTrace();
- write(status, 0, System.err);
- } else
- e.printStackTrace();
- fail(message + ": " + e);
- }
-
- public static Iterator getInstallableUnits(IProfile profile2) {
- return profile2.query(InstallableUnitQuery.ANY, new Collector(), null).iterator();
- }
-
- /**
- * Get the 'self' capability for the given installable unit.
- */
- protected static ProvidedCapability getSelfCapability(IInstallableUnit iu) {
- return getSelfCapability(iu.getId(), iu.getVersion());
- }
-
- /**
- * Get the 'self' capability for an installable unit with the give id and version.
- */
- private static ProvidedCapability getSelfCapability(String installableUnitId, Version installableUnitVersion) {
- return MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, installableUnitId, installableUnitVersion);
- }
-
- private static void indent(OutputStream output, int indent) {
- for (int i = 0; i < indent; i++)
- try {
- output.write("\t".getBytes());
- } catch (IOException e) {
- // ignore
- }
- }
-
- private static void write(IStatus status, int indent, PrintStream output) {
- indent(output, indent);
- output.println("Severity: " + status.getSeverity());
-
- indent(output, indent);
- output.println("Plugin ID: " + status.getPlugin());
-
- indent(output, indent);
- output.println("Code: " + status.getCode());
-
- indent(output, indent);
- output.println("Message: " + status.getMessage());
-
- if (status.getException() != null) {
- indent(output, indent);
- output.print("Exception: ");
- status.getException().printStackTrace(output);
- }
-
- if (status.isMultiStatus()) {
- IStatus[] children = status.getChildren();
- for (int i = 0; i < children.length; i++)
- write(children[i], indent + 1, output);
- }
- }
-
- public AbstractProvisioningTest() {
- super("");
- }
-
- public AbstractProvisioningTest(String name) {
- super(name);
- }
-
- protected void assertEquals(String message, byte[] expected, byte[] actual) {
- if (expected == null && actual == null)
- return;
- if (expected == null)
- fail(message + " expected null but was: " + actual);
- if (actual == null)
- fail(message + " array is unexpectedly null");
- if (expected.length != actual.length)
- fail(message + " expected array length:<" + expected.length + "> but was:<" + actual.length + ">");
- for (int i = 0; i < expected.length; i++)
- assertEquals(message + " arrays differ at position:<" + i + ">", expected[i], actual[i]);
- }
-
- protected void assertEquals(String message, Object[] expected, Object[] actual) {
- if (expected == null && actual == null)
- return;
- if (expected == null)
- fail(message + " expected null but was: " + actual);
- if (actual == null)
- fail(message + " array is unexpectedly null");
- if (expected.length != actual.length)
- fail(message + " expected array length:<" + expected.length + "> but was:<" + actual.length + ">");
- for (int i = 0; i < expected.length; i++)
- assertEquals(message + " arrays differ at position:<" + i + ">", expected[i], actual[i]);
- }
-
- /**
- * Creates a profile with the given name. Ensures that no such profile
- * already exists. The returned profile will be removed automatically
- * in the tearDown method.
- */
- protected IProfile createProfile(String name) {
- return createProfile(name, null, null);
- }
-
- /**
- * Creates a profile with the given name. Ensures that no such profile
- * already exists. The returned profile will be removed automatically
- * in the tearDown method.
- */
- protected IProfile createProfile(String name, String parentId) {
- return createProfile(name, parentId, null);
- }
-
- protected IProfile createProfile(String name, String parentId, Map properties) {
- //remove any existing profile with the same name
- IProfileRegistry profileRegistry = (IProfileRegistry) ServiceHelper.getService(TestActivator.getContext(), IProfileRegistry.class.getName());
- profileRegistry.removeProfile(name);
- //create and return a new profile
- try {
- return profileRegistry.addProfile(name, properties, parentId);
- } catch (ProvisionException e) {
- throw new IllegalArgumentException(e.getMessage());
- }
- }
-
- protected IProgressMonitor getMonitor() {
- return new NullProgressMonitor();
- }
-
- protected IProfile getProfile(String profileId) {
- //remove any existing profile with the same name
- IProfileRegistry profileRegistry = (IProfileRegistry) ServiceHelper.getService(TestActivator.getContext(), IProfileRegistry.class.getName());
- return profileRegistry.getProfile(profileId);
- }
-
- /**
- * Returns a resolved IU corresponding to the given IU, with no attached fragments.
- */
- protected IInstallableUnit createResolvedIU(IInstallableUnit unit) {
- return MetadataFactory.createResolvedInstallableUnit(unit, new IInstallableUnitFragment[0]);
- }
-
- /**
- * Adds a test metadata repository to the system that provides the given units.
- * The repository will automatically be removed in the tearDown method.
- */
- protected void createTestMetdataRepository(IInstallableUnit[] units) {
- IMetadataRepository repo = new TestMetadataRepository(units);
- MetadataRepositoryManager repoMan = (MetadataRepositoryManager) ServiceHelper.getService(TestActivator.getContext(), IMetadataRepositoryManager.class.getName());
- assertNotNull(repoMan);
- repoMan.addRepository(repo);
- metadataRepos.add(repo);
- }
-
- public static String getUniqueString() {
- return System.currentTimeMillis() + "-" + Math.random();
- }
-
- public static File getTempFolder() {
- String tempDir = System.getProperty("java.io.tmpdir");
- File folder = new File(tempDir, getUniqueString());
- delete(folder);
- folder.mkdirs();
- return folder;
- }
-
- /* (non-Javadoc)
- * @see junit.framework.TestCase#tearDown()
- */
- protected void tearDown() throws Exception {
- super.tearDown();
- //remove all metadata repositories created by this test
- IMetadataRepositoryManager repoMan = (IMetadataRepositoryManager) ServiceHelper.getService(TestActivator.getContext(), IMetadataRepositoryManager.class.getName());
- if (!metadataRepos.isEmpty()) {
- for (Iterator it = metadataRepos.iterator(); it.hasNext();) {
- IMetadataRepository repo = (IMetadataRepository) it.next();
- repoMan.removeRepository(repo.getLocation());
- }
- metadataRepos.clear();
- }
- URL[] urls = repoMan.getKnownRepositories(IMetadataRepositoryManager.REPOSITORIES_ALL);
- for (int i = 0; i < urls.length; i++) {
- try {
- if (urls[i].toExternalForm().indexOf("cache") != -1 || urls[i].toExternalForm().indexOf("rollback") != -1)
- repoMan.loadRepository(urls[i], null).removeAll();
- } catch (ProvisionException e) {
- //if the repository didn't load, then it doesn't exist and we don't need to clear it up
- }
- }
- //remove all profiles created by this test
- IProfileRegistry profileRegistry = (IProfileRegistry) ServiceHelper.getService(TestActivator.getContext(), IProfileRegistry.class.getName());
- for (Iterator it = profilesToRemove.iterator(); it.hasNext();) {
- IProfile toRemove = (IProfile) it.next();
- profileRegistry.removeProfile(toRemove.getProfileId());
- }
- profilesToRemove.clear();
- //See bug 209069 - currently no way to persist install registry changes or clear the metadata cache
- // IMetadataRepository cache = MetadataCache.getCacheInstance((MetadataRepositoryManager) repoMan);
- // cache.removeAll();
- }
-
- /*
- * Look up and return a file handle to the given entry in the bundle.
- */
- protected File getTestData(String message, String entry) {
- if (entry == null)
- fail(message + " entry is null.");
- URL base = TestActivator.getContext().getBundle().getEntry(entry);
- if (base == null)
- fail(message + " entry not found in bundle: " + entry);
- try {
- String osPath = new Path(FileLocator.toFileURL(base).getPath()).toOSString();
- File result = new File(osPath);
- if (!result.getCanonicalPath().equals(result.getPath()))
- fail(message + " result path: " + result.getPath() + " does not match canonical path: " + result.getCanonicalFile().getPath());
- return result;
- } catch (IOException e) {
- fail(message, e);
- }
- // avoid compile error... should never reach this code
- return null;
- }
-
- protected void assertInstallOperand(ProvisioningPlan plan, IInstallableUnit iu) {
- Operand[] ops = plan.getOperands();
- for (int i = 0; i < ops.length; i++) {
- if (ops[i] instanceof InstallableUnitOperand) {
- InstallableUnitOperand iuOp = (InstallableUnitOperand) ops[i];
- if (iu.equals(iuOp.second()))
- return;
- }
- }
- fail("Can't find " + iu + " in the plan");
- }
-
- protected void assertUninstallOperand(ProvisioningPlan plan, IInstallableUnit iu) {
- Operand[] ops = plan.getOperands();
- for (int i = 0; i < ops.length; i++) {
- if (ops[i] instanceof InstallableUnitOperand) {
- InstallableUnitOperand iuOp = (InstallableUnitOperand) ops[i];
- if (iu.equals(iuOp.first()))
- return;
- }
- }
- fail("Can't find " + iu + " in the plan");
- }
-
- protected void assertNoOperand(ProvisioningPlan plan, IInstallableUnit iu) {
- Operand[] ops = plan.getOperands();
- for (int i = 0; i < ops.length; i++) {
- if (ops[i] instanceof InstallableUnitOperand) {
- InstallableUnitOperand iuOp = (InstallableUnitOperand) ops[i];
- if (iuOp.second() != null && iuOp.second().equals(iu))
- fail(iu + " should not be present in this plan.");
- if (iuOp.first() != null && iuOp.first().equals(iu))
- fail(iu + " should not be present in this plan.");
- }
- }
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- MetadataRepositoryManager repoMan = (MetadataRepositoryManager) ServiceHelper.getService(TestActivator.getContext(), IMetadataRepositoryManager.class.getName());
- URL[] repos = repoMan.getKnownRepositories(MetadataRepositoryManager.REPOSITORIES_ALL);
- for (int i = 0; i < repos.length; i++) {
- repoMan.removeRepository(repos[i]);
- }
- }
-
- protected IStatus install(IProfile profile, IInstallableUnit[] ius, boolean strict, IPlanner planner, IEngine engine) {
- ProfileChangeRequest req = new ProfileChangeRequest(profile);
- req.addInstallableUnits(ius);
- for (int i = 0; i < ius.length; i++) {
- req.setInstallableUnitInclusionRules(ius[i], strict ? PlannerHelper.createStrictInclusionRule(ius[i]) : PlannerHelper.createOptionalInclusionRule(ius[i]));
- }
-
- ProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
- if (plan.getStatus().getSeverity() == IStatus.ERROR || plan.getStatus().getSeverity() == IStatus.CANCEL)
- return plan.getStatus();
- return engine.perform(profile, new DefaultPhaseSet(), plan.getOperands(), null, null);
- }
-
- protected IStatus uninstall(IProfile profile, IInstallableUnit[] ius, IPlanner planner, IEngine engine) {
- ProfileChangeRequest req = new ProfileChangeRequest(profile);
- req.removeInstallableUnits(ius);
-
- ProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
- return engine.perform(profile, new DefaultPhaseSet(), plan.getOperands(), null, null);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/AutomatedTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/AutomatedTests.java
deleted file mode 100644
index e96fd0f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/AutomatedTests.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests;
-
-import junit.framework.*;
-
-/**
- * This is the master test suite for all automated provisioning tests. It runs every test
- * that is suitable for running in an automated fashion as part of a build. Some
- * tests may be excluded if they require special setup (such as generating metadata).
- */
-public class AutomatedTests extends TestCase {
- public static Test suite() {
- TestSuite suite = new TestSuite(AutomatedTests.class.getName());
- suite.addTest(org.eclipse.equinox.p2.tests.artifact.repository.AllTests.suite());
- suite.addTest(org.eclipse.equinox.p2.tests.core.AllTests.suite());
- suite.addTest(org.eclipse.equinox.p2.tests.director.AllTests.suite());
- suite.addTest(org.eclipse.equinox.p2.tests.download.AllTests.suite());
- suite.addTest(org.eclipse.equinox.p2.tests.engine.AllTests.suite());
- suite.addTest(org.eclipse.equinox.p2.tests.generator.AllTests.suite());
- suite.addTest(org.eclipse.equinox.p2.tests.metadata.AllTests.suite());
- suite.addTest(org.eclipse.equinox.p2.tests.metadata.repository.AllTests.suite());
- suite.addTest(org.eclipse.equinox.p2.tests.planner.AllTests.suite());
- suite.addTest(org.eclipse.equinox.p2.tests.directorywatcher.AllTests.suite());
- suite.addTest(org.eclipse.equinox.p2.tests.simpleconfigurator.SimpleConfiguratorTests.suite());
- suite.addTest(org.eclipse.equinox.p2.tests.updatesite.AllTests.suite());
- suite.addTest(org.eclipse.equinox.p2.tests.extensionlocation.AllTests.suite());
- suite.addTest(org.eclipse.equinox.p2.tests.touchpoint.eclipse.AllTests.suite());
- return suite;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ManualTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ManualTests.java
deleted file mode 100644
index f73eb38..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ManualTests.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests;
-
-import junit.framework.*;
-
-/**
- * This is the master test suite for all automated provisioning tests that require some
- * manual set. These tests can't be run automatically as part of a build.
- */
-public class ManualTests extends TestCase {
- public static Test suite() {
- TestSuite suite = new TestSuite(AutomatedTests.class.getName());
- suite.addTestSuite(org.eclipse.equinox.p2.tests.full.DirectorTest.class);
- return suite;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/TestActivator.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/TestActivator.java
deleted file mode 100644
index 8b43ee4..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/TestActivator.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests;
-
-import org.osgi.framework.*;
-import org.osgi.service.packageadmin.PackageAdmin;
-
-public class TestActivator implements BundleActivator {
- public static final String PI_PROV_TESTS = "org.eclipse.equinox.p2.test";
- public static BundleContext context;
- private static PackageAdmin packageAdmin = null;
- private static ServiceReference packageAdminRef = null;
-
- public static BundleContext getContext() {
- return context;
- }
-
- public void start(BundleContext context) throws Exception {
- TestActivator.context = context;
- packageAdminRef = context.getServiceReference(PackageAdmin.class.getName());
- packageAdmin = (PackageAdmin) context.getService(packageAdminRef);
-
- //This is a hack because the junit plugin launch config do not allow to start bundles
- getBundle("org.eclipse.equinox.p2.exemplarysetup").start();
- getBundle("org.eclipse.equinox.frameworkadmin.equinox").start();
- getBundle("org.eclipse.equinox.simpleconfigurator.manipulator").start();
- }
-
- public void stop(BundleContext context) throws Exception {
- TestActivator.context = null;
- }
-
- public static Bundle getBundle(String symbolicName) {
- if (packageAdmin == null)
- return null;
- Bundle[] bundles = packageAdmin.getBundles(symbolicName, null);
- if (bundles == null)
- return null;
- //Return the first bundle that is not installed or uninstalled
- for (int i = 0; i < bundles.length; i++) {
- if ((bundles[i].getState() & (Bundle.INSTALLED | Bundle.UNINSTALLED)) == 0) {
- return bundles[i];
- }
- }
- return null;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/TestArtifactRepository.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/TestArtifactRepository.java
deleted file mode 100644
index 19a9100..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/TestArtifactRepository.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests;
-
-import java.io.*;
-import java.net.*;
-import java.util.*;
-import junit.framework.Assert;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.artifact.repository.ArtifactRequest;
-import org.eclipse.equinox.internal.p2.artifact.repository.Transport;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.*;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStepHandler;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.RepositoryCreationException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository.AbstractArtifactRepository;
-
-/**
- * A simple artifact repository implementation used for testing purposes.
- * All artifacts are kept in memory.
- */
-public class TestArtifactRepository extends AbstractArtifactRepository {
- private static final String SCHEME = "testartifactrepo";
- private static final String NAME = "ATestArtifactRepository"; //$NON-NLS-1$
- private static final String TYPE = "testartifactrepo"; //$NON-NLS-1$
- private static final String VERSION = "1"; //$NON-NLS-1$
- private static final String PROVIDER = "org.eclipse"; //$NON-NLS-1$
- private static final String DESCRIPTION = "A Test Artifact Repository"; //$NON-NLS-1$
-
- /**
- * Map of IArtifactKey -> String (location)
- */
- Map keysToLocations = new HashMap();
- /**
- * Map of String (location) -> byte[] (contents)
- */
- Map locationsToContents = new HashMap();
-
- /**
- * Set of artifact descriptors
- */
- Set artifactDescriptors = new HashSet();
-
- Transport testhandler = new Transport() {
- public IStatus download(String toDownload, OutputStream target, IProgressMonitor pm) {
- byte[] contents = (byte[]) locationsToContents.get(toDownload);
- if (contents == null)
- Assert.fail("Attempt to download missing artifact in TestArtifactRepository: " + toDownload);
- try {
- target.write(contents);
- } catch (IOException e) {
- e.printStackTrace();
- Assert.fail("Unexpected exception in TestArtifactRepository" + e.getMessage());
- }
- return Status.OK_STATUS;
- }
- };
-
- public TestArtifactRepository() {
- super(NAME, TYPE, VERSION, null, DESCRIPTION, PROVIDER, null);
- }
-
- public void addArtifact(IArtifactKey key, byte[] contents) {
- String location = key.toString();
- keysToLocations.put(key, location);
- locationsToContents.put(location, contents);
- }
-
- public URI getArtifact(IArtifactKey key) {
- String location = (String) keysToLocations.get(key);
- if (location == null)
- return null;
- try {
- return new URI(SCHEME, location, null);
- } catch (URISyntaxException e) {
- Assert.fail("Invalid URI in TestArtifactRepository: " + e.getMessage());
- return null;
- }
- }
-
- public IArtifactKey[] getArtifactKeys() {
- return (IArtifactKey[]) keysToLocations.keySet().toArray(new IArtifactKey[keysToLocations.keySet().size()]);
- }
-
- private IStatus getArtifact(ArtifactRequest request, IProgressMonitor monitor) {
- request.setSourceRepository(this);
- request.perform(monitor);
- return request.getResult();
- }
-
- public IStatus getArtifacts(IArtifactRequest[] requests, IProgressMonitor monitor) {
- SubMonitor subMonitor = SubMonitor.convert(monitor, requests.length);
- try {
- MultiStatus overallStatus = new MultiStatus(TestActivator.PI_PROV_TESTS, IStatus.OK, null, null);
- for (int i = 0; i < requests.length; i++) {
- overallStatus.add(getArtifact((ArtifactRequest) requests[i], subMonitor.newChild(1)));
- }
- return (monitor.isCanceled() ? Status.CANCEL_STATUS : overallStatus);
- } finally {
- subMonitor.done();
- }
- }
-
- public void initialize(URL repoURL, InputStream descriptorFile) throws RepositoryCreationException {
- location = repoURL;
- }
-
- public boolean contains(IArtifactDescriptor descriptor) {
- return keysToLocations.get(descriptor.getArtifactKey()) != null;
- }
-
- public boolean contains(IArtifactKey key) {
- return keysToLocations.get(key) != null;
- }
-
- public IStatus getArtifact(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) {
- ProcessingStepHandler handler = new ProcessingStepHandler();
- destination = handler.createAndLink(descriptor.getProcessingSteps(), null, destination, monitor);
- testhandler.download((String) keysToLocations.get(descriptor.getArtifactKey()), destination, monitor);
- return Status.OK_STATUS;
- }
-
- public IArtifactDescriptor[] getArtifactDescriptors(IArtifactKey key) {
- if (!contains(key))
- return null;
- return new IArtifactDescriptor[] {new ArtifactDescriptor(key)};
- }
-
- public void addDescriptor(IArtifactDescriptor descriptor) {
- ((ArtifactDescriptor) descriptor).setRepository(this);
- artifactDescriptors.add(descriptor);
- keysToLocations.put(descriptor.getArtifactKey(), null);
- }
-
- public void removeDescriptor(IArtifactDescriptor descriptor) {
- removeDescriptor(descriptor.getArtifactKey());
- }
-
- public void removeDescriptor(IArtifactKey key) {
- for (Iterator iter = artifactDescriptors.iterator(); iter.hasNext();) {
- IArtifactDescriptor nextDescriptor = (IArtifactDescriptor) iter.next();
- if (key.equals(nextDescriptor.getArtifactKey())) {
- artifactDescriptors.remove(nextDescriptor);
- }
- }
- if (keysToLocations.containsKey(key)) {
- String theLocation = (String) keysToLocations.get(key);
- locationsToContents.remove(theLocation);
- keysToLocations.remove(key);
- }
- }
-
- public void removeAll() {
- artifactDescriptors.clear();
- keysToLocations.clear();
- locationsToContents.clear();
- }
-
- public boolean isModifiable() {
- return true;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/TestData.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/TestData.java
deleted file mode 100644
index fbd1d89..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/TestData.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 compeople AG and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * compeople AG (Stefan Liebig) - initial API and implementation
- * Red Hat, Inc. (Andrew Overholt) - add getFile method
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests;
-
-import java.io.*;
-import java.util.*;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipInputStream;
-import junit.framework.Assert;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-
-/**
- * <code>TestData</code> helps with handling of test data.
- */
-public class TestData {
-
- private static final String TEST_DATA_ROOT_FOLDER = "testData";
- private static final String PREFIX_SEPERATOR = "~";
-
- /**
- * Get an input stream from the resource testDataName within the folder
- * testDataFolder of the testData folder of this project.
- * @param testDataFolder
- * @param testDataName
- * @return input stream for the test data
- * @throws IOException
- */
- public static InputStream get(String testDataFolder, String testDataName) throws IOException {
- return new BufferedInputStream(TestActivator.getContext().getBundle().getEntry(TEST_DATA_ROOT_FOLDER + "/" + testDataFolder + "/" + testDataName).openStream());
- }
-
- /**
- * Get a File from the resource testDataName within the folder
- * testDataFolder of the testData folder of this project.
- * @param testDataFolder
- * @return test data File
- * @throws IOException
- */
- public static File getFile(String testDataFolder, String testDataName) throws IOException {
- return new File(FileLocator.toFileURL(TestActivator.getContext().getBundle().getEntry(TEST_DATA_ROOT_FOLDER + "/" + testDataFolder + "/" + testDataName)).getPath());
- }
-
- /**
- * Create a temporary file for the test data. The temporary file will be deleted
- * when the jvm exists. If testDataName contains an extension this extension will
- * be used as suffix for the temporary file.
- * @param testDataFolder
- * @param testDataName
- * @return temporary file with test data
- * @throws IOException
- */
- public static File getTempFile(String testDataFolder, String testDataName) throws IOException {
- File temp = createTempFile(testDataName);
- OutputStream out = new FileOutputStream(temp);
- FileUtils.copyStream(get(testDataFolder, testDataName), true, out, true);
- return temp;
- }
-
- /**
- * Create a temporary file. This file will be deleted if the jvm exits.
- * If testDataName contains an extension this extension will be used as
- * suffix for the temporary file.
- * @param testDataName
- * @return temporary file
- * @throws IOException
- */
- public static File createTempFile(String testDataName) throws IOException {
- int i = testDataName.lastIndexOf('.');
- File temp = (i == -1) ? File.createTempFile(testDataName + PREFIX_SEPERATOR, ".tmp") : File.createTempFile(testDataName.substring(0, i) + PREFIX_SEPERATOR, testDataName.substring(i));
- temp.deleteOnExit();
- return temp;
- }
-
- /**
- * Assert equality of files.
- * @param expected
- * @param actual
- * @throws IOException
- */
- public static void assertEquals(File expected, File actual) throws IOException {
- Assert.assertEquals("Files have different lengths.", expected.length(), actual.length());
- TestData.assertEquals(new BufferedInputStream(new FileInputStream(expected)), new BufferedInputStream(new FileInputStream(actual)));
- }
-
- /**
- * Assert equality of input streams.
- * @param expected
- * @param actual
- * @throws IOException
- */
- public static void assertEquals(InputStream expected, InputStream actual) throws IOException {
- try {
- int readExpected = 0;
- int readActual = 0;
- int count = 0;
- while (readActual != -1 && readExpected != -1) {
- readActual = actual.read();
- readExpected = expected.read();
- Assert.assertEquals("Different bytes at " + count, readExpected, readActual);
- count++;
- }
- } finally {
- if (expected != null)
- expected.close();
- if (actual != null)
- actual.close();
- }
- }
-
- /**
- * Assert equality of zip input streams.
- * @param input1
- * @param input2
- * @throws IOException
- */
- public static void assertEquals(ZipInputStream input1, ZipInputStream input2) throws IOException {
- Map jar1 = getEntries(input1);
- Map jar2 = getEntries(input2);
- for (Iterator i = jar1.keySet().iterator(); i.hasNext();) {
- String name = (String) i.next();
- Object[] file1 = (Object[]) jar1.get(name);
- Object[] file2 = (Object[]) jar2.remove(name);
- Assert.assertNotNull(file2);
-
- ZipEntry entry1 = (ZipEntry) file1[0];
- ZipEntry entry2 = (ZipEntry) file2[0];
- // compare the entries
- Assert.assertTrue(entry1.getName().equals(entry2.getName()));
- Assert.assertTrue(entry1.getSize() == entry2.getSize());
- // TODO for now skip over the timestamp as they seem to be different
- // assertTrue(entry1.getTime() == entry2.getTime());
- Assert.assertTrue(entry1.isDirectory() == entry2.isDirectory());
- Assert.assertTrue(entry1.getCrc() == entry2.getCrc());
- Assert.assertTrue(entry1.getMethod() == entry2.getMethod());
-
- // check the content of the entries
- Assert.assertTrue(Arrays.equals((byte[]) file1[1], (byte[]) file2[1]));
- }
-
- // ensure that we have consumed all of the entries in the second JAR
- Assert.assertTrue(jar2.size() == 0);
- }
-
- private static Map getEntries(ZipInputStream input) throws IOException {
- Map result = new HashMap();
- while (true) {
- ZipEntry entry = input.getNextEntry();
- if (entry == null)
- return result;
-
- ByteArrayOutputStream content = new ByteArrayOutputStream();
- FileUtils.copyStream(input, false, content, true);
- input.closeEntry();
- result.put(entry.getName(), new Object[] {entry, content.toByteArray()});
- }
- }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/TestMetadataRepository.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/TestMetadataRepository.java
deleted file mode 100644
index ab4f6c4..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/TestMetadataRepository.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import junit.framework.Assert;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.query.Query;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.AbstractMetadataRepository;
-import org.osgi.framework.Version;
-
-/**
- * A simple metadata repository used for testing purposes. All metadata
- * is kept in memory.
- */
-public class TestMetadataRepository extends AbstractMetadataRepository {
-
- private static final String DESCRIPTION = "A Test Metadata Repository"; //$NON-NLS-1$
- private static final String NAME = "ATestMetadataRepository"; //$NON-NLS-1$
- private static final String PROVIDER = "org.eclipse"; //$NON-NLS-1$
- private static final String TYPE = "testmetadatarepo"; //$NON-NLS-1$
- private static final String VERSION = "1"; //$NON-NLS-1$
- private final List units = new ArrayList();
-
- private static URL createLocation() {
- try {
- //Just need a unique URL - we don't need to read/write this location
- return new URL("http://TestMetadataRepository.com/" + Long.toString(System.currentTimeMillis()));
- } catch (MalformedURLException e) {
- Assert.fail(e.getMessage());
- }
- return null;
- }
-
- public TestMetadataRepository(IInstallableUnit[] ius) {
- super(NAME, TYPE, VERSION, createLocation(), DESCRIPTION, PROVIDER, null);
- units.addAll(Arrays.asList(ius));
- }
-
- public void addInstallableUnits(IInstallableUnit[] toAdd) {
- units.addAll(Arrays.asList(toAdd));
- }
-
- public IInstallableUnit find(String id, String versionString) {
- Iterator result = query(new InstallableUnitQuery(id, new Version(versionString)), new Collector(), null).iterator();
- return (IInstallableUnit) (result.hasNext() ? result.next() : null);
- }
-
- public Object getAdapter(Class adapter) {
- if (adapter == TestMetadataRepository.class || adapter == IMetadataRepository.class || adapter == IRepository.class) {
- return this;
- }
- return null;
- }
-
- public Collector query(Query query, Collector collector, IProgressMonitor monitor) {
- return query.perform(units.iterator(), collector);
- }
-
- public void removeAll() {
- units.clear();
- }
-
- public boolean removeInstallableUnits(IInstallableUnit[] toRemove) {
- boolean modified = false;
- for (int i = 0; i < toRemove.length; i++) {
- modified |= units.remove(toRemove[i]);
- }
- return modified;
- }
-
- public void initialize(RepositoryState state) {
- this.name = state.Name;
- this.type = state.Type;
- this.version = state.Version.toString();
- this.provider = state.Provider;
- this.description = state.Description;
- this.location = state.Location;
- this.properties = state.Properties;
- this.units.addAll(Arrays.asList(state.Units));
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/AllTests.java
deleted file mode 100644
index c927ec4..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/AllTests.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.repository;
-
-import junit.framework.*;
-
-/**
- * Performs all automated artifact repository tests.
- */
-public class AllTests extends TestCase {
-
- public static Test suite() {
- TestSuite suite = new TestSuite(AllTests.class.getName());
- suite.addTestSuite(ArtifactOutputStreamTest.class);
- // DISABLING TEST UNTIL WE UPDATE REPOSITORY FILES
- //suite.addTestSuite(JarURLRepositoryTest.class);
- suite.addTestSuite(FoldersRepositoryTest.class);
- suite.addTestSuite(MirrorSelectorTest.class);
- suite.addTestSuite(SimpleArtifactRepositoryTest.class);
- return suite;
- }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/ArtifactOutputStreamTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/ArtifactOutputStreamTest.java
deleted file mode 100644
index a445348..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/ArtifactOutputStreamTest.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 compeople AG and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * compeople AG (Stefan Liebig) - initial API and implementation
- * IBM - ongoing maintenance
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.repository;
-
-import java.io.*;
-import junit.framework.TestCase;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository;
-import org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.ArtifactOutputStream;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.*;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStep;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.osgi.framework.Version;
-
-public class ArtifactOutputStreamTest extends TestCase {
-
- private SimpleArtifactRepository sar = null;
- private ProcessingStep destination = null;
- private IArtifactKey ak = null;
- private IArtifactDescriptor ad = null;
- private ArtifactOutputStream aos = null;
- private File temp = null;
- private File tempWritableLocation = null;
-
- protected void setUp() throws Exception {
- super.setUp();
-
- tempWritableLocation = File.createTempFile("artifact", ".repo");
- tempWritableLocation.delete();
- tempWritableLocation.mkdirs();
- sar = new SimpleArtifactRepository("name", tempWritableLocation.toURL(), null);
- destination = new Destination();
- ak = new ArtifactKey("classifier", "id", new Version("1.0"));
- ad = new ArtifactDescriptor(ak);
- temp = File.createTempFile("ArtifactOutputStreamTest", ".tmp");
- temp.deleteOnExit();
- aos = sar.new ArtifactOutputStream(destination, ad, temp);
- assertNotNull(aos);
- Destination.ioe = null;
- Destination.baos = null;
- }
-
- protected void tearDown() throws Exception {
- AbstractProvisioningTest.delete(temp);
- AbstractProvisioningTest.delete(tempWritableLocation);
- super.tearDown();
- }
-
- public void testStatefullness() {
- assertTrue(aos instanceof IStateful);
- assertTrue(aos instanceof ArtifactOutputStream);
- }
-
- public void testSingleCloseStreamOkDestinationOk() throws IOException {
- assertTrue(temp.exists());
- aos.write(22);
- aos.close();
- assertTrue(temp.exists());
- assertEquals("1", ad.getProperty(IArtifactDescriptor.DOWNLOAD_SIZE));
- }
-
- public void testDoubleCloseStreamOkDestinationOk() throws IOException {
- assertTrue(temp.exists());
- aos.write(22);
- aos.close();
- assertTrue(temp.exists());
- assertEquals("1", ad.getProperty(IArtifactDescriptor.DOWNLOAD_SIZE));
- // tests bug 212476
- aos.close();
- assertTrue(temp.exists());
- }
-
- public void testSingleCloseStreamNotOkDestinationOk() throws IOException {
- assertTrue(temp.exists());
- aos.setStatus(Status.CANCEL_STATUS);
- aos.close();
- assertFalse(temp.exists());
- }
-
- public void testSingleCloseStreamOkDestinationNotOk() throws IOException {
- assertTrue(temp.exists());
- destination.setStatus(Status.CANCEL_STATUS);
- aos.close();
- assertFalse(temp.exists());
- }
-
- public void testSingleCloseStreamOkDestinationCloseFails() {
- assertTrue(temp.exists());
- Destination.ioe = new IOException("Expected");
- try {
- aos.close();
- assertTrue(false);
- } catch (IOException ioe) {
- assertTrue(true);
- } finally {
- assertFalse(temp.exists());
- }
- }
-
- public void testSingleCloseStreamNotOkDestinationCloseFails() {
- assertTrue(temp.exists());
- Destination.ioe = new IOException("Expected");
- aos.setStatus(Status.CANCEL_STATUS);
- try {
- aos.close();
- } catch (IOException ioe) {
- assertTrue(false);
- } finally {
- assertFalse(temp.exists());
- }
- }
-
- public void testWriteToDestinationStreamOkDestinationOk() throws IOException {
- Destination.baos = new ByteArrayOutputStream();
- assertTrue(temp.exists());
- aos.write(22);
- aos.close();
- assertTrue(temp.exists());
- assertEquals("1", ad.getProperty(IArtifactDescriptor.DOWNLOAD_SIZE));
- aos.close();
- assertTrue(temp.exists());
- assertEquals(1, Destination.baos.toByteArray().length);
- assertEquals(22, Destination.baos.toByteArray()[0]);
- }
-
- static class Destination extends ProcessingStep {
-
- static IOException ioe = null;
- static ByteArrayOutputStream baos = null;
-
- public void close() throws IOException {
- super.close();
- if (ioe != null) {
- throw ioe;
- }
- }
-
- public void write(int b) throws IOException {
- if (baos != null)
- baos.write(b);
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/FoldersRepositoryTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/FoldersRepositoryTest.java
deleted file mode 100644
index 92173a4..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/FoldersRepositoryTest.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.repository;
-
-import java.io.File;
-import java.io.FileFilter;
-import java.net.URL;
-import junit.framework.TestCase;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.osgi.framework.ServiceReference;
-import org.osgi.framework.Version;
-
-public class FoldersRepositoryTest extends TestCase {
-
- private ServiceReference managerRef;
- private IArtifactRepositoryManager manager;
-
- public FoldersRepositoryTest(String name) {
- super(name);
- }
-
- public FoldersRepositoryTest() {
- super("");
- }
-
- protected void setUp() throws Exception {
- managerRef = TestActivator.getContext().getServiceReference(IArtifactRepositoryManager.class.getName());
- manager = (IArtifactRepositoryManager) TestActivator.getContext().getService(managerRef);
- }
-
- protected void tearDown() throws Exception {
- manager = null;
- TestActivator.getContext().ungetService(managerRef);
- }
-
- public void testFolderRepository() throws Exception {
- String tempDir = System.getProperty("java.io.tmpdir");
- File testRepo = new File(tempDir, "testRepo");
- AbstractProvisioningTest.delete(testRepo);
- testRepo.mkdir();
-
- manager.removeRepository(testRepo.toURL());
- IArtifactRepository repo = manager.createRepository(testRepo.toURL(), "testRepo", IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
- File pluginsFolder = new File(testRepo, "plugins");
- pluginsFolder.mkdir();
-
- URL sourceBase = TestActivator.getContext().getBundle().getEntry("/testData/directorywatcher1");
- File sourceFolder = new File(FileLocator.toFileURL(sourceBase).getPath());
-
- AbstractProvisioningTest.copy("0.99", sourceFolder, pluginsFolder);
- FileFilter filter = new FileFilter() {
-
- public boolean accept(File pathname) {
- return !pathname.getName().equals("CVS");
- }
- };
- File[] fileList = pluginsFolder.listFiles(filter);
- assertEquals(2, fileList.length);
- for (int i = 0; i < fileList.length; i++) {
- File file = fileList[i];
- String fileName = file.getName();
- if (fileName.endsWith(".jar"))
- fileName = fileName.substring(0, fileName.length() - 4);
- String identifier = fileName.substring(0, fileName.indexOf('_'));
- String version = fileName.substring(fileName.indexOf('_') + 1);
-
- ArtifactKey key = new ArtifactKey("osgi.bundle", identifier, new Version(version));
- ArtifactDescriptor descriptor = new ArtifactDescriptor(key);
- if (file.isDirectory())
- descriptor.setProperty("artifact.folder", "true");
-
- repo.addDescriptor(descriptor);
- }
- IArtifactKey[] keys = repo.getArtifactKeys();
- assertEquals(2, keys.length);
- for (int i = 0; i < keys.length; i++) {
- repo.removeDescriptor(keys[i]);
- }
- assertEquals(0, repo.getArtifactKeys().length);
- assertEquals(0, pluginsFolder.listFiles(filter).length);
-
- manager.removeRepository(repo.getLocation());
- AbstractProvisioningTest.delete(testRepo);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/JarURLRepositoryTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/JarURLRepositoryTest.java
deleted file mode 100644
index 6289d35..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/JarURLRepositoryTest.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.repository;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import junit.framework.TestCase;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepository;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.osgi.framework.ServiceReference;
-import org.osgi.framework.Version;
-
-public class JarURLRepositoryTest extends TestCase {
-
- private ServiceReference managerRef;
- private IArtifactRepositoryManager manager;
-
- public JarURLRepositoryTest(String name) {
- super(name);
- }
-
- public JarURLRepositoryTest() {
- super("");
- }
-
- protected void setUp() throws Exception {
- managerRef = TestActivator.getContext().getServiceReference(IArtifactRepositoryManager.class.getName());
- manager = (IArtifactRepositoryManager) TestActivator.getContext().getService(managerRef);
- }
-
- protected void tearDown() throws Exception {
- manager = null;
- TestActivator.getContext().ungetService(managerRef);
- }
-
- public void testJarURLRepository() throws ProvisionException {
- URL engineJar = TestActivator.getContext().getBundle().getEntry("/testData/enginerepo.jar");
- URL jarRepoURL = null;
- try {
- jarRepoURL = new URL("jar:" + engineJar.toString() + "!/testData/enginerepo/artifacts.xml");
- } catch (MalformedURLException e) {
- fail(e.getMessage());
- }
- IArtifactRepository repo = manager.loadRepository(jarRepoURL, null);
- assertTrue(repo.contains(new ArtifactKey("osgi.bundle", "testdata", new Version("1.0.0.1"))));
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/MirrorSelectorTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/MirrorSelectorTest.java
deleted file mode 100644
index 96dc81f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/MirrorSelectorTest.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.repository;
-
-import java.util.Arrays;
-import org.eclipse.equinox.internal.p2.artifact.repository.MirrorSelector.MirrorInfo;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-/**
- *
- */
-public class MirrorSelectorTest extends AbstractProvisioningTest {
- public void testSorting() {
- MirrorInfo one = new MirrorInfo("one", 0);
- MirrorInfo two = new MirrorInfo("two", 1);
- MirrorInfo three = new MirrorInfo("three", 2);
- MirrorInfo four = new MirrorInfo("four", 3);
-
- MirrorInfo[] sorted = new MirrorInfo[] {one, two, three, four};
- Arrays.sort(sorted);
- assertOrder("1.0", sorted, one, two, three, four);
-
- //make sure order on initial rank is correct
- sorted = new MirrorInfo[] {four, two, three, one};
- Arrays.sort(sorted);
- assertOrder("1.1", sorted, one, two, three, four);
-
- //increase the failure count and ensure order is correctly updated
- one.incrementFailureCount();
- one.incrementFailureCount();
- two.incrementFailureCount();
- Arrays.sort(sorted);
- assertOrder("1.2)", sorted, three, four, two, one);
-
- //go back to default order
- one = new MirrorInfo("one", 0);
- two = new MirrorInfo("two", 1);
- three = new MirrorInfo("three", 2);
- four = new MirrorInfo("four", 3);
- sorted = new MirrorInfo[] {one, two, three, four};
-
- //set bit rate and ensure order is updated
- two.setBytesPerSecond(200L);
- Arrays.sort(sorted);
- assertOrder("1.2)", sorted, two, one, three, four);
-
- one.setBytesPerSecond(100L);
- three.setBytesPerSecond(400L);
- four.setBytesPerSecond(300L);
- Arrays.sort(sorted);
- assertOrder("1.2)", sorted, three, four, two, one);
- }
-
- private void assertOrder(String message, MirrorInfo[] sorted, MirrorInfo one, MirrorInfo two, MirrorInfo three, MirrorInfo four) {
- assertTrue(message + ".1", sorted[0] == one);
- assertTrue(message + ".1", sorted[1] == two);
- assertTrue(message + ".1", sorted[2] == three);
- assertTrue(message + ".1", sorted[3] == four);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/SimpleArtifactRepositoryTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/SimpleArtifactRepositoryTest.java
deleted file mode 100644
index a0eac7f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/SimpleArtifactRepositoryTest.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 compeople AG and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * compeople AG (Stefan Liebig) - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.repository;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-import junit.framework.TestCase;
-import org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepository;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.EclipseInstallGeneratorInfoProvider;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.Generator;
-import org.eclipse.equinox.p2.tests.TestActivator;
-
-public class SimpleArtifactRepositoryTest extends TestCase {
- //artifact repository to remove on tear down
- private File repositoryFile = null;
- private URL repositoryURL = null;
-
- protected void tearDown() throws Exception {
- super.tearDown();
- //repository location is not used by all tests
- if (repositoryURL != null) {
- getArtifactRepositoryManager().removeRepository(repositoryURL);
- repositoryURL = null;
- }
- if (repositoryFile != null) {
- delete(repositoryFile);
- repositoryFile = null;
- }
- }
-
- public void testGetActualLocation1() throws MalformedURLException {
- URL base = new URL("http://localhost/artifactRepository");
- assertEquals(new URL(base + "/artifacts.xml"), SimpleArtifactRepository.getActualLocation(base, false));
- }
-
- public void testGetActualLocation2() throws MalformedURLException {
- URL base = new URL("http://localhost/artifactRepository/");
- assertEquals(new URL(base + "artifacts.xml"), SimpleArtifactRepository.getActualLocation(base, false));
- }
-
- public void testGetActualLocation3() throws MalformedURLException {
- URL base = new URL("http://localhost/artifactRepository/artifacts.xml");
- assertEquals(base, SimpleArtifactRepository.getActualLocation(base, false));
- }
-
- public void testGetActualLocationCompressed1() throws MalformedURLException {
- URL base = new URL("http://localhost/artifactRepository");
- assertEquals(new URL(base + "/artifacts.jar"), SimpleArtifactRepository.getActualLocation(base, true));
- }
-
- public void testGetActualLocationCompressed2() throws MalformedURLException {
- URL base = new URL("http://localhost/artifactRepository/");
- assertEquals(new URL(base + "artifacts.jar"), SimpleArtifactRepository.getActualLocation(base, true));
- }
-
- public void testGetActualLocationCompressed3() throws MalformedURLException {
- URL base = new URL("http://localhost/artifactRepository/artifacts.jar");
- assertEquals(base, SimpleArtifactRepository.getActualLocation(base, true));
- }
-
- private IArtifactRepositoryManager getArtifactRepositoryManager() {
- return (IArtifactRepositoryManager) ServiceHelper.getService(TestActivator.getContext(), IArtifactRepositoryManager.class.getName());
- }
-
- public void testCompressedRepository() throws MalformedURLException, ProvisionException {
- IArtifactRepositoryManager artifactRepositoryManager = getArtifactRepositoryManager();
- String tempDir = System.getProperty("java.io.tmpdir");
- repositoryFile = new File(tempDir, "SimpleArtifactRepositoryTest");
- delete(repositoryFile);
- repositoryURL = repositoryFile.toURL();
- Map properties = new HashMap();
- properties.put(IRepository.PROP_COMPRESSED, "true");
- IArtifactRepository repo = artifactRepositoryManager.createRepository(repositoryURL, "artifact name", IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, properties);
- EclipseInstallGeneratorInfoProvider provider = new EclipseInstallGeneratorInfoProvider();
- provider.setArtifactRepository(repo);
- provider.initialize(repositoryFile);
- provider.setRootVersion("3.3");
- provider.setRootId("sdk");
- provider.setFlavor("tooling");
- new Generator(provider).generate();
- File files[] = repositoryFile.listFiles();
- boolean jarFilePresent = false;
- boolean artifactFilePresent = false;
- for (int i = 0; i < files.length; i++) {
- if ("artifacts.jar".equalsIgnoreCase(files[i].getName())) {
- jarFilePresent = true;
- }
- if ("artifacts.xml".equalsIgnoreCase(files[i].getName())) {
- artifactFilePresent = false;
- }
- }
- if (!jarFilePresent)
- fail("Repository should create JAR for artifact.xml");
- if (artifactFilePresent)
- fail("Repository should not create artifact.xml");
- }
-
- public void testUncompressedRepository() throws MalformedURLException, ProvisionException {
- IArtifactRepositoryManager artifactRepositoryManager = getArtifactRepositoryManager();
- String tempDir = System.getProperty("java.io.tmpdir");
- repositoryFile = new File(tempDir, "SimpleArtifactRepositoryTest");
- delete(repositoryFile);
- repositoryURL = repositoryFile.toURL();
- Map properties = new HashMap();
- properties.put(IRepository.PROP_COMPRESSED, "false");
- IArtifactRepository repo = artifactRepositoryManager.createRepository(repositoryURL, "artifact name", IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, properties);
- EclipseInstallGeneratorInfoProvider provider = new EclipseInstallGeneratorInfoProvider();
- provider.setArtifactRepository(repo);
- provider.initialize(repositoryFile);
- provider.setRootVersion("3.3");
- provider.setRootId("sdk");
- provider.setFlavor("tooling");
- new Generator(provider).generate();
- File files[] = repositoryFile.listFiles();
- boolean jarFilePresent = false;
- boolean artifactFilePresent = false;
- for (int i = 0; i < files.length; i++) {
- if ("artifacts.jar".equalsIgnoreCase(files[i].getName())) {
- jarFilePresent = true;
- }
- if ("artifacts.xml".equalsIgnoreCase(files[i].getName())) {
- artifactFilePresent = true;
- }
- }
- if (jarFilePresent)
- fail("Repository should not create JAR for artifact.xml");
- if (!artifactFilePresent)
- fail("Repository should create artifact.xml");
- }
-
- private boolean delete(File file) {
- if (!file.exists())
- return true;
- if (file.isDirectory()) {
- File[] children = file.listFiles();
- for (int i = 0; i < children.length; i++)
- delete(children[i]);
- }
- return file.delete();
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/AllTests.java
deleted file mode 100644
index a0f43e9..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/AllTests.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.core;
-
-import junit.framework.*;
-
-/**
- * Performs all automated core tests.
- */
-public class AllTests extends TestCase {
-
- public static Test suite() {
- TestSuite suite = new TestSuite(AllTests.class.getName());
- suite.addTestSuite(URLUtilTest.class);
- return suite;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/URLUtilTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/URLUtilTest.java
deleted file mode 100644
index e1d58e0..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/URLUtilTest.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.core;
-
-import java.io.File;
-import java.net.*;
-import org.eclipse.equinox.internal.p2.core.helpers.URLUtil;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-/**
- * Tests for the {@link URLUtil} class.
- */
-public class URLUtilTest extends AbstractProvisioningTest {
- private static final String[] testPaths = new String[] {"abc", "with spaces", "with%percent"};
-
- /**
- * Tests for {@link URLUtil#toFile(URL)}.
- */
- public void testToFile() {
- File base = new File(System.getProperty("java.io.tmpdir"));
- for (int i = 0; i < testPaths.length; i++) {
- File original = new File(base, testPaths[i]);
- URI uri = original.toURI();
- try {
- URL encoded = uri.toURL();
- File result = URLUtil.toFile(encoded);
- assertEquals("1." + i, original, result);
- } catch (MalformedURLException e) {
- fail("1.99", e);
- }
- }
- }
-
- /**
- * Tests for {@link URLUtil#toURI(URL)}.
- */
- public void testToURI() {
- File base = new File(System.getProperty("java.io.tmpdir"));
- for (int i = 0; i < testPaths.length; i++) {
- File file = new File(base, testPaths[i]);
- URI original = file.toURI();
- try {
- URL encoded = file.toURL();
- URI result = URLUtil.toURI(encoded);
- assertEquals("1." + i, original, result);
- } catch (URISyntaxException e) {
- fail("1.99", e);
- } catch (MalformedURLException e) {
- fail("2.99", e);
- }
- }
- }
-
- /**
- * Tests for {@link URLUtil#toURI(URL)}.
- */
- public void testToFileFromLocalURL() throws Exception {
- File original = new File(System.getProperty("java.io.tmpdir"), "repo");
- //this URL is technically not correct because it is not hierarchical, but ensure URLUtil is lenient.
- URL url = new URL("file:" + original.toString());
- File result = URLUtil.toFile(url);
- assertEquals("1.0", original, result);
- }
-
- /**
- * Tests for {@link URLUtil#sameURL(URL,URL)}.
- */
- public void testSameURL() {
- try {
- String url = "http://info.cern.ch/hypertext/WWW/Addressing/URL/Overview.html";
- assertTrue(URLUtil.sameURL(new URL(url), new URL(url)));
- url = "gopher://gumby.brain.headache.edu:151/7fonebook.txt";
- assertTrue(URLUtil.sameURL(new URL(url), new URL(url)));
- url = "file:/data/letters/to_mom.txt";
- assertTrue(URLUtil.sameURL(new URL(url), new URL(url)));
- url = "http://washingtondc.craigslist.org/search/for?query=Long+URLs+really+suck";
- assertTrue(URLUtil.sameURL(new URL("http://www.eclipse.org"), new URL("HTTP://www.eclipse.org")));
- } catch (MalformedURLException e) {
- fail(e.toString());
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/AllTests.java
deleted file mode 100644
index a726d37..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/AllTests.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.director;
-
-import junit.framework.*;
-
-/**
- * Performs all automated director tests.
- */
-public class AllTests extends TestCase {
-
- public static Test suite() {
- TestSuite suite = new TestSuite(AllTests.class.getName());
- suite.addTestSuite(AutomatedDirectorTest.class);
- suite.addTestSuite(Bug203637.class);
- suite.addTestSuite(OperationGenerationTest.class);
- suite.addTestSuite(OracleTest.class);
- suite.addTestSuite(OracleTest2.class);
- suite.addTestSuite(PickerTest.class);
- suite.addTestSuite(RecommendationTest.class);
- suite.addTestSuite(ReplacePlanTest.class);
- suite.addTestSuite(ResolutionHelperTest.class);
- suite.addTestSuite(RollbackTest.class);
- suite.addTestSuite(SingletonTest.class);
- suite.addTestSuite(UninstallTest.class);
- suite.addTestSuite(UpdateTest.class);
- return suite;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/AutomatedDirectorTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/AutomatedDirectorTest.java
deleted file mode 100644
index fa6d4d4..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/AutomatedDirectorTest.java
+++ /dev/null
@@ -1,264 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.director;
-
-import java.util.HashMap;
-import java.util.Map;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.provisional.p2.director.IDirector;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-/**
- * Various automated tests of the {@link IDirector} API.
- */
-public class AutomatedDirectorTest extends AbstractProvisioningTest {
- //private static Version version = new Version(1, 0, 0);
-
- public static Test suite() {
- return new TestSuite(AutomatedDirectorTest.class);
- }
-
- public AutomatedDirectorTest() {
- super("");
- }
-
- public AutomatedDirectorTest(String name) {
- super(name);
- }
-
- /**
- * Tests installing an IU that has a filtered dependency on another IU. When
- * the filter is satisfied, the dependency is active and the required IU should
- * be installed. When the filter is not satisfied, the dependency is inactive
- * and the second IU should not be installed.
- */
- public void testInstallFilteredCapability() {
- //The IU that is required
- IInstallableUnit requiredIU = createIU("required." + getName());
-
- // The IU to be installed
- String filter = createFilter("FilterKey", "true");
- RequiredCapability capability = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, requiredIU.getId(), ANY_VERSION, filter, false, false);
- IInstallableUnit toInstallIU = createIU("toInstall." + getName(), new RequiredCapability[] {capability});
-
- IInstallableUnit[] allUnits = new IInstallableUnit[] {requiredIU, toInstallIU};
- IInstallableUnit[] toInstallArray = new IInstallableUnit[] {toInstallIU};
- createTestMetdataRepository(allUnits);
- IDirector director = createDirector();
-
- //Install into a profile in which the filter is satisfied
- Map properties = new HashMap();
- properties.put(IProfile.PROP_ENVIRONMENTS, "FilterKey=true");
- IProfile satisfied = createProfile("Satisfied." + getName(), null, properties);
- ProfileChangeRequest request = new ProfileChangeRequest(satisfied);
- request.addInstallableUnits(toInstallArray);
- IStatus result = director.provision(request, null, null);
- assertTrue("1.0", result.isOK());
- assertProfileContains("1.1", satisfied, allUnits);
- }
-
- /**
- * Tests installing an IU that has an optional prerequisite that is available.
- */
- public void testInstallOptionalAvailable() {
- String capabilityId = "test." + getName();
- //The IU that exports the capability
- IInstallableUnit requiredIU = createIU("required." + getName(), new ProvidedCapability[] {MetadataFactory.createProvidedCapability("test.capability", capabilityId, DEFAULT_VERSION)});
-
- //The IU that optionally requires the capability
- RequiredCapability required = MetadataFactory.createRequiredCapability("test.capability", capabilityId, ANY_VERSION, null, /* optional=> */true, /* multiple=> */false, /* greedy=>*/false);
- IInstallableUnit toInstallIU = createIU("toInstall." + getName(), new RequiredCapability[] {required});
-
- IInstallableUnit[] allUnits = new IInstallableUnit[] {toInstallIU, requiredIU};
- IInstallableUnit[] toInstallArray = new IInstallableUnit[] {toInstallIU};
- createTestMetdataRepository(allUnits);
-
- IProfile profile = createProfile("TestProfile." + getName());
- IDirector director = createDirector();
- ProfileChangeRequest request = new ProfileChangeRequest(profile);
- request.addInstallableUnits(toInstallArray);
- IStatus result = director.provision(request, null, null);
- if (!result.isOK())
- LogHelper.log(result);
- assertTrue("1.0", result.isOK());
- assertProfileContains("1.1", profile, toInstallArray);
- }
-
- /**
- * Tests installing an IU that has an optional prerequisite that is not available.
- */
- public void testInstallOptionalUnavailable() {
- String capabilityId = "test." + getName();
- //no IU will be available that exports this capability
- RequiredCapability required = MetadataFactory.createRequiredCapability("test.capability", capabilityId, ANY_VERSION, null, true, false);
- IInstallableUnit toInstallIU = createIU("toInstall." + getName(), new RequiredCapability[] {required});
-
- IInstallableUnit[] allUnits = new IInstallableUnit[] {toInstallIU};
- createTestMetdataRepository(allUnits);
-
- IProfile profile = createProfile("TestProfile." + getName());
- IDirector director = createDirector();
- ProfileChangeRequest request = new ProfileChangeRequest(profile);
- request.addInstallableUnits(allUnits);
- IStatus result = director.provision(request, null, null);
- if (!result.isOK())
- LogHelper.log(result);
- assertTrue("1.0", result.isOK());
- assertProfileContains("1.1", profile, allUnits);
- }
-
- /**
- * Tests installing an IU that has a required capability, and the IU providing
- * the capability has a platform filter that is not satisfied.
- */
- public void testInstallPlatformFilter() {
- //The IU that exports the capability
- String capabilityId = "test." + getName();
- ProvidedCapability[] provides = new ProvidedCapability[] {MetadataFactory.createProvidedCapability("test.capability", capabilityId, DEFAULT_VERSION)};
- IInstallableUnit requiredIU = createIU("required." + getName(), createFilter("osgi.os", "blort"), provides);
-
- IInstallableUnit toInstallIU = createIU("toInstall." + getName(), createRequiredCapabilities("test.capability", capabilityId, ANY_VERSION, null));
-
- IInstallableUnit[] allUnits = new IInstallableUnit[] {requiredIU, toInstallIU};
- IInstallableUnit[] toInstallArray = new IInstallableUnit[] {toInstallIU};
- createTestMetdataRepository(allUnits);
-
- IProfile profile = createProfile("TestProfile." + getName());
- IDirector director = createDirector();
- ProfileChangeRequest request = new ProfileChangeRequest(profile);
- request.addInstallableUnits(toInstallArray);
- IStatus result = director.provision(request, null, null);
- assertTrue("1.0", !result.isOK());
-
- //try again with the filter satisfied
- Map properties = new HashMap();
- properties.put(IProfile.PROP_ENVIRONMENTS, "osgi.os=blort");
- IProfile profile2 = createProfile("TestProfile2." + getName(), null, properties);
- request = new ProfileChangeRequest(profile2);
- request.addInstallableUnits(toInstallArray);
- result = director.provision(request, null, null);
- assertTrue("2.0", result.isOK());
- }
-
- /**
- * Tests installing an IU that has an unsatisfied platform filter
- */
- public void testInstallPlatformFilterUnsatisfied() {
- //The IU to install
- IInstallableUnit toInstallIU = createIU("toInstall." + getName(), createFilter("osgi.os", "blort"), NO_PROVIDES);
- IInstallableUnit[] allUnits = new IInstallableUnit[] {toInstallIU};
- IInstallableUnit[] toInstallArray = new IInstallableUnit[] {toInstallIU};
- createTestMetdataRepository(allUnits);
-
- IProfile profile = createProfile("TestProfile." + getName());
- IDirector director = createDirector();
- ProfileChangeRequest request = new ProfileChangeRequest(profile);
- request.addInstallableUnits(toInstallArray);
- IStatus result = director.provision(request, null, null);
- assertTrue("1.0", !result.isOK());
-
- //try again with the filter satisfied
- Map properties = new HashMap();
- properties.put(IProfile.PROP_ENVIRONMENTS, "osgi.os=blort");
- IProfile profile2 = createProfile("TestProfile2." + getName(), null, properties);
- request = new ProfileChangeRequest(profile2);
- request.addInstallableUnits(toInstallArray);
- result = director.provision(request, null, null);
- assertTrue("2.0", result.isOK());
- }
-
- /**
- * Simple test of installing an IU that has a required capability, and ensuring
- * that the IU providing the capability is installed.
- */
- public void testSimpleInstallRequired() {
- String capabilityId = "test." + getName();
- //The IU that exports the capability
- IInstallableUnit requiredIU = createIU("required." + getName(), new ProvidedCapability[] {MetadataFactory.createProvidedCapability("test.capability", capabilityId, DEFAULT_VERSION)});
-
- IInstallableUnit toInstallIU = createIU("toInstall." + getName(), createRequiredCapabilities("test.capability", capabilityId, ANY_VERSION, null));
-
- IInstallableUnit[] allUnits = new IInstallableUnit[] {requiredIU, toInstallIU};
- IInstallableUnit[] toInstallArray = new IInstallableUnit[] {toInstallIU};
- createTestMetdataRepository(allUnits);
-
- IProfile profile = createProfile("TestProfile." + getName());
-
- IDirector director = createDirector();
- ProfileChangeRequest request = new ProfileChangeRequest(profile);
- request.addInstallableUnits(toInstallArray);
- IStatus result = director.provision(request, null, null);
- if (!result.isOK())
- LogHelper.log(result);
- assertTrue("1.0", result.isOK());
- assertProfileContains("1.1", profile, allUnits);
- }
-
- /**
- * Simple test of installing an IU that has a required capability, but without
- * specifying a version range (any version will do).
- */
- public void testInstallRequiredNoVersion() {
- //The IU that is needed
- IInstallableUnit requiredIU = createIU("required." + getName());
-
- RequiredCapability capability = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, requiredIU.getId(), null, null, false, false);
- IInstallableUnit toInstallIU = createIU("toInstall." + getName(), new RequiredCapability[] {capability});
-
- IInstallableUnit[] allUnits = new IInstallableUnit[] {requiredIU, toInstallIU};
- IInstallableUnit[] toInstallArray = new IInstallableUnit[] {toInstallIU};
- createTestMetdataRepository(allUnits);
-
- IProfile profile = createProfile("TestProfile." + getName());
-
- IDirector director = createDirector();
- ProfileChangeRequest request = new ProfileChangeRequest(profile);
- request.addInstallableUnits(toInstallArray);
- IStatus result = director.provision(request, null, null);
- if (!result.isOK())
- LogHelper.log(result);
- assertTrue("1.0", result.isOK());
- assertProfileContains("1.1", profile, allUnits);
- }
-
- /**
- * Simple test of installing an IU that has a required IU, and ensuring
- * that the required IU is installed. In other words, the IU to install has a required
- * capability on the IU namespace.
- */
- public void testSimpleInstallRequiredIU() {
- //The IU that exports the capability
- IInstallableUnit requiredIU = createIU("required." + getName());
-
- RequiredCapability capability = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, requiredIU.getId(), ANY_VERSION, null, false, false);
- IInstallableUnit toInstallIU = createIU("toInstall." + getName(), new RequiredCapability[] {capability});
-
- IInstallableUnit[] allUnits = new IInstallableUnit[] {requiredIU, toInstallIU};
- IInstallableUnit[] toInstallArray = new IInstallableUnit[] {toInstallIU};
- createTestMetdataRepository(allUnits);
-
- IProfile profile = createProfile("TestProfile." + getName());
-
- IDirector director = createDirector();
- ProfileChangeRequest request = new ProfileChangeRequest(profile);
- request.addInstallableUnits(toInstallArray);
- IStatus result = director.provision(request, null, null);
- if (!result.isOK())
- LogHelper.log(result);
- assertTrue("1.0", result.isOK());
- assertProfileContains("1.1", profile, allUnits);
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/Bug203637.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/Bug203637.java
deleted file mode 100644
index 67c47d1..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/Bug203637.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.director;
-
-import org.eclipse.equinox.internal.provisional.p2.director.IDirector;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.osgi.framework.Version;
-
-public class Bug203637 extends AbstractProvisioningTest {
- public void test() {
- IDirector d = createDirector();
- IProfile profile = createProfile("TestProfile." + getName());
- IInstallableUnit a1 = createIU("A", new Version(1, 0, 0), true);
- ProfileChangeRequest request = new ProfileChangeRequest(profile);
- request.addInstallableUnits(new IInstallableUnit[] {a1});
- request.removeInstallableUnits(new IInstallableUnit[0]);
- assertOK("1.0", d.provision(request, null, null));
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/OperationGenerationTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/OperationGenerationTest.java
deleted file mode 100644
index 8bc6e75..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/OperationGenerationTest.java
+++ /dev/null
@@ -1,231 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.director;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import org.eclipse.equinox.internal.p2.director.OperationGenerator;
-import org.eclipse.equinox.internal.p2.resolution.ResolutionHelper;
-import org.eclipse.equinox.internal.provisional.p2.engine.InstallableUnitOperand;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class OperationGenerationTest extends AbstractProvisioningTest {
- public void testInstallUninstall() {
- IInstallableUnit a1 = createIU("a", new Version(1, 0, 0), false);
- IInstallableUnit a2 = createIU("a", new Version(2, 0, 0), false);
- IInstallableUnit a3 = createIU("a", new Version(3, 0, 0), false);
-
- Collection from;
- from = new ArrayList();
- from.add(a1);
- from.add(a2);
-
- Collection to;
- to = new ArrayList();
- to.add(a1);
- to.add(a3);
-
- from = new ResolutionHelper(null, null).attachCUs(from);
- to = new ResolutionHelper(null, null).attachCUs(to);
- InstallableUnitOperand[] operands = new OperationGenerator().generateOperation(from, to);
- // 1 x install
- // 1 x uninstall
- assertEquals(2, operands.length);
- }
-
- public void test1() {
- IInstallableUnit a1 = createIU("a", new Version(1, 0, 0), false);
- IInstallableUnit a2 = createIU("a", new Version(2, 0, 0), false);
- IInstallableUnit a3 = createIU("a", new Version(3, 0, 0), false);
-
- Collection from;
- from = new ArrayList();
- from.add(a1);
- from.add(a3);
-
- Collection to;
- to = new ArrayList();
- to.add(a1);
- to.add(a3);
- to.add(a2);
-
- from = new ResolutionHelper(null, null).attachCUs(from);
- to = new ResolutionHelper(null, null).attachCUs(to);
- InstallableUnitOperand[] operands = new OperationGenerator().generateOperation(from, to);
- // 1 x install
- assertEquals(1, operands.length);
- }
-
- public void test2() {
- IInstallableUnit a1 = createIU("a", new Version(1, 0, 0), false);
- IInstallableUnit a2 = createIU("a", new Version(2, 0, 0), false);
- IInstallableUnit a3 = createIU("a", new Version(3, 0, 0), false);
-
- Collection from;
- from = new ArrayList();
- from.add(a1);
- from.add(a2);
- from.add(a3);
-
- Collection to;
- to = new ArrayList();
- to.add(a1);
- to.add(a3);
-
- from = new ResolutionHelper(null, null).attachCUs(from);
- to = new ResolutionHelper(null, null).attachCUs(to);
- InstallableUnitOperand[] operands = new OperationGenerator().generateOperation(from, to);
- // 1 x uninstall
- assertEquals(1, operands.length);
- }
-
- public void testUpdate1() {
- IInstallableUnit a = createIU("a", new Version(1, 0, 0), false);
-
- InstallableUnitDescription b = new MetadataFactory.InstallableUnitDescription();
- b.setId("b");
- b.setVersion(new Version(1, 0, 0));
- b.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor("a", new VersionRange("[1.0.0, 2.0.0)"), IUpdateDescriptor.NORMAL, null));
-
- Collection from;
- from = new ArrayList();
- from.add(a);
-
- Collection to;
- to = new ArrayList();
- to.add(MetadataFactory.createInstallableUnit(b));
-
- from = new ResolutionHelper(null, null).attachCUs(from);
- to = new ResolutionHelper(null, null).attachCUs(to);
- InstallableUnitOperand[] operands = new OperationGenerator().generateOperation(from, to);
- // 1 x upgrade
- assertEquals(1, operands.length);
- }
-
- public void testUpdate2() {
- IInstallableUnit a1 = createIU("a", new Version(1, 0, 0), false);
- IInstallableUnit a2 = createIU("a", new Version(2, 0, 0), false);
-
- InstallableUnitDescription b = new MetadataFactory.InstallableUnitDescription();
- b.setId("b");
- b.setVersion(new Version(1, 0, 0));
- b.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor("a", new VersionRange("[1.0.0, 3.0.0)"), IUpdateDescriptor.NORMAL, null));
-
- Collection from;
- from = new ArrayList();
- from.add(a1);
- from.add(a2);
-
- Collection to;
- to = new ArrayList();
- to.add(MetadataFactory.createInstallableUnit(b));
-
- from = new ResolutionHelper(null, null).attachCUs(from);
- to = new ResolutionHelper(null, null).attachCUs(to);
- InstallableUnitOperand[] operands = new OperationGenerator().generateOperation(from, to);
- // 1 x install
- // 2 x uninstall
- assertEquals(3, operands.length);
- }
-
- public void testUpdate3() {
- IInstallableUnit a1 = createIU("a", new Version(1, 0, 0), false);
- IInstallableUnit a2 = createIU("a", new Version(2, 0, 0), false);
-
- InstallableUnitDescription b = new MetadataFactory.InstallableUnitDescription();
- b.setId("b");
- b.setVersion(new Version(1, 0, 0));
- b.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor("a", new VersionRange("[1.0.0, 2.0.0)"), IUpdateDescriptor.NORMAL, null));
-
- InstallableUnitDescription c = new MetadataFactory.InstallableUnitDescription();
- c.setId("c");
- c.setVersion(new Version(1, 0, 0));
- c.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor("a", new VersionRange("[2.0.0, 2.3.0)"), IUpdateDescriptor.NORMAL, null));
-
- Collection from;
- from = new ArrayList();
- from.add(a1);
- from.add(a2);
-
- Collection to;
- to = new ArrayList();
- to.add(MetadataFactory.createInstallableUnit(b));
- to.add(MetadataFactory.createInstallableUnit(c));
-
- from = new ResolutionHelper(null, null).attachCUs(from);
- to = new ResolutionHelper(null, null).attachCUs(to);
- InstallableUnitOperand[] operands = new OperationGenerator().generateOperation(from, to);
- // 2 x update
- assertEquals(2, operands.length);
- }
-
- public void testUpdate4() {
- IInstallableUnit a1 = createIU("a", new Version(1, 0, 0), false);
- IInstallableUnit a2 = createIU("a", new Version(2, 0, 0), false);
- IInstallableUnit b1 = createIU("b", new Version(1, 0, 0), false);
-
- InstallableUnitDescription b2 = new MetadataFactory.InstallableUnitDescription();
- b2.setId("b");
- b2.setVersion(new Version(2, 0, 0));
- b2.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor("b", new VersionRange("[1.0.0, 2.0.0)"), IUpdateDescriptor.NORMAL, null));
-
- Collection from;
- from = new ArrayList();
- from.add(a1);
- from.add(a2);
- from.add(b1);
-
- Collection to;
- to = new ArrayList();
- to.add(a1);
- to.add(a2);
- to.add(MetadataFactory.createInstallableUnit(b2));
-
- from = new ResolutionHelper(null, null).attachCUs(from);
- to = new ResolutionHelper(null, null).attachCUs(to);
- InstallableUnitOperand[] operands = new OperationGenerator().generateOperation(from, to);
- // 1 x update
- assertEquals(1, operands.length);
- }
-
- public void testUpdate5() {
- IInstallableUnit a1 = createIU("a", new Version(1, 0, 0), false);
- IInstallableUnit a2 = createIU("a", new Version(2, 0, 0), false);
- IInstallableUnit b1 = createIU("b", new Version(1, 0, 0), false);
-
- InstallableUnitDescription b2 = new MetadataFactory.InstallableUnitDescription();
- b2.setId("b");
- b2.setVersion(new Version(2, 0, 0));
- b2.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor("b", new VersionRange("[1.0.0, 2.0.0)"), IUpdateDescriptor.NORMAL, null));
-
- Collection from;
- from = new ArrayList();
- from.add(a1);
- from.add(a2);
- from.add(b1);
-
- Collection to;
- to = new ArrayList();
- to.add(a1);
- to.add(MetadataFactory.createInstallableUnit(b2));
-
- from = new ResolutionHelper(null, null).attachCUs(from);
- to = new ResolutionHelper(null, null).attachCUs(to);
- InstallableUnitOperand[] operands = new OperationGenerator().generateOperation(from, to);
- // 1 x update
- // 1 x uninstall
- assertEquals(2, operands.length);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/OracleTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/OracleTest.java
deleted file mode 100644
index d77463c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/OracleTest.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.director;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.IDirector;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.RequiredCapability;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class OracleTest extends AbstractProvisioningTest {
- IInstallableUnit a1;
- IInstallableUnit a2;
- IInstallableUnit b1;
- IInstallableUnit c1;
- IInstallableUnit d1;
- IInstallableUnit d2;
-
- IDirector director;
- IProfile profile;
-
- protected void setUp() throws Exception {
- RequiredCapability[] requires = createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.0.0, 2.0.0)"), null);
- a1 = createIU("A", requires, true);
-
- requires = createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "D", new VersionRange("[1.0.0, 3.0.0)"), null);
- c1 = createIU("C", requires, true);
-
- d1 = createIU("D", DEFAULT_VERSION, true);
-
- requires = createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "D", new VersionRange("[2.0.0, 3.0.0)"), null);
- b1 = createIU("B", requires, true);
-
- d2 = createIU("D", new Version(2, 0, 0), true);
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, c1, d1, b1});
-
- profile = createProfile("TestProfile." + getName());
- director = createDirector();
-
- }
-
- public void testInstallA1() {
- ProfileChangeRequest request = new ProfileChangeRequest(profile);
- request.addInstallableUnits(new IInstallableUnit[] {a1});
- assertEquals(IStatus.OK, director.provision(request, null, null).getSeverity());
-
- createTestMetdataRepository(new IInstallableUnit[] {d2});
- // assertEquals(new Oracle().canInstall(new IInstallableUnit[] {b1}, profile, null), true);
- request = new ProfileChangeRequest(profile);
- request.addInstallableUnits(new IInstallableUnit[] {b1});
- assertEquals(IStatus.OK, director.provision(request, null, null).getSeverity());
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/OracleTest2.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/OracleTest2.java
deleted file mode 100644
index 7c6aaf1..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/OracleTest2.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.director;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.IDirector;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class OracleTest2 extends AbstractProvisioningTest {
- private IInstallableUnit a1;
- private IInstallableUnit a2;
- private IInstallableUnit b1;
- private IInstallableUnit c1;
- private IInstallableUnit c2;
-
- IDirector director;
- IProfile profile;
-
- protected void setUp() throws Exception {
- RequiredCapability[] requires = createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.0.0, 2.0.0)"), null);
- a1 = createIU("A", requires, true);
-
- c1 = createIU("C", DEFAULT_VERSION, true);
-
- requires = createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[2.0.0, 3.0.0)"), null);
- InstallableUnitDescription desc = new MetadataFactory.InstallableUnitDescription();
- desc.setRequiredCapabilities(requires);
- desc.setId("A");
- desc.setVersion(new Version(2, 0, 0));
- desc.setSingleton(true);
- desc.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor("A", new VersionRange("[1.0.0, 2.3.0)"), IUpdateDescriptor.NORMAL, null));
-
- a2 = MetadataFactory.createInstallableUnit(desc);
-
- b1 = createIU("B", DEFAULT_VERSION, requires, NO_PROPERTIES, true);
-
- InstallableUnitDescription desc2 = new MetadataFactory.InstallableUnitDescription();
- desc2.setId("C");
- desc2.setVersion(new Version(2, 0, 0));
- desc2.setSingleton(true);
- desc2.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor("C", new VersionRange("[1.0.0, 2.3.0)"), IUpdateDescriptor.NORMAL, null));
- c2 = MetadataFactory.createInstallableUnit(desc2);
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, c1});
-
- profile = createProfile("TestProfile." + getName());
- director = createDirector();
-
- }
-
- /* I'm not sure what this test should look like now
- *
-
- public void testInstallA1() {
- assertEquals(director.install(new IInstallableUnit[] {a1}, profile, null).getSeverity(), IStatus.OK);
-
- createTestMetdataRepository(new IInstallableUnit[] {a2, c2, b1});
- Collection brokenEntryPoint = (Collection) new Oracle().canInstall(new IInstallableUnit[] {b1}, profile, null);
- // assertNotNull(brokenEntryPoint.getProperty("entryPoint"));
-
- new Oracle().hasUpdate(a1);
- System.out.println(new Oracle().canInstall(new IInstallableUnit[] {b1}, (IInstallableUnit[]) brokenEntryPoint.toArray(new IInstallableUnit[brokenEntryPoint.size()]), profile, null));
- }
- */
-
- public void testInstallA1bis() {
- profile = createProfile("testInstallA1bis." + getName());
- director = createDirector();
- createTestMetdataRepository(new IInstallableUnit[] {a1, a2, c1, c2, b1});
- ProfileChangeRequest request = new ProfileChangeRequest(profile);
- request.addInstallableUnits(new IInstallableUnit[] {a1});
- assertEquals(IStatus.OK, director.provision(request, null, null).getSeverity());
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/PickerTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/PickerTest.java
deleted file mode 100644
index 09d8954..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/PickerTest.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.director;
-
-import org.eclipse.equinox.internal.p2.director.Picker;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-/**
- * Testing of the {@link Picker} class.
- */
-public class PickerTest extends AbstractProvisioningTest {
- IInstallableUnit unitVersion5;
- private Picker picker;
-
- public PickerTest() {
- super(""); //$NON-NLS-1$
- }
-
- public PickerTest(String name) {
- super(name);
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- Version version = new Version(5, 0, 0);
-
- //create some sample IUs to be available for the picker
- ProvidedCapability[] provides = new ProvidedCapability[] {MetadataFactory.createProvidedCapability("test.capability", "test", version)};
- unitVersion5 = createIU("required", version, provides);
-
- IInstallableUnit[] units = new IInstallableUnit[] {unitVersion5};
- picker = new Picker(units, null);
-
- }
-
- /**
- * Tests picking an IU that requires a capability, and the available
- * provided capability is above the required capability's version range.
- */
- public void testRequiredBelowVersionRange() {
-
- //an IU whose required capability falls outside available range
- RequiredCapability[] required = createRequiredCapabilities("test.capability", "test", new VersionRange("[2.0,5.0)"), null);
-
- IInstallableUnit[][] result = picker.findInstallableUnit(null, null, required, false);
- assertEquals("1.0", 0, result[0].length + result[1].length);
- }
-
- /**
- * Tests picking an IU that requires a capability, and the available
- * provided capability is above the required capability's version range.
- */
- public void testRequiredWithinVersionRange() {
-
- //in middle of range
- RequiredCapability[] required = createRequiredCapabilities("test.capability", "test", new VersionRange("[2.0,6.0)"), null);
- IInstallableUnit[] result = picker.findInstallableUnit(null, null, required, false)[1];
- assertEquals("1.0", 1, result.length);
- assertEquals("1.1", unitVersion5, result[0]);
-
- //on lower bound
- required = createRequiredCapabilities("test.capability", "test", new VersionRange("[5.0,6.0)"), null);
- result = picker.findInstallableUnit(null, null, required, false)[1];
- assertEquals("1.0", 1, result.length);
- assertEquals("1.1", unitVersion5, result[0]);
-
- //on upper bound
- required = createRequiredCapabilities("test.capability", "test", new VersionRange("[1.0,5.0]"), null);
- result = picker.findInstallableUnit(null, null, required, false)[1];
- assertEquals("1.0", 1, result.length);
- assertEquals("1.1", unitVersion5, result[0]);
- }
-
- /**
- * Tests picking an IU that requires a capability, and the available
- * provided capability is above the required capability's version range.
- */
- public void testRequiredAboveVersionRange() {
-
- //an IU whose required capability falls outside available range
- RequiredCapability[] required = createRequiredCapabilities("test.capability", "test", new VersionRange("[5.1,6.0)"), null);
-
- IInstallableUnit[][] result = picker.findInstallableUnit(null, null, required, false);
- assertEquals("1.0", 0, result[0].length + result[1].length);
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/RecommendationTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/RecommendationTest.java
deleted file mode 100644
index 0135fdc..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/RecommendationTest.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.director;
-
-import java.lang.reflect.Method;
-import java.util.HashSet;
-import java.util.Set;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class RecommendationTest extends AbstractProvisioningTest {
- //test name dependency over
- //test
- //check that the picker is returning something in the range
- public void testRecommendation() {
- RequiredCapability applyOn, newValue;
- applyOn = MetadataFactory.createRequiredCapability("namespace", "name", new VersionRange("[1.0, 2.0)"), null, false, false);
- newValue = MetadataFactory.createRequiredCapability("namespace", "name", new VersionRange("[1.1, 2.0)"), null, false, false);
- Recommendation r1 = new Recommendation(applyOn, newValue);
-
- RequiredCapability goodMatch = MetadataFactory.createRequiredCapability("namespace", "name", new VersionRange("[1.0, 2.0)"), null, false, false);
- assertEquals(true, r1.matches(goodMatch));
-
- RequiredCapability badNamespace = MetadataFactory.createRequiredCapability("badNamespace", "name", new VersionRange("[1.0, 2.0)"), null, false, false);
- assertEquals(false, r1.matches(badNamespace));
-
- RequiredCapability badName = MetadataFactory.createRequiredCapability("namespace", "badName", new VersionRange("[1.0, 2.0)"), null, false, false);
- assertEquals(false, r1.matches(badName));
- }
-
- public void testPicker() {
- //The IUs we will pick from
- IInstallableUnit iu1 = createIU("iu1", new Version(1, 0, 0));
- IInstallableUnit iu2 = createIU("iu2", new Version(4, 0, 0));
-
- //The recommendations to be used
- RequiredCapability applyOn, newValue;
- applyOn = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "iu1", new VersionRange("[1.0, 2.0)"), null, false, false);
- newValue = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "iu1", new VersionRange("[1.1, 2.0)"), null, false, false);
- Recommendation r1 = new Recommendation(applyOn, newValue);
-
- RequiredCapability applyOn2, newValue2;
- applyOn2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "iu2", new VersionRange("[4.2, 5.0)"), null, false, false);
- newValue2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "iu2", new VersionRange("[4.0, 5.0)"), null, false, false);
- Recommendation r2 = new Recommendation(applyOn2, newValue2);
- Set recommendations = new HashSet();
- recommendations.add(r1);
- recommendations.add(r2);
-
- Picker p = new Picker(new IInstallableUnit[] {iu1, iu2}, null);
- IInstallableUnit[][] matches = p.findInstallableUnit(null, null, new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "iu1", null, null, false, false)}, false);
- assertEquals(matches[1][0], iu1);
-
- Picker p1 = new Picker(new IInstallableUnit[] {iu1, iu2}, new RecommendationDescriptor(recommendations));
- matches = p1.findInstallableUnit(null, null, new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "iu1", new VersionRange("[1.0, 2.0)"), null, false, false)}, false);
- assertEquals(matches[0].length, 0);
- assertEquals(matches[1].length, 0);
-
- matches = p1.findInstallableUnit(null, null, new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "iu1", new VersionRange("[4.2, 5.0)"), null, false, false)}, false);
- assertEquals(matches[0].length, 0);
- assertEquals(matches[1].length, 0);
- }
-
- public void testWideningRanges() {
- //The IUs we will pick from
- IInstallableUnit iu1 = createIU("iu1", new Version(4, 0, 0));
-
- //Here we add recommendation that widen the range of the bundle we are looking for
- RequiredCapability applyOn2, newValue2;
- applyOn2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "iu1", new VersionRange("[4.2, 5.0)"), null, false, false);
- newValue2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "iu1", new VersionRange("[4.0, 5.0)"), null, false, false);
- Recommendation r2 = new Recommendation(applyOn2, newValue2);
- Set recommendations = new HashSet();
- recommendations.add(r2);
-
- //Check without the recommendations
- Picker p2 = new Picker(new IInstallableUnit[] {iu1}, null);
- IInstallableUnit[][] matches = p2.findInstallableUnit(null, null, new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "iu1", new VersionRange("[4.0, 5.0)"), null, false, false)}, false);
- assertEquals(matches[1].length, 1);
-
- //Check the widening works
- Picker p1 = new Picker(new IInstallableUnit[] {iu1}, new RecommendationDescriptor(recommendations));
- matches = p1.findInstallableUnit(null, null, new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "iu1", new VersionRange("[4.2, 5.0)"), null, false, false)}, false);
- assertEquals(matches[1].length, 1);
-
- }
-
- public void testRecommendationDescriptorMerge() {
- RequiredCapability applyOn1, newValue1;
- applyOn1 = MetadataFactory.createRequiredCapability("namespace", "name", new VersionRange("[1.0, 2.0)"), null, false, false);
- newValue1 = MetadataFactory.createRequiredCapability("namespace", "name", new VersionRange("[1.1, 2.0)"), null, false, false);
- Recommendation r1 = new Recommendation(applyOn1, newValue1);
- Set list1 = new HashSet();
- list1.add(r1);
- RecommendationDescriptor desc1 = new RecommendationDescriptor(list1);
-
- RequiredCapability applyOn2, newValue2;
- applyOn2 = MetadataFactory.createRequiredCapability("namespace", "name", new VersionRange("[1.0, 2.0)"), null, false, false);
- newValue2 = MetadataFactory.createRequiredCapability("namespace", "name", new VersionRange("[1.3, 2.0)"), null, false, false);
- Recommendation r2 = new Recommendation(applyOn2, newValue2);
- Set list2 = new HashSet();
- list2.add(r2);
- RecommendationDescriptor desc2 = new RecommendationDescriptor(list2);
-
- //We test that the result of the merge worked.
- assertEquals(Status.OK_STATUS, desc1.merge(desc2));
- assertEquals(r2, desc1.findRecommendation(MetadataFactory.createRequiredCapability("namespace", "name", new VersionRange("[1.0, 2.0)"), null, false, false)));
- }
-
- public void testRecommendationDescriptorMergeConflict() {
- RequiredCapability applyOn1, newValue1;
- applyOn1 = MetadataFactory.createRequiredCapability("namespace", "name", new VersionRange("[1.0, 2.0)"), null, false, false);
- newValue1 = MetadataFactory.createRequiredCapability("namespace", "name", new VersionRange("[1.1, 2.0)"), null, false, false);
- Recommendation r1 = new Recommendation(applyOn1, newValue1);
- Set list1 = new HashSet();
- list1.add(r1);
- RecommendationDescriptor desc1 = new RecommendationDescriptor(list1);
-
- RequiredCapability applyOn2, newValue2;
- applyOn2 = MetadataFactory.createRequiredCapability("namespace", "name", new VersionRange("[1.0, 2.0)"), null, false, false);
- newValue2 = MetadataFactory.createRequiredCapability("namespace", "name", new VersionRange("[2.1, 3.0)"), null, false, false);
- Recommendation r2 = new Recommendation(applyOn2, newValue2);
- Set list2 = new HashSet();
- list2.add(r2);
- RecommendationDescriptor desc2 = new RecommendationDescriptor(list2);
-
- //We test that the result of the merge worked.
- assertEquals(Status.INFO, desc1.merge(desc2).getSeverity());
- }
-
- public void testRangeIntersection() {
- Recommendation rec = new Recommendation(null, null);
- try {
- Method m = rec.getClass().getDeclaredMethod("intersect", new Class[] {VersionRange.class, VersionRange.class});
- m.setAccessible(true);
- assertEquals(new VersionRange("[1.0.0, 2.0.0)"), m.invoke(rec, new Object[] {new VersionRange("[1.0.0, 2.0.0)"), new VersionRange("[0.1.0, 3.0.0]")}));
-
- assertEquals(new VersionRange("[1.1.0, 1.9.0]"), m.invoke(rec, new Object[] {new VersionRange("[1.0.0, 2.0.0)"), new VersionRange("[1.1.0, 1.9.0]")}));
- assertEquals(new VersionRange("[1.1.0, 2.0.0)"), m.invoke(rec, new Object[] {new VersionRange("[1.0.0, 2.0.0)"), new VersionRange("[1.1.0, 2.1.0]")}));
- assertEquals(new VersionRange("[1.0.0, 1.3.0]"), m.invoke(rec, new Object[] {new VersionRange("[1.0.0, 2.0.0)"), new VersionRange("[0.9.0, 1.3.0]")}));
- assertEquals(null, m.invoke(rec, new Object[] {new VersionRange("[1.0.0, 2.0.0)"), new VersionRange("[3.0.0, 4.0.0]")}));
-
- assertEquals(new VersionRange("(1.0.0, 2.0.0]"), m.invoke(rec, new Object[] {new VersionRange("[1.0.0, 2.0.0]"), new VersionRange("(1.0.0, 2.1.0]")}));
- assertEquals(new VersionRange("(1.0.0, 2.0.0]"), m.invoke(rec, new Object[] {new VersionRange("(1.0.0, 2.0.0]"), new VersionRange("[1.0.0, 2.1.0]")}));
-
- assertEquals(new VersionRange("[1.0.0, 2.0.0)"), m.invoke(rec, new Object[] {new VersionRange("[1.0.0, 2.0.0)"), new VersionRange("[1.0.0, 2.0.0]")}));
- assertEquals(new VersionRange("[1.0.0, 2.0.0)"), m.invoke(rec, new Object[] {new VersionRange("[1.0.0, 2.0.0]"), new VersionRange("[1.0.0, 2.0.0)")}));
-
- assertEquals(new VersionRange("[1.0.0, 2.0.0]"), m.invoke(rec, new Object[] {new VersionRange("[1.0.0, 2.0.0]"), new VersionRange("[1.0.0, 2.0.0]")}));
- assertEquals(new VersionRange("(1.0.0, 2.0.0)"), m.invoke(rec, new Object[] {new VersionRange("(1.0.0, 2.0.0)"), new VersionRange("(1.0.0, 2.0.0)")}));
-
- assertEquals(null, m.invoke(rec, new Object[] {new VersionRange("[1.0.0, 2.0.0)"), new VersionRange("[2.0.0, 3.0.0)")}));
- assertEquals(new VersionRange("[2.0.0, 2.0.0]"), m.invoke(rec, new Object[] {new VersionRange("[1.0.0, 2.0.0]"), new VersionRange("[2.0.0, 3.0.0)")}));
- assertEquals(null, m.invoke(rec, new Object[] {new VersionRange("[1.0.0, 2.0.0]"), new VersionRange("(2.0.0, 3.0.0)")}));
- } catch (Exception e) {
- fail("Usage of reflection failed");
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/ReplacePlanTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/ReplacePlanTest.java
deleted file mode 100644
index fbfb3ec..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/ReplacePlanTest.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.director;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.RequiredCapability;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-/**
- * Tests {@link IPlanner#getProvisioningPlan(ProfileChangeRequest, ProvisioningContext, org.eclipse.core.runtime.IProgressMonitor)}
- * involving replacing an IU with a different version.
- */
-public class ReplacePlanTest extends AbstractProvisioningTest {
- IInstallableUnit f1;
- IInstallableUnit f1_1;
- IInstallableUnit f1_4;
- IInstallableUnit frag1;
- IInstallableUnit frag1_1;
- IInstallableUnit frag1_4;
- IInstallableUnit fa;
- IInstallableUnit fap;
- IDirector director;
- IPlanner planner;
- IProfile profile;
-
- protected void setUp() throws Exception {
- //base IU that others require
- f1 = createIU("f1", DEFAULT_VERSION, true);
- f1_1 = createIU("f1", new Version(1, 1, 0), true);
- f1_4 = createIU("f1", new Version(1, 4, 0), true);
-
- //fragments of base IU
- frag1 = createIUFragment(f1, "frag1", f1.getVersion());
- frag1_1 = createIUFragment(f1, "frag1", f1_1.getVersion());
- frag1_4 = createIUFragment(f1, "frag1", f1_4.getVersion());
-
- //IUs that require base IU
- RequiredCapability[] requires = createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "f1", new VersionRange("[1.0.0, 1.3.0)"), null);
- fa = createIU("fa", requires, false);
- requires = createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "f1", new VersionRange("[1.0.0, 1.4.0)"), null);
- fap = createIU("fa", new Version(1, 1, 0), requires, NO_PROPERTIES, false);
-
- createTestMetdataRepository(new IInstallableUnit[] {f1, fa, frag1});
-
- profile = createProfile("TestProfile." + getName());
- director = createDirector();
- planner = createPlanner();
-
- ProfileChangeRequest request = new ProfileChangeRequest(profile);
- request.addInstallableUnits(new IInstallableUnit[] {fa, frag1});
- director.provision(request, null, null);
-
- createTestMetdataRepository(new IInstallableUnit[] {f1_1, f1_4, frag1_1, frag1_4});
- }
-
- public void testSimpleReplace() {
- IInstallableUnit[] oldUnits = new IInstallableUnit[] {fa};
- IInstallableUnit[] newUnits = new IInstallableUnit[] {fap};
- ProfileChangeRequest request = new ProfileChangeRequest(profile);
- request.removeInstallableUnits(oldUnits);
- request.addInstallableUnits(newUnits);
- ProvisioningPlan plan = planner.getProvisioningPlan(request, new ProvisioningContext(), null);
- assertTrue("1.0", plan.getStatus().isOK());
- assertProfileContainsAll("1.1", profile, oldUnits);
- IStatus result = createEngine().perform(profile, new DefaultPhaseSet(), plan.getOperands(), null, null);
- assertTrue("1.2", result.isOK());
- assertProfileContainsAll("1.3", profile, newUnits);
- }
-
- public void testReplaceFragment() {
- //TODO it is strange that this succeeds, since frag1_4 and fa cannot co-exist
- ProfileChangeRequest request = new ProfileChangeRequest(profile);
- request.removeInstallableUnits(new IInstallableUnit[] {frag1});
- request.addInstallableUnits(new IInstallableUnit[] {frag1_4});
- ProvisioningPlan plan = planner.getProvisioningPlan(request, new ProvisioningContext(), null);
- assertTrue("1.0", plan.getStatus().isOK());
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/ResolutionHelperTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/ResolutionHelperTest.java
deleted file mode 100644
index eb79e4a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/ResolutionHelperTest.java
+++ /dev/null
@@ -1,269 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.director;
-
-import java.util.*;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.equinox.internal.p2.resolution.ResolutionHelper;
-import org.eclipse.equinox.internal.p2.resolution.UnsatisfiedCapability;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-/**
- * Tests for {@link ResolutionHelper}.
- */
-public class ResolutionHelperTest extends AbstractProvisioningTest {
- private static final String FILTER_KEY = "osgi.os";
-
- public static Test suite() {
- return new TestSuite(ResolutionHelperTest.class);
- }
-
- public ResolutionHelperTest() {
- super("");
- }
-
- public ResolutionHelperTest(String name) {
- super(name);
- }
-
- /**
- * Tests resolving an IU that requires a capability, and the available
- * provided capability is above the required capability's version range.
- */
- public void testDependencyAboveVersionRange() {
- Version version = new Version(5, 0, 0);
-
- //The IU that exports the capability
- ProvidedCapability[] provides = new ProvidedCapability[] {MetadataFactory.createProvidedCapability("test.capability", "test", version)};
- IInstallableUnit required = createIU("required", version, provides);
-
- //an IU whose required capability falls outside available range
- RequiredCapability[] requires = createRequiredCapabilities("test.capability", "test", new VersionRange("[2.0,5.0)"), null);
- IInstallableUnit toInstall = createIU("match", version, requires);
-
- ResolutionHelper rh = new ResolutionHelper(null, null);
- HashSet installSet = new HashSet();
- installSet.add(toInstall);
- HashSet available = new HashSet();
- available.add(required);
- UnsatisfiedCapability[] unsatisfied = rh.install(installSet, available);
-
- assertEquals("1.0", 1, unsatisfied.length);
- assertEquals("1.1", "match", unsatisfied[0].getUnsatisfiedUnit().getId());
- RequiredCapability capability = unsatisfied[0].getRequiredCapability();
- assertEquals("1.4", "test.capability", capability.getNamespace());
- assertEquals("1.5", "test", capability.getName());
- }
-
- /**
- * Tests resolving an IU that requires a capability, and the available
- * provided capability is below the required capability's version range.
- */
- public void testDependencyBelowVersionRange() {
- Version version = new Version(2, 0, 0);
-
- //The IU that exports the capability
- ProvidedCapability[] provides = new ProvidedCapability[] {MetadataFactory.createProvidedCapability("test.capability", "test", version)};
- IInstallableUnit required = createIU("required", version, provides);
-
- //an IU whose required capability falls outside available range
- RequiredCapability[] requires = createRequiredCapabilities("test.capability", "test", new VersionRange("(2.0,3.0)"), null);
- IInstallableUnit toInstall = createIU("match", version, requires);
-
- ResolutionHelper rh = new ResolutionHelper(null, null);
- HashSet installSet = new HashSet();
- installSet.add(toInstall);
- HashSet available = new HashSet();
- available.add(required);
- UnsatisfiedCapability[] unsatisfied = rh.install(installSet, available);
-
- assertEquals("1.0", 1, unsatisfied.length);
- assertEquals("1.1", "match", unsatisfied[0].getUnsatisfiedUnit().getId());
- RequiredCapability capability = unsatisfied[0].getRequiredCapability();
- assertEquals("1.4", "test.capability", capability.getNamespace());
- assertEquals("1.5", "test", capability.getName());
- }
-
- public void testDependencyWithPlatformFilter() {
- Version version = new Version(1, 0, 0);
-
- //The IU that exports the capability
- ProvidedCapability[] provides = new ProvidedCapability[] {MetadataFactory.createProvidedCapability("test.capability", "test", version)};
- IInstallableUnit required = createIU("required", version, createFilter(FILTER_KEY, "win32"), provides);
-
- RequiredCapability[] requires = createRequiredCapabilities("test.capability", "test", ANY_VERSION, null);
- IInstallableUnit toInstall = createIU("toInstall", version, requires);
-
- //setup context so that platform filter will satisfy dependency
- Hashtable context = new Hashtable();
- context.put(FILTER_KEY, "win32");
- ResolutionHelper rh = new ResolutionHelper(context, null);
- HashSet installSet = new HashSet();
- installSet.add(toInstall);
- HashSet available = new HashSet();
- available.add(required);
- UnsatisfiedCapability[] unsatisfied = rh.install(installSet, available);
- assertEquals("1.0", 0, unsatisfied.length);
-
- //now try with a null evaluation context
- rh = new ResolutionHelper(null, null);
- unsatisfied = rh.install(installSet, available);
- assertEquals("1.1", 1, unsatisfied.length);
- assertEquals("1.2", "toInstall", unsatisfied[0].getUnsatisfiedUnit().getId());
- RequiredCapability capability = unsatisfied[0].getRequiredCapability();
- assertEquals("1.3", "test.capability", capability.getNamespace());
- assertEquals("1.4", "test", capability.getName());
-
- //now use a context where platform filter will not be satisfied
- context.put(FILTER_KEY, "nomatch");
- rh = new ResolutionHelper(context, null);
- unsatisfied = rh.install(installSet, available);
- assertEquals("2.1", 1, unsatisfied.length);
- assertEquals("2.2", "toInstall", unsatisfied[0].getUnsatisfiedUnit().getId());
- capability = unsatisfied[0].getRequiredCapability();
- assertEquals("2.3", "test.capability", capability.getNamespace());
- assertEquals("2.4", "test", capability.getName());
-
- }
-
- /**
- * Tests resolving an IU that has a filter on its required capability.
- */
- public void testSatisfiedDependencyWithMatchingFilter() {
- //use the same version everywhere because it's not interesting for this test
- Version version = new Version(1, 0, 0);
-
- //The IU that exports the capability
- ProvidedCapability[] provides = new ProvidedCapability[] {MetadataFactory.createProvidedCapability("test.capability", "test", version)};
- IInstallableUnit required = createIU("required", version, provides);
-
- //an IU whose filter will match the environment
- RequiredCapability[] requires = createRequiredCapabilities("test.capability", "test", createFilter(FILTER_KEY, "matchValue"));
- IInstallableUnit toInstall = createIU("match", version, requires);
-
- Dictionary environment = new Hashtable();
- environment.put(FILTER_KEY, "matchValue");
- ResolutionHelper rh = new ResolutionHelper(environment, null);
- HashSet installSet = new HashSet();
- installSet.add(toInstall);
- HashSet available = new HashSet();
- available.add(required);
- UnsatisfiedCapability[] unsatisfied = rh.install(installSet, available);
-
- assertEquals("1.0", 0, unsatisfied.length);
- }
-
- /**
- * In this test we try to resolve an IU that has a required capability that is
- * available, but there is a filter on the required capability so it should not be considered.
- */
- public void testSatisfiedDependencyWithUnmatchingFilter() {
- //use the same version everywhere because it's not interesting for this test
- Version version = new Version(1, 0, 0);
-
- //The IU that exports the capability
- ProvidedCapability[] provides = new ProvidedCapability[] {MetadataFactory.createProvidedCapability("test.capability", "test", version)};
- IInstallableUnit required = createIU("required", version, provides);
-
- //an IU whose filter will not match the environment
- RequiredCapability[] requires = createRequiredCapabilities("test.capability", "test", createFilter(FILTER_KEY, "noMatchValue"));
- IInstallableUnit toInstall = createIU("noMatch", version, requires);
-
- Dictionary environment = new Hashtable();
- environment.put(FILTER_KEY, "matchValue");
- ResolutionHelper rh = new ResolutionHelper(environment, null);
- HashSet installSet = new HashSet();
- installSet.add(toInstall);
- HashSet available = new HashSet();
- available.add(required);
- UnsatisfiedCapability[] unsatisfied = rh.install(installSet, available);
-
- assertEquals("1.0", 0, unsatisfied.length);
- }
-
- public void testSimpleDependency() {
- RequiredCapability[] requires = new RequiredCapability[] {MetadataFactory.createRequiredCapability("java.runtime", "JRE", null, null, false, false)};
- IInstallableUnit osgi = createIU("org.eclipse.osgi", new Version(3, 2, 0, null), requires, NO_PROPERTIES, false);
-
- ProvidedCapability[] provides = new ProvidedCapability[] {MetadataFactory.createProvidedCapability("java.runtime", "JRE", new Version(1, 4, 2, "sr2"))};
- IInstallableUnit jre = createIU("com.ibm.jre", new Version(1, 4, 2, "sr2"), provides);
-
- ResolutionHelper rh = new ResolutionHelper(null, null);
- HashSet osgiSet = new HashSet(1);
- osgiSet.add(osgi);
- HashSet jreSet = new HashSet(1);
- jreSet.add(jre);
- assertEquals("1.0", 0, rh.install(osgiSet, jreSet).length);
- }
-
- /**
- * Tests resolving an IU that has a filter on its required capability, and
- * the required capability is not available.
- */
- public void testUnsatisfiedDependencyWithMatchingFilter() {
- //use the same version everywhere because it's not interesting for this test
- Version version = new Version(1, 0, 0);
-
- //The IU that exports the capability
- ProvidedCapability[] provides = new ProvidedCapability[] {MetadataFactory.createProvidedCapability("test.capability", "test", version)};
- IInstallableUnit required = createIU("required", version, provides);
-
- //an IU whose filter will match the environment
- RequiredCapability[] requires = createRequiredCapabilities("test.capability", "does.not.exist", createFilter(FILTER_KEY, "matchValue"));
- IInstallableUnit toInstall = createIU("match", version, requires);
-
- Dictionary environment = new Hashtable();
- environment.put(FILTER_KEY, "matchValue");
- ResolutionHelper rh = new ResolutionHelper(environment, null);
- HashSet installSet = new HashSet();
- installSet.add(toInstall);
- HashSet available = new HashSet();
- available.add(required);
- UnsatisfiedCapability[] unsatisfied = rh.install(installSet, available);
-
- assertEquals("1.0", 1, unsatisfied.length);
- assertEquals("1.1", "match", unsatisfied[0].getUnsatisfiedUnit().getId());
- RequiredCapability capability = unsatisfied[0].getRequiredCapability();
- assertEquals("1.4", "test.capability", capability.getNamespace());
- assertEquals("1.5", "does.not.exist", capability.getName());
- }
-
- /**
- * In this test we try to resolve an IU that has an unsatisfied dependency.
- * However, there is a filter on the unresolved dependency that does not
- * match the environment, so it should not prevent the IU being resolved.
- */
- public void testUnsatisfiedDependencyWithUnmatchingFilter() {
- //use the same version everywhere because it's not interesting for this test
- Version version = new Version(1, 0, 0);
-
- //The IU that exports the capability
- ProvidedCapability[] provides = new ProvidedCapability[] {MetadataFactory.createProvidedCapability("test.capability", "test", version)};
- IInstallableUnit required = createIU("required", version, provides);
-
- //an IU whose filter will not match the environment
- RequiredCapability[] requires = createRequiredCapabilities("test.capability", "does.not.exist", createFilter(FILTER_KEY, "noMatchValue"));
- IInstallableUnit toInstall = createIU("noMatch", version, requires);
-
- Dictionary environment = new Hashtable();
- environment.put(FILTER_KEY, "matchValue");
- ResolutionHelper rh = new ResolutionHelper(environment, null);
- HashSet installSet = new HashSet();
- installSet.add(toInstall);
- HashSet available = new HashSet();
- available.add(required);
- UnsatisfiedCapability[] unsatisfied = rh.install(installSet, available);
-
- assertEquals("1.0", 0, unsatisfied.length);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/RollbackTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/RollbackTest.java
deleted file mode 100644
index 64ccd35..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/RollbackTest.java
+++ /dev/null
@@ -1,261 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.director;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.director.DirectorActivator;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.location.AgentLocation;
-import org.eclipse.equinox.internal.provisional.p2.director.IDirector;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningContext;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class RollbackTest extends AbstractProvisioningTest {
-
- IInstallableUnit a1;
- IInstallableUnit b1;
- IInstallableUnit c1;
- IInstallableUnit d1;
-
- private IProfile profile;
- private IDirector director;
-
- protected void setUp() throws Exception {
- super.setUp();
- a1 = createIU("A", DEFAULT_VERSION, true);
- b1 = createIU("B", DEFAULT_VERSION, true);
- c1 = createIU("C", DEFAULT_VERSION, true);
-
- RequiredCapability[] req = new RequiredCapability[1];
- req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, true);
- d1 = createIU("D", new Version("1.0.0"), req);
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, b1, c1, d1});
-
- profile = createProfile("TestProfile." + getName());
- director = createDirector();
-
- try {
- IMetadataRepository rollbackRepo = getRollbackRepository();
- if (rollbackRepo != null)
- rollbackRepo.removeAll();
- } catch (ProvisionException e) {
- return;
- }
- }
-
- private IMetadataRepository getRollbackRepository() throws ProvisionException {
- try {
- IMetadataRepositoryManager repoMan = (IMetadataRepositoryManager) ServiceHelper.getService(TestActivator.getContext(), IMetadataRepositoryManager.class.getName());
- URL location = ((AgentLocation) ServiceHelper.getService(DirectorActivator.context, AgentLocation.class.getName())).getDataArea(DirectorActivator.PI_DIRECTOR);
- return repoMan.loadRepository(new URL(location, "rollback"), null);
- } catch (MalformedURLException e) {
- fail("0.02", e);
- return null;
- }
- }
-
- private void assertEmptyRollbackRepo() {
- try {
- IMetadataRepository rollbackRepo = getRollbackRepository();
- IInstallableUnit[] ius = (IInstallableUnit[]) rollbackRepo.query(InstallableUnitQuery.ANY, new Collector(), null).toArray(IInstallableUnit.class);
- assertEquals("0.01", 0, ius.length);
- } catch (ProvisionException e) {
- return;
- }
- }
-
- public void testRollbackProfileProperties() throws ProvisionException {
- assertEmptyRollbackRepo();
-
- ProfileChangeRequest request1 = new ProfileChangeRequest(profile);
- request1.setProfileProperty("test1", "test");
- request1.setProfileProperty("test2", "test");
- IStatus status = director.provision(request1, null, new NullProgressMonitor());
- assertEquals("1.0", IStatus.OK, status.getCode());
- assertEquals("2.0", "test", profile.getProperty("test1"));
- assertEquals("3.0", "test", profile.getProperty("test2"));
-
- IInstallableUnit[] ius = (IInstallableUnit[]) getRollbackRepository().query(InstallableUnitQuery.ANY, new Collector(), null).toArray(IInstallableUnit.class);
- assertEquals("4.0", 1, ius.length);
- IInstallableUnit emptyProfileIU = ius[0];
-
- ProfileChangeRequest request2 = new ProfileChangeRequest(profile);
- request2.removeProfileProperty("test1");
- request2.setProfileProperty("test2", "bad");
- request2.setProfileProperty("test3", "test");
- status = director.provision(request2, null, new NullProgressMonitor());
- assertEquals("5.0", IStatus.OK, status.getCode());
- assertEquals("6.0", null, profile.getProperty("test1"));
- assertEquals("7.0", "bad", profile.getProperty("test2"));
- assertEquals("8.0", "test", profile.getProperty("test3"));
-
- ius = (IInstallableUnit[]) getRollbackRepository().query(InstallableUnitQuery.ANY, new Collector(), null).toArray(IInstallableUnit.class);
- assertEquals("9.0", 2, ius.length);
-
- IInstallableUnit revertProfileIU = null;
- for (int i = 0; i < ius.length; i++) {
- if (!ius[i].equals(emptyProfileIU))
- revertProfileIU = ius[i];
- }
-
- status = director.revert(revertProfileIU, profile, new ProvisioningContext(), new NullProgressMonitor());
- assertEquals("10.0", IStatus.OK, status.getCode());
- assertEquals("11.0", "test", profile.getProperty("test1"));
- assertEquals("12.0", "test", profile.getProperty("test2"));
- assertEquals("13.0", null, profile.getProperty("test3"));
- }
-
- public void testRollbackIUs() throws ProvisionException {
- assertEmptyRollbackRepo();
-
- ProfileChangeRequest request1 = new ProfileChangeRequest(profile);
- request1.addInstallableUnits(new IInstallableUnit[] {a1});
- request1.addInstallableUnits(new IInstallableUnit[] {b1});
- IStatus status = director.provision(request1, null, new NullProgressMonitor());
- assertEquals("1.0", IStatus.OK, status.getCode());
-
- List profileIUs = new ArrayList(profile.query(InstallableUnitQuery.ANY, new Collector(), null).toCollection());
- assertTrue("2.0", profileIUs.contains(a1));
- assertTrue("3.0", profileIUs.contains(b1));
-
- IInstallableUnit[] ius = (IInstallableUnit[]) getRollbackRepository().query(InstallableUnitQuery.ANY, new Collector(), null).toArray(IInstallableUnit.class);
- assertEquals("4.0", 1, ius.length);
- IInstallableUnit emptyProfileIU = ius[0];
-
- ProfileChangeRequest request2 = new ProfileChangeRequest(profile);
- request2.removeInstallableUnits(new IInstallableUnit[] {a1});
- request2.addInstallableUnits(new IInstallableUnit[] {c1});
- status = director.provision(request2, null, new NullProgressMonitor());
- assertEquals("5.0", IStatus.OK, status.getCode());
-
- profileIUs = new ArrayList(profile.query(InstallableUnitQuery.ANY, new Collector(), null).toCollection());
- assertFalse("6.0", profileIUs.contains(a1));
- assertTrue("7.0", profileIUs.contains(b1));
- assertTrue("8.0", profileIUs.contains(c1));
-
- ius = (IInstallableUnit[]) getRollbackRepository().query(InstallableUnitQuery.ANY, new Collector(), null).toArray(IInstallableUnit.class);
- assertEquals("9.0", 2, ius.length);
-
- IInstallableUnit revertProfileIU = null;
- for (int i = 0; i < ius.length; i++) {
- if (!ius[i].equals(emptyProfileIU))
- revertProfileIU = ius[i];
- }
-
- status = director.revert(revertProfileIU, profile, new ProvisioningContext(), new NullProgressMonitor());
- assertEquals("10.0", IStatus.OK, status.getCode());
-
- profileIUs = new ArrayList(profile.query(InstallableUnitQuery.ANY, new Collector(), null).toCollection());
- assertTrue("11.0", profileIUs.contains(a1));
- assertTrue("12.0", profileIUs.contains(b1));
- assertFalse("13.0", profileIUs.contains(c1));
- }
-
- public void testRollbackIUProfileProperties() throws ProvisionException {
- assertEmptyRollbackRepo();
-
- ProfileChangeRequest request1 = new ProfileChangeRequest(profile);
- request1.addInstallableUnits(new IInstallableUnit[] {a1});
- request1.setInstallableUnitProfileProperty(a1, "test1", "test");
- request1.setInstallableUnitProfileProperty(a1, "test2", "test");
- IStatus status = director.provision(request1, null, new NullProgressMonitor());
- assertEquals("1.0", IStatus.OK, status.getCode());
- assertEquals("2.0", "test", profile.getInstallableUnitProperty(a1, "test1"));
- assertEquals("3.0", "test", profile.getInstallableUnitProperty(a1, "test2"));
-
- IInstallableUnit[] ius = (IInstallableUnit[]) getRollbackRepository().query(InstallableUnitQuery.ANY, new Collector(), null).toArray(IInstallableUnit.class);
- assertEquals("4.0", 1, ius.length);
- IInstallableUnit emptyProfileIU = ius[0];
-
- ProfileChangeRequest request2 = new ProfileChangeRequest(profile);
- request2.removeInstallableUnitProfileProperty(a1, "test1");
- request2.setInstallableUnitProfileProperty(a1, "test2", "bad");
- request2.setInstallableUnitProfileProperty(a1, "test3", "test");
- status = director.provision(request2, null, new NullProgressMonitor());
- assertEquals("5.0", IStatus.OK, status.getCode());
- assertEquals("6.0", null, profile.getInstallableUnitProperty(a1, "test1"));
- assertEquals("7.0", "bad", profile.getInstallableUnitProperty(a1, "test2"));
- assertEquals("8.0", "test", profile.getInstallableUnitProperty(a1, "test3"));
-
- ius = (IInstallableUnit[]) getRollbackRepository().query(InstallableUnitQuery.ANY, new Collector(), null).toArray(IInstallableUnit.class);
- assertEquals("9.0", 2, ius.length);
-
- IInstallableUnit revertProfileIU = null;
- for (int i = 0; i < ius.length; i++) {
- if (!ius[i].equals(emptyProfileIU))
- revertProfileIU = ius[i];
- }
-
- status = director.revert(revertProfileIU, profile, new ProvisioningContext(), new NullProgressMonitor());
- assertEquals("10.0", IStatus.OK, status.getCode());
- assertEquals("11.0", "test", profile.getInstallableUnitProperty(a1, "test1"));
- assertEquals("12.0", "test", profile.getInstallableUnitProperty(a1, "test2"));
- assertEquals("13.0", null, profile.getInstallableUnitProperty(a1, "test3"));
- }
-
- public void testRollbackDependentIUProfileProperties() throws ProvisionException {
- assertEmptyRollbackRepo();
-
- ProfileChangeRequest request1 = new ProfileChangeRequest(profile);
- request1.addInstallableUnits(new IInstallableUnit[] {d1});
- request1.setInstallableUnitProfileProperty(d1, "test1", "test");
- request1.setInstallableUnitProfileProperty(a1, "test2", "test");
- IStatus status = director.provision(request1, null, new NullProgressMonitor());
- assertEquals("1.0", IStatus.OK, status.getCode());
- assertEquals("2.0", "test", profile.getInstallableUnitProperty(d1, "test1"));
- assertEquals("3.0", "test", profile.getInstallableUnitProperty(a1, "test2"));
-
- IInstallableUnit[] ius = (IInstallableUnit[]) getRollbackRepository().query(InstallableUnitQuery.ANY, new Collector(), null).toArray(IInstallableUnit.class);
- assertEquals("4.0", 1, ius.length);
- IInstallableUnit emptyProfileIU = ius[0];
-
- ProfileChangeRequest request2 = new ProfileChangeRequest(profile);
- request2.removeInstallableUnits(new IInstallableUnit[] {d1});
- request2.addInstallableUnits(new IInstallableUnit[] {b1});
- request2.setInstallableUnitProfileProperty(b1, "test3", "test");
-
- status = director.provision(request2, null, new NullProgressMonitor());
- assertEquals("5.0", IStatus.OK, status.getCode());
- assertEquals("6.0", null, profile.getInstallableUnitProperty(d1, "test1"));
- assertEquals("7.0", null, profile.getInstallableUnitProperty(a1, "test2"));
- assertEquals("8.0", "test", profile.getInstallableUnitProperty(b1, "test3"));
-
- ius = (IInstallableUnit[]) getRollbackRepository().query(InstallableUnitQuery.ANY, new Collector(), null).toArray(IInstallableUnit.class);
- assertEquals("9.0", 2, ius.length);
-
- IInstallableUnit revertProfileIU = null;
- for (int i = 0; i < ius.length; i++) {
- if (!ius[i].equals(emptyProfileIU))
- revertProfileIU = ius[i];
- }
-
- status = director.revert(revertProfileIU, profile, new ProvisioningContext(), new NullProgressMonitor());
- assertEquals("10.0", IStatus.OK, status.getCode());
- assertEquals("11.0", "test", profile.getInstallableUnitProperty(d1, "test1"));
- assertEquals("12.0", "test", profile.getInstallableUnitProperty(a1, "test2"));
- assertEquals("13.0", null, profile.getInstallableUnitProperty(b1, "test3"));
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/SingletonTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/SingletonTest.java
deleted file mode 100644
index 98c5b87..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/SingletonTest.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.director;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.provisional.p2.director.IDirector;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.osgi.framework.Version;
-
-public class SingletonTest extends AbstractProvisioningTest {
- IInstallableUnit f1;
- IInstallableUnit f1_1;
-
- IInstallableUnit f2;
- IInstallableUnit f2_1;
-
- IInstallableUnit junit38;
- IInstallableUnit junit40;
-
- IDirector director;
- IProfile profile;
-
- protected void setUp() throws Exception {
- f1 = createIU("f1", new Version(1, 0, 0), true);
-
- f1_1 = createIU("f1", new Version(1, 1, 0), true);
-
- f2 = createIU("f2", new Version(1, 0, 0), true);
-
- f2_1 = createIU("f2", new Version(1, 0, 1));
-
- junit38 = createIU("junit", new Version(3, 8, 1));
-
- junit40 = createIU("junit", new Version(4, 0, 1));
-
- createTestMetdataRepository(new IInstallableUnit[] {f1, f1_1, junit38, junit40, f2, f2_1});
-
- profile = createProfile("TestProfile." + getName());
- director = createDirector();
- }
-
- public void testMultipleVersionNonSingleton() {
- // The installation of junit38 and junit 40 together should succeed
- ProfileChangeRequest request = new ProfileChangeRequest(profile);
- request.addInstallableUnits(new IInstallableUnit[] {junit38, junit40});
- assertEquals(IStatus.OK, director.provision(request, null, new NullProgressMonitor()).getSeverity());
- }
-
- public void testMultipleVersionSingleton() {
- // The installation of junit38 and junit 40 together should not succeed
- ProfileChangeRequest request = new ProfileChangeRequest(profile);
- request.addInstallableUnits(new IInstallableUnit[] {f1, f1_1});
- assertEquals(IStatus.ERROR, director.provision(request, null, new NullProgressMonitor()).getSeverity());
- }
-
- public void testMultipleVersionSingleton2() {
- // The installation of junit38 and junit 40 together should not succeed
- ProfileChangeRequest request = new ProfileChangeRequest(profile);
- request.addInstallableUnits(new IInstallableUnit[] {f2, f2_1});
- assertEquals(IStatus.ERROR, director.provision(request, null, new NullProgressMonitor()).getSeverity());
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/UninstallTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/UninstallTest.java
deleted file mode 100644
index 8360cd9..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/UninstallTest.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.director;
-
-import org.eclipse.equinox.internal.provisional.p2.director.IDirector;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class UninstallTest extends AbstractProvisioningTest {
- private IInstallableUnit a1;
- private IProfile profile;
- private IDirector director;
-
- protected void setUp() throws Exception {
- a1 = createIU("A", DEFAULT_VERSION, true);
-
- profile = createProfile("TestProfile." + getName());
- director = createDirector();
- }
-
- public void testUninstall() {
- IInstallableUnit[] units = new IInstallableUnit[] {a1};
- ProfileChangeRequest request = new ProfileChangeRequest(profile);
- request.addInstallableUnits(units);
- assertTrue("1.0", director.provision(request, null, null).isOK());
- assertProfileContains("1.1", profile, units);
- request = new ProfileChangeRequest(profile);
- request.removeInstallableUnits(units);
- assertTrue("1.2", director.provision(request, null, null).isOK());
- assertEmptyProfile(profile);
- // uninstalling on empty profile should be a no-op
- assertTrue("1.3", director.provision(request, null, null).isOK());
- assertEmptyProfile(profile);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/UpdateTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/UpdateTest.java
deleted file mode 100644
index 8c7f0b8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/UpdateTest.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.director;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningContext;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.RequiredCapability;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class UpdateTest extends AbstractProvisioningTest {
- IInstallableUnit f1;
- IInstallableUnit f1_1;
- IInstallableUnit f1_4;
-
- IInstallableUnit fa;
- IInstallableUnit fap;
- IDirector director;
- IPlanner planner;
- IProfile profile;
-
- protected void setUp() throws Exception {
- String f1Id = getName() + "f1";
- f1 = createIU(f1Id, DEFAULT_VERSION, true);
- f1_1 = createIU(f1Id, new Version(1, 1, 0), true);
- f1_4 = createIU(f1Id, new Version(1, 4, 0), true);
-
- RequiredCapability[] requires = createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, f1Id, new VersionRange("[1.0.0, 1.3.0)"), null);
- String faId = getName() + ".fa";
- fa = createIU(faId, requires, false);
-
- requires = createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, f1Id, new VersionRange("[1.0.0, 1.4.0)"), null);
- fap = createIU(faId, new Version(1, 1, 0), requires, NO_PROPERTIES, false);
-
- createTestMetdataRepository(new IInstallableUnit[] {f1, fa});
-
- profile = createProfile("UpdateTest." + getName());
- director = createDirector();
- planner = createPlanner();
- ProfileChangeRequest request = new ProfileChangeRequest(profile);
- request.addInstallableUnits(new IInstallableUnit[] {fa});
- assertOK("1.0", director.provision(request, null, null));
- assertProfileContains("Profile setup", profile, new IInstallableUnit[] {f1, fa});
- createTestMetdataRepository(new IInstallableUnit[] {f1_1, f1_4});
- }
-
- public void testInstall() {
- ProfileChangeRequest request = new ProfileChangeRequest(profile);
- request.addInstallableUnits(new IInstallableUnit[] {f1_1});
- ProvisioningPlan plan = planner.getProvisioningPlan(request, new ProvisioningContext(), new NullProgressMonitor());
- assertOK("1.0", plan.getStatus());
- assertOK("1.1", director.provision(request, null, null));
- request = new ProfileChangeRequest(profile);
- request.addInstallableUnits(new IInstallableUnit[] {f1_4});
- assertEquals(IStatus.ERROR, director.provision(request, null, new NullProgressMonitor()).getSeverity());
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/AbstractDirectoryWatcherTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/AbstractDirectoryWatcherTest.java
deleted file mode 100644
index 3ee4d55..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/AbstractDirectoryWatcherTest.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.directorywatcher;
-
-import java.io.File;
-import java.util.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-/**
- * @since 1.0
- */
-public abstract class AbstractDirectoryWatcherTest extends AbstractProvisioningTest {
-
- // list of File objects to remove later during teardown
- protected Set toRemove = new HashSet();
-
- /*
- * Constructor for the class.
- */
- public AbstractDirectoryWatcherTest(String name) {
- super(name);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.p2.tests.AbstractProvisioningTest#tearDown()
- */
- protected void tearDown() throws Exception {
- super.tearDown();
- for (Iterator iter = toRemove.iterator(); iter.hasNext();)
- delete((File) iter.next());
- toRemove = new HashSet();
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/AllTests.java
deleted file mode 100644
index 83638ae..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/AllTests.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.directorywatcher;
-
-import junit.framework.*;
-
-/**
- * Performs all automated director tests.
- */
-public class AllTests extends TestCase {
-
- public static Test suite() {
- TestSuite suite = new TestSuite(AllTests.class.getName());
- suite.addTestSuite(DirectoryWatcherTest.class);
- suite.addTestSuite(RepositoryListenerTest.class);
- suite.addTestSuite(ProfileSynchronizerTest.class);
- return suite;
- }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/DirectoryWatcherTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/DirectoryWatcherTest.java
deleted file mode 100644
index f9da12a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/DirectoryWatcherTest.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.directorywatcher;
-
-import java.io.File;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.equinox.internal.provisional.p2.directorywatcher.DirectoryChangeListener;
-import org.eclipse.equinox.internal.provisional.p2.directorywatcher.DirectoryWatcher;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-
-public class DirectoryWatcherTest extends AbstractProvisioningTest {
-
- public DirectoryWatcherTest(String name) {
- super(name);
- }
-
- public void testCreateDirectoryWatcherNullDirectory() throws Exception {
- try {
- new DirectoryWatcher((File) null);
- } catch (IllegalArgumentException e) {
- return;
- }
- fail();
- }
-
- public void testCreateDirectoryWatcherOneDirectory() throws Exception {
- URL base = TestActivator.getContext().getBundle().getEntry("/testData/directorywatcher1");
- File folder = new File(FileLocator.toFileURL(base).getPath());
- DirectoryWatcher watcher = new DirectoryWatcher(folder);
- watcher.start();
- watcher.stop();
- }
-
- public void testCreateDirectoryWatcherProps() throws Exception {
- URL base = TestActivator.getContext().getBundle().getEntry("/testData/directorywatcher1");
- File folder = new File(FileLocator.toFileURL(base).getPath());
-
- Hashtable props = new Hashtable();
- props.put(DirectoryWatcher.DIR, folder.getAbsolutePath());
-
- DirectoryWatcher watcher = new DirectoryWatcher(props, TestActivator.getContext());
- watcher.start();
- watcher.stop();
- }
-
- public void testDirectoryWatcherListener() throws Exception {
- URL base = TestActivator.getContext().getBundle().getEntry("/testData/directorywatcher1");
- File folder = new File(FileLocator.toFileURL(base).getPath());
-
- Hashtable props = new Hashtable();
- props.put(DirectoryWatcher.DIR, folder.getAbsolutePath());
-
- DirectoryWatcher watcher = new DirectoryWatcher(props, TestActivator.getContext());
- final List list = Collections.synchronizedList(new ArrayList());
- DirectoryChangeListener listener = new DirectoryChangeListener() {
-
- public boolean added(File file) {
- if (file.getName().equals("CVS"))
- return false;
- list.add(file);
- return true;
- }
-
- public boolean changed(File file) {
- return false;
- }
-
- public boolean removed(File file) {
- if (file.getName().equals("CVS"))
- return false;
- list.remove(file);
- return true;
- }
-
- public boolean isInterested(File file) {
- return true;
- }
-
- public Long getSeenFile(File file) {
- return null;
- }
-
- public void startPoll() {
-
- }
-
- public void stopPoll() {
- }
-
- };
- watcher.addListener(listener);
- watcher.poll();
- assertEquals(2, list.size());
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/ProfileSynchronizerTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/ProfileSynchronizerTest.java
deleted file mode 100644
index aa13bf6..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/ProfileSynchronizerTest.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.directorywatcher;
-
-import java.io.File;
-import java.util.*;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.osgi.framework.Version;
-
-/**
- * @since 1.0
- */
-public class ProfileSynchronizerTest extends AbstractDirectoryWatcherTest {
-
- /*
- * Constructor for the class.
- */
- public ProfileSynchronizerTest(String name) {
- super(name);
- }
-
- /*
- * Run all the tests in this class.
- */
- public static Test suite() {
- return new TestSuite(ProfileSynchronizerTest.class);
- }
-
- public void test() {
- // empty test because the others aren't enabled yet
- }
-
- /*
- * Test that we only try to install bundles with matching platform filters.
- *
- * TODO we don't want to test to see if the bundles are in the repo, but if
- * the bundles are filtered when they are installed into a profile.
- */
- public void _testPlatformFilter() {
- String base = "/testData/profileSynchronizer/";
- String[] extensions = new String[] {"bbb_1.0.0.jar", "bbb.linux_1.0.0.jar", "bbb.win32_1.0.0.jar"};
- Set jars = new HashSet();
- for (int i = 0; i < extensions.length; i++)
- jars.add(getTestData("0.99", base + extensions[i]));
- File folder = getTempFolder();
- toRemove.add(folder);
- for (Iterator iter = jars.iterator(); iter.hasNext();) {
- File next = (File) iter.next();
- copy("1.0 " + next.getAbsolutePath(), next, new File(folder, next.getName()));
- }
-
- // We should have an empty repository because we haven't done anything yet
- TestRepositoryWatcher watcher = TestRepositoryWatcher.createWatcher(folder);
- assertEquals("2.0", 0, watcher.getInstallableUnits().length);
- assertEquals("2.1", 0, watcher.getArtifactKeys().length);
-
- watcher.poll();
-
- // which IUs we are expecting is dependent on which OS we are running
- Set expected = new HashSet();
- expected.add("bbb");
- String os = System.getProperty("osgi.os");
- if ("win32".equals(os)) {
- expected.add("bbb.win32");
- } else if ("linux".equals(os)) {
- expected.add("bbb.linux");
- }
-
- IInstallableUnit[] ius = watcher.getInstallableUnits();
- assertEquals("3.0", expected.size(), ius.length);
- for (int i = 0; i < ius.length; i++)
- assertTrue("3.1 " + ius[i].getId(), expected.contains(ius[i].getId()));
- assertEquals("3.2", expected.size(), watcher.getArtifactKeys().length);
- }
-
- /*
- * Test to ensure that we only try to install the highest version of singleton bundles
- * where multiple versions exist.
- *
- * TODO we don't want to test to see if the bundles are in the repo, but if
- * the bundles are filtered when they are installed into a profile.
- */
- public void _testMultipleVersions() {
- File one = getTestData("0.1", "/testData/profileSynchronizer/ccc_1.0.0.jar");
- File two = getTestData("0.2", "/testData/profileSynchronizer/ccc_2.0.0.jar");
- File folder = getTempFolder();
- toRemove.add(folder);
-
- copy("1.0", one, new File(folder, one.getName()));
- copy("1.1", two, new File(folder, two.getName()));
-
- TestRepositoryWatcher watcher = TestRepositoryWatcher.createWatcher(folder);
-
- // We should have an empty repository because we haven't done anything yet
- assertEquals("2.0", 0, watcher.getInstallableUnits().length);
- assertEquals("2.1", 0, watcher.getArtifactKeys().length);
-
- watcher.poll();
-
- IInstallableUnit[] ius = watcher.getInstallableUnits();
- IArtifactKey[] artifacts = watcher.getArtifactKeys();
- assertEquals("3.0", 1, ius.length);
- assertEquals("3.1", "ccc", ius[0].getId());
- assertEquals("3.2", new Version("2.0.0"), ius[0].getVersion());
- assertEquals("4.0", 1, artifacts.length);
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/RepositoryListenerTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/RepositoryListenerTest.java
deleted file mode 100644
index d7f549f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/RepositoryListenerTest.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.directorywatcher;
-
-import java.io.File;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.ArtifactDescriptor;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactDescriptor;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-
-public class RepositoryListenerTest extends AbstractDirectoryWatcherTest {
-
- /*
- * Constructor for the class.
- */
- public RepositoryListenerTest(String name) {
- super(name);
- }
-
- /*
- * Run all the tests in this class.
- */
- public static Test suite() {
- return new TestSuite(RepositoryListenerTest.class);
- }
-
- public static boolean isZipped(TouchpointData[] data) {
- if (data == null || data.length == 0)
- return false;
- for (int i = 0; i < data.length; i++) {
- if (data[i].getInstructions("zipped") != null) //$NON-NLS-1$
- return true;
- }
- return false;
- }
-
- /*
- * Remove the files from the target, if they exist in the source.
- */
- private void removeContents(File source, File target) {
- if (source.exists() && source.isDirectory() && target.exists() && target.isDirectory()) {
- File[] files = source.listFiles();
- for (int i = 0; i < files.length; i++)
- if (files[i] != null)
- delete(new File(target, files[i].getName()));
- }
- }
-
- public void testDirectoryWatcherListener() {
- File baseFolder = getTestData("0.99", "/testData/directorywatcher1");
- File baseFolder2 = getTestData("0.100", "/testData/directorywatcher2");
-
- // make sure we remove this file after we finish running the tests
- File folder = getTempFolder();
- toRemove.add(folder);
-
- // create the watcher
- TestRepositoryWatcher watcher = TestRepositoryWatcher.createWatcher(folder);
- watcher.poll();
-
- // We should have an empty repository because we haven't done anything yet
- assertEquals("1.0", 0, watcher.getInstallableUnits().length);
- assertEquals("1.1", 0, watcher.getArtifactKeys().length);
-
- // copy the first set of data to the folder so it is discovered and then verify the contents
- copy("2.0", baseFolder, folder);
- watcher.poll();
- IArtifactKey[] keys = watcher.getArtifactKeys();
- for (int i = 0; i < keys.length; i++) {
- String file = watcher.getArtifactFile(keys[i]).getAbsolutePath();
- assertTrue("2.1." + file, file.startsWith(folder.getAbsolutePath()));
- }
- assertEquals("3.0", 2, watcher.getInstallableUnits().length);
- assertEquals("3.1", 2, watcher.getArtifactKeys().length);
-
- // copy the second data set to be discovered and then verify the number of entries
- copy("4.99", baseFolder2, folder);
- watcher.poll();
- assertEquals("5.0", 3, watcher.getInstallableUnits().length);
- assertEquals("5.1", 3, watcher.getArtifactKeys().length);
-
- // remove some of the data and then verify the contents
- removeContents(baseFolder, folder);
- watcher.poll();
- assertEquals("6.0", 1, watcher.getInstallableUnits().length);
- assertEquals("6.1", 1, watcher.getArtifactKeys().length);
- }
-
- public void testBundleShape() {
-
- // make sure we remove this file after we finish running the tests
- File folder = getTempFolder();
- toRemove.add(folder);
-
- // create the watcher
- TestRepositoryWatcher watcher = TestRepositoryWatcher.createWatcher(folder);
-
- // this folder contains a jared plugin and a directory plugin
- File baseFolder = getTestData("0.99", "/testData/directorywatcher1");
- copy("2.0", baseFolder, folder);
- watcher.poll();
-
- // verify metadata
- IInstallableUnit jaredIU = null;
- IInstallableUnit directoryIU = null;
- IInstallableUnit[] ius = watcher.getInstallableUnits();
- assertEquals("3.0", 2, ius.length);
- for (int i = 0; i < ius.length; i++) {
- IInstallableUnit iu = ius[i];
- if (isZipped(iu.getTouchpointData())) {
- assertNull("4.0", jaredIU);
- jaredIU = iu;
- } else {
- assertNull("5.0", directoryIU);
- directoryIU = iu;
- }
- }
- assertTrue("6.0", directoryIU != null && jaredIU != null);
-
- // verify artifact descriptors
- IArtifactDescriptor jaredDescriptor = null;
- IArtifactDescriptor directoryDescriptor = null;
- IArtifactKey[] keys = watcher.getArtifactKeys();
- assertEquals("7.0", 2, keys.length);
- for (int i = 0; i < keys.length; i++) {
- IArtifactKey key = keys[i];
- IArtifactDescriptor[] descriptors = watcher.getArtifactDescriptors(key);
- assertEquals("8.0", 1, descriptors.length);
- ArtifactDescriptor descriptor = (ArtifactDescriptor) descriptors[0];
- String isFolder = descriptor.getRepositoryProperty("artifact.folder");
- if (Boolean.valueOf(isFolder).booleanValue()) {
- assertNull("9.0", directoryDescriptor);
- directoryDescriptor = descriptors[0];
- } else {
- assertNull("10.0", jaredDescriptor);
- jaredDescriptor = descriptors[0];
- }
- }
- assertTrue("11.0", jaredDescriptor != null && directoryDescriptor != null);
- }
-
- /*
- * Test to ensure that we convert bundles with Eclipse 2.x-style plugin.xml files into
- * proper OSGi manifest files so the bundle can be installed
- */
- public void testPluginXMLConversion() {
- // test plugin.xml in a JAR'd bundle
- File oldBundleJAR = getTestData("0.1", "/testData/repositoryListener/oldBundleJAR.jar");
- // test plugin.xml in a directory-based bundle
- File oldBundleDirectory = getTestData("0.2", "/testData/repositoryListener/oldBundleDirectory");
- // test plugin.xml in the presence of an Ant Manifest file in a JAR'd bundle
- File oldBundleJARTwo = getTestData("0.3", "/testData/repositoryListener/oldBundleJARTwo.jar");
- // test plugin.xml in the presence of an Ant Manifest file in a directory-based bundle
- File oldBundleDirectoryTwo = getTestData("0.4", "/testData/repositoryListener/oldBundleDirectoryTwo");
-
- // copy the test bundles over to where we will be watching in the repo listener
- File folder = getTempFolder();
- toRemove.add(folder);
- copy("1.0", oldBundleJAR, new File(folder, oldBundleJAR.getName()));
- copy("1.1", oldBundleJARTwo, new File(folder, oldBundleJARTwo.getName()));
- copy("1.2", oldBundleDirectory, new File(folder, oldBundleDirectory.getName()));
- copy("1.3", oldBundleDirectoryTwo, new File(folder, oldBundleDirectoryTwo.getName()));
-
- // We should have an empty repository because we haven't done anything yet
- TestRepositoryWatcher watcher = TestRepositoryWatcher.createWatcher(folder);
- assertEquals("2.0", 0, watcher.getInstallableUnits().length);
- assertEquals("2.1", 0, watcher.getArtifactKeys().length);
-
- watcher.poll();
- // the repo should have added all 4 bundles
- assertEquals("3.0", 4, watcher.getInstallableUnits().length);
- assertEquals("3.1", 4, watcher.getArtifactKeys().length);
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/TestRepositoryWatcher.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/TestRepositoryWatcher.java
deleted file mode 100644
index 321612b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/TestRepositoryWatcher.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.directorywatcher;
-
-import java.io.File;
-import java.util.Dictionary;
-import java.util.Hashtable;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactDescriptor;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IFileArtifactRepository;
-import org.eclipse.equinox.internal.provisional.p2.directorywatcher.DirectoryWatcher;
-import org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.osgi.framework.BundleContext;
-
-/**
- * Helper test class which wraps a repository listener.
- */
-class TestRepositoryWatcher extends DirectoryWatcher {
-
- private RepositoryListener listener;
-
- /*
- * Create and return a new test directory watcher class which will listen on the given folder.
- */
- public static TestRepositoryWatcher createWatcher(File folder) {
- RepositoryListener listener = new RepositoryListener(TestActivator.getContext(), AbstractProvisioningTest.getUniqueString(), null, false);
- Dictionary props = new Hashtable();
- props.put(DirectoryWatcher.DIR, folder.getAbsolutePath());
- props.put(DirectoryWatcher.POLL, "500");
- TestRepositoryWatcher result = new TestRepositoryWatcher(props, TestActivator.getContext());
- result.addListener(listener);
- return result;
- }
-
- /*
- * Constructor for the class.
- */
- private TestRepositoryWatcher(Dictionary props, BundleContext context) {
- super(props, context);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.directorywatcher.DirectoryWatcher#addListener(org.eclipse.equinox.internal.provisional.p2.directorywatcher.DirectoryChangeListener)
- */
- public synchronized void addListener(RepositoryListener repoListener) {
- super.addListener(repoListener);
- this.listener = repoListener;
- }
-
- /*
- * Return the list of all the IUs known to the metadata repository this watcher's listener.
- */
- public IInstallableUnit[] getInstallableUnits() {
- return (IInstallableUnit[]) listener.getMetadataRepository().query(InstallableUnitQuery.ANY, new Collector(), null).toArray(IInstallableUnit.class);
- }
-
- /*
- * Return the list of artifact keys known to this listener's repository.
- */
- public IArtifactKey[] getArtifactKeys() {
- return listener.getArtifactRepository().getArtifactKeys();
- }
-
- /*
- * Return the list of artifact descriptors known to this listener's repository.
- */
- public IArtifactDescriptor[] getArtifactDescriptors(IArtifactKey key) {
- return listener.getArtifactRepository().getArtifactDescriptors(key);
- }
-
- /*
- * Return the file associated with the given artifact key.
- */
- public File getArtifactFile(IArtifactKey key) {
- return ((IFileArtifactRepository) listener.getArtifactRepository()).getArtifactFile(key);
- }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/download/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/download/AllTests.java
deleted file mode 100644
index 2c5e052..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/download/AllTests.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.download;
-
-import junit.framework.*;
-
-/**
- * Performs all automated download manager tests.
- */
-public class AllTests extends TestCase {
-
- public static Test suite() {
- TestSuite suite = new TestSuite(AllTests.class.getName());
- suite.addTestSuite(DownloadManagerTest.class);
- return suite;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/download/DownloadManagerTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/download/DownloadManagerTest.java
deleted file mode 100644
index 384ca54..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/download/DownloadManagerTest.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.download;
-
-import junit.framework.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.engine.DownloadManager;
-
-/**
- * Simple tests of {@link DownloadManager} API.
- */
-public class DownloadManagerTest extends TestCase {
- public static Test suite() {
- return new TestSuite(DownloadManagerTest.class);
- }
-
- /**
- * Tests invocation of DownloadManager when there is nothing to download.
- */
- public void testEmpty() {
- DownloadManager manager = new DownloadManager(null);
- IStatus result = manager.start(null);
- assertTrue("1.0", result.isOK());
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/embeddedequinox/EmbeddedEquinox.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/embeddedequinox/EmbeddedEquinox.java
deleted file mode 100644
index 05fff16..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/embeddedequinox/EmbeddedEquinox.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.embeddedequinox;
-
-import java.io.IOException;
-import java.lang.reflect.Method;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.Enumeration;
-import java.util.Map;
-import org.osgi.framework.BundleContext;
-
-/*
- * This class assumes the bundle's classloader only has access to org.osgi.framework
- * from the hosting framework. Any more access could result in ClassVerifier errors.
- */
-public class EmbeddedEquinox {
- private final Map frameworkProperties;
- private final String[] frameworkArgs;
- private Class eclipseStarterClazz;
- private BundleContext context;
- private URL[] frameworkClassPath;
-
- public EmbeddedEquinox(Map frameworkProperties, String[] frameworkArgs, URL[] frameworkClassPath) {
- this.frameworkProperties = frameworkProperties;
- this.frameworkArgs = frameworkArgs;
- this.frameworkClassPath = frameworkClassPath;
- }
-
- public BundleContext startFramework() {
- System.setProperty("osgi.framework.useSystemProperties", "false");
- try {
- URLClassLoader frameworkLoader = new FrameworkClassLoader(frameworkClassPath, this.getClass().getClassLoader());
- eclipseStarterClazz = frameworkLoader.loadClass("org.eclipse.core.runtime.adaptor.EclipseStarter");
-
- Method setInitialProperties = eclipseStarterClazz.getMethod("setInitialProperties", new Class[] {Map.class}); //$NON-NLS-1$
- setInitialProperties.invoke(null, new Object[] {frameworkProperties});
-
- Method runMethod = eclipseStarterClazz.getMethod("startup", new Class[] {String[].class, Runnable.class}); //$NON-NLS-1$
- context = (BundleContext) runMethod.invoke(null, new Object[] {frameworkArgs, null});
- } catch (Throwable t) {
- if (t instanceof RuntimeException)
- throw (RuntimeException) t;
- throw new RuntimeException(t);
- }
- return context;
- }
-
- public void shutdown() {
- try {
- Method shutdownMethod = eclipseStarterClazz.getMethod("shutdown", null); //$NON-NLS-1$
- shutdownMethod.invoke(null, null);
-
- } catch (Throwable t) {
- if (t instanceof RuntimeException)
- throw (RuntimeException) t;
- throw new RuntimeException(t);
- }
- }
-
- public class FrameworkClassLoader extends URLClassLoader {
- ClassLoader embeddedBundleLoader;
-
- public FrameworkClassLoader(URL[] urls, ClassLoader parent) {
- super(urls, null);
- this.embeddedBundleLoader = parent;
- }
-
- protected Class findClass(String name) throws ClassNotFoundException {
- if (name.startsWith("org.osgi.framework."))
- // TODO this should call findClass; but then have to use reflection!!
- return embeddedBundleLoader.loadClass(name);
- return super.findClass(name);
- }
-
- public URL findResource(String name) {
- if (name.startsWith("org/osgi/framework/"))
- // TODO this should call findResource; but then have to use reflection!!
- return embeddedBundleLoader.getResource(name);
- return super.findResource(name);
- }
-
- public Enumeration findResources(String name) throws IOException {
- if (name.startsWith("org/osgi/framework/"))
- // TODO this should call findResources; but then have to use reflection!!
- return embeddedBundleLoader.getResources(name);
- return super.findResources(name);
- }
-
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/AllTests.java
deleted file mode 100644
index ef7e02a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/AllTests.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.engine;
-
-import junit.framework.*;
-
-/**
- * Performs all engine tests.
- */
-public class AllTests extends TestCase {
-
- public static Test suite() {
- TestSuite suite = new TestSuite(AllTests.class.getName());
- suite.addTestSuite(EngineTest.class);
- suite.addTestSuite(PhaseSetTest.class);
- suite.addTestSuite(PhaseTest.class);
- suite.addTestSuite(ParameterizedProvisioningActionTest.class);
- suite.addTestSuite(ProfileTest.class);
- suite.addTestSuite(ProfileRegistryTest.class);
- suite.addTestSuite(TouchpointTest.class);
- return suite;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/EngineTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/EngineTest.java
deleted file mode 100644
index 278bd29..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/EngineTest.java
+++ /dev/null
@@ -1,294 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.engine;
-
-import java.io.File;
-import java.util.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.phases.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitFragmentDescription;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.osgi.framework.ServiceReference;
-import org.osgi.framework.Version;
-
-/**
- * Simple test of the engine API.
- *
- * Note:
- * Currently you MUST have previously generated metadata from a 3.3.1 install.
- * There are ordering dependencies for the tests temporarily
- */
-public class EngineTest extends AbstractProvisioningTest {
-
- private static class NPEPhase extends Phase {
- protected NPEPhase(int weight) {
- super("NPE", 1);
- }
-
- protected ProvisioningAction[] getActions(Operand operand) {
- throw new NullPointerException();
- }
- }
-
- private static class NPEPhaseSet extends PhaseSet {
- public NPEPhaseSet() {
- super(new Phase[] {new Collect(100), new Unconfigure(10), new Uninstall(50), new Property(1), new CheckTrust(10), new Install(50), new Configure(10), new NPEPhase(1)});
- }
- }
-
- private ServiceReference engineRef;
- private IEngine engine;
- private File testProvisioning;
-
- public EngineTest(String name) {
- super(name);
- testProvisioning = new File(System.getProperty("java.io.tmpdir"), "testProvisioining");
- deleteDirectory(testProvisioning);
- testProvisioning.mkdir();
- }
-
- public EngineTest() {
- this("");
- }
-
- private static boolean deleteDirectory(File directory) {
- if (directory.exists() && directory.isDirectory()) {
- File[] files = directory.listFiles();
- for (int i = 0; i < files.length; i++) {
- if (files[i].isDirectory()) {
- deleteDirectory(files[i]);
- } else {
- files[i].delete();
- }
- }
- }
- return directory.delete();
- }
-
- protected void setUp() throws Exception {
- engineRef = TestActivator.getContext().getServiceReference(IEngine.SERVICE_NAME);
- engine = (IEngine) TestActivator.getContext().getService(engineRef);
- }
-
- protected void tearDown() throws Exception {
- engine = null;
- TestActivator.getContext().ungetService(engineRef);
- }
-
- public void testNullProfile() {
-
- IProfile profile = null;
- PhaseSet phaseSet = new DefaultPhaseSet();
- InstallableUnitOperand[] operands = new InstallableUnitOperand[] {};
- try {
- engine.perform(profile, phaseSet, operands, null, new NullProgressMonitor());
- } catch (IllegalArgumentException expected) {
- return;
- }
- fail();
- }
-
- public void testNullPhaseSet() {
-
- IProfile profile = createProfile("test");
- PhaseSet phaseSet = null;
- InstallableUnitOperand[] operands = new InstallableUnitOperand[] {};
- try {
- engine.perform(profile, phaseSet, operands, null, new NullProgressMonitor());
- } catch (IllegalArgumentException expected) {
- return;
- }
- fail();
- }
-
- public void testNullOperands() {
-
- IProfile profile = createProfile("test");
- PhaseSet phaseSet = new DefaultPhaseSet();
- InstallableUnitOperand[] operands = null;
- try {
- engine.perform(profile, phaseSet, operands, null, new NullProgressMonitor());
- fail();
- } catch (IllegalArgumentException expected) {
- //expected
- }
- }
-
- public void testEmptyOperands() {
-
- IProfile profile = createProfile("test");
- PhaseSet phaseSet = new DefaultPhaseSet();
- InstallableUnitOperand[] operands = new InstallableUnitOperand[] {};
- IStatus result = engine.perform(profile, phaseSet, operands, null, new NullProgressMonitor());
- assertTrue(result.isOK());
- }
-
- public void testEmptyPhaseSet() {
-
- IProfile profile = createProfile("testEmptyPhaseSet");
- PhaseSet phaseSet = new PhaseSet(new Phase[] {}) {
- // empty PhaseSet
- };
- InstallableUnitOperand op = new InstallableUnitOperand(createResolvedIU(createIU("name")), null);
- InstallableUnitOperand[] operands = new InstallableUnitOperand[] {op};
- IStatus result = engine.perform(profile, phaseSet, operands, null, new NullProgressMonitor());
- assertTrue(result.isOK());
- }
-
- public void testPerformSingleNullOperand() {
- try {
- new InstallableUnitOperand(null, null);
- fail("Should not allow null operand");
- } catch (RuntimeException e) {
- //expected
- }
- }
-
- public void testPerformInstallOSGiFramework() {
- Map properties = new HashMap();
- properties.put(IProfile.PROP_INSTALL_FOLDER, testProvisioning.getAbsolutePath());
-
- IProfile profile = createProfile("testPerformInstallOSGiFramework", null, properties);
- for (Iterator it = getInstallableUnits(profile); it.hasNext();) {
- PhaseSet phaseSet = new DefaultPhaseSet();
- IInstallableUnit doomed = (IInstallableUnit) it.next();
- InstallableUnitOperand[] operands = new InstallableUnitOperand[] {new InstallableUnitOperand(createResolvedIU(doomed), null)};
- engine.perform(profile, phaseSet, operands, null, new NullProgressMonitor());
- }
- PhaseSet phaseSet = new DefaultPhaseSet();
-
- InstallableUnitOperand[] operands = new InstallableUnitOperand[] {new InstallableUnitOperand(null, createOSGiIU())};
- IStatus result = engine.perform(profile, phaseSet, operands, null, new NullProgressMonitor());
- assertTrue(result.isOK());
- Iterator ius = getInstallableUnits(profile);
- assertTrue(ius.hasNext());
- }
-
- public void testPerformUpdateOSGiFramework() {
-
- Map properties = new HashMap();
- properties.put(IProfile.PROP_INSTALL_FOLDER, testProvisioning.getAbsolutePath());
- IProfile profile = createProfile("testPerformUpdateOSGiFramework", null, properties);
- PhaseSet phaseSet = new DefaultPhaseSet();
- InstallableUnitOperand[] operands = new InstallableUnitOperand[] {new InstallableUnitOperand(createOSGiIU(), createOSGiIU())};
- IStatus result = engine.perform(profile, phaseSet, operands, null, new NullProgressMonitor());
- assertTrue(result.isOK());
- Iterator ius = getInstallableUnits(profile);
- assertTrue(ius.hasNext());
- }
-
- public void testPerformUninstallOSGiFramework() {
-
- Map properties = new HashMap();
- properties.put(IProfile.PROP_INSTALL_FOLDER, testProvisioning.getAbsolutePath());
-
- IProfile profile = createProfile("testPerformUninstallOSGiFramework", null, properties);
- PhaseSet phaseSet = new DefaultPhaseSet();
- InstallableUnitOperand[] operands = new InstallableUnitOperand[] {new InstallableUnitOperand(createOSGiIU(), null)};
- IStatus result = engine.perform(profile, phaseSet, operands, null, new NullProgressMonitor());
- assertTrue(result.isOK());
- assertEmptyProfile(profile);
- }
-
- public void testPerformRollback() {
-
- Map properties = new HashMap();
- properties.put(IProfile.PROP_INSTALL_FOLDER, testProvisioning.getAbsolutePath());
- IProfile profile = createProfile("testPerformRollback", null, properties);
- PhaseSet phaseSet = new DefaultPhaseSet();
-
- Iterator ius = getInstallableUnits(profile);
- assertFalse(ius.hasNext());
-
- InstallableUnitOperand[] operands = new InstallableUnitOperand[] {new InstallableUnitOperand(null, createOSGiIU()), new InstallableUnitOperand(null, createBadIU())};
- IStatus result = engine.perform(profile, phaseSet, operands, null, new NullProgressMonitor());
- assertFalse(result.isOK());
- ius = getInstallableUnits(profile);
- assertFalse(ius.hasNext());
- }
-
- public void testPerformRollbackOnError() {
-
- Map properties = new HashMap();
- properties.put(IProfile.PROP_INSTALL_FOLDER, testProvisioning.getAbsolutePath());
- IProfile profile = createProfile("testPerformRollbackOnError", null, properties);
- PhaseSet phaseSet = new NPEPhaseSet();
-
- Iterator ius = getInstallableUnits(profile);
- assertFalse(ius.hasNext());
-
- InstallableUnitOperand[] operands = new InstallableUnitOperand[] {new InstallableUnitOperand(null, createOSGiIU())};
- IStatus result = engine.perform(profile, phaseSet, operands, null, new NullProgressMonitor());
- assertFalse(result.isOK());
- ius = getInstallableUnits(profile);
- assertFalse(ius.hasNext());
- }
-
- private IInstallableUnit createOSGiIU() {
- InstallableUnitDescription description = new MetadataFactory.InstallableUnitDescription();
- description.setId("org.eclipse.osgi");
- description.setVersion(new Version("3.3.1.R33x_v20070828"));
- description.setTouchpointType(AbstractProvisioningTest.TOUCHPOINT_OSGI);
- Map touchpointData = new HashMap();
- String manifest = "Manifest-Version: 1.0\r\n" + "Bundle-Activator: org.eclipse.osgi.framework.internal.core.SystemBundl\r\n" + " eActivator\r\n" + "Bundle-RequiredExecutionEnvironment: J2SE-1.4,OSGi/Minimum-1.0\r\n" + "Export-Package: org.eclipse.osgi.event;version=\"1.0\",org.eclipse.osgi.\r\n" + " framework.console;version=\"1.0\",org.eclipse.osgi.framework.eventmgr;v\r\n" + " ersion=\"1.0\",org.eclipse.osgi.framework.log;version=\"1.0\",org.eclipse\r\n" + " .osgi.service.datalocation;version=\"1.0\",org.eclipse.osgi.service.deb\r\n" + " ug;version=\"1.0\",org.eclipse.osgi.service.environment;version=\"1.0\",o\r\n" + " rg.eclipse.osgi.service.localization;version=\"1.0\",org.eclipse.osgi.s\r\n" + " ervice.pluginconversion;version=\"1.0\",org.eclipse.osgi.service.resolv\r\n"
- + " er;version=\"1.1\",org.eclipse.osgi.service.runnable;version=\"1.0\",org.\r\n" + " eclipse.osgi.service.urlconversion;version=\"1.0\",org.eclipse.osgi.sto\r\n" + " ragemanager;version=\"1.0\",org.eclipse.osgi.util;version=\"1.0\",org.osg\r\n" + " i.framework;version=\"1.3\",org.osgi.service.condpermadmin;version=\"1.0\r\n" + " \",org.osgi.service.packageadmin;version=\"1.2\",org.osgi.service.permis\r\n" + " sionadmin;version=\"1.2\",org.osgi.service.startlevel;version=\"1.0\",org\r\n" + " .osgi.service.url;version=\"1.0\",org.osgi.util.tracker;version=\"1.3.2\"\r\n" + " ,org.eclipse.core.runtime.adaptor;x-friends:=\"org.eclipse.core.runtim\r\n" + " e\",org.eclipse.core.runtime.internal.adaptor;x-internal:=true,org.ecl\r\n"
- + " ipse.core.runtime.internal.stats;x-friends:=\"org.eclipse.core.runtime\r\n" + " \",org.eclipse.osgi.baseadaptor;x-internal:=true,org.eclipse.osgi.base\r\n" + " adaptor.bundlefile;x-internal:=true,org.eclipse.osgi.baseadaptor.hook\r\n" + " s;x-internal:=true,org.eclipse.osgi.baseadaptor.loader;x-internal:=tr\r\n" + " ue,org.eclipse.osgi.framework.adaptor;x-internal:=true,org.eclipse.os\r\n" + " gi.framework.debug;x-internal:=true,org.eclipse.osgi.framework.intern\r\n" + " al.core;x-internal:=true,org.eclipse.osgi.framework.internal.protocol\r\n" + " ;x-internal:=true,org.eclipse.osgi.framework.internal.protocol.bundle\r\n" + " entry;x-internal:=true,org.eclipse.osgi.framework.internal.protocol.b\r\n"
- + " undleresource;x-internal:=true,org.eclipse.osgi.framework.internal.pr\r\n" + " otocol.reference;x-internal:=true,org.eclipse.osgi.framework.internal\r\n" + " .reliablefile;x-internal:=true,org.eclipse.osgi.framework.launcher;x-\r\n" + " internal:=true,org.eclipse.osgi.framework.util;x-internal:=true,org.e\r\n" + " clipse.osgi.internal.baseadaptor;x-internal:=true,org.eclipse.osgi.in\r\n" + " ternal.module;x-internal:=true,org.eclipse.osgi.internal.profile;x-in\r\n" + " ternal:=true,org.eclipse.osgi.internal.resolver;x-internal:=true,org.\r\n" + " eclipse.osgi.internal.verifier;x-internal:=true,org.eclipse.osgi.inte\r\n" + " rnal.provisional.verifier;x-friends:=\"org.eclipse.update.core,org.ecl\r\n" + " ipse.ui.workbench\"\r\n" + "Bundle-Version: 3.3.0.v20060925\r\n"
- + "Eclipse-SystemBundle: true\r\n" + "Bundle-Copyright: %copyright\r\n" + "Bundle-Name: %systemBundle\r\n" + "Bundle-Description: %systemBundle\r\n" + "Bundle-DocUrl: http://www.eclipse.org\r\n" + "Bundle-ManifestVersion: 2\r\n" + "Export-Service: org.osgi.service.packageadmin.PackageAdmin,org.osgi.se\r\n" + " rvice.permissionadmin.PermissionAdmin,org.osgi.service.startlevel.Sta\r\n" + " rtLevel,org.eclipse.osgi.service.debug.DebugOptions\r\n" + "Bundle-Vendor: %eclipse.org\r\n" + "Main-Class: org.eclipse.core.runtime.adaptor.EclipseStarter\r\n" + "Bundle-SymbolicName: org.eclipse.osgi; singleton:=true\r\n" + "Bundle-Localization: systembundle\r\n" + "Eclipse-ExtensibleAPI: true\r\n" + "\r\n" + "";
- touchpointData.put("manifest", manifest);
- //touchpointData.put("install", "installBundle(bundle:${artifact});");
- //touchpointData.put("uninstall", "uninstallBundle(bundle:${artifact});");
-
- IInstallableUnitFragment[] cus = new IInstallableUnitFragment[1];
- InstallableUnitFragmentDescription desc = new InstallableUnitFragmentDescription();
- desc.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
- IInstallableUnitFragment fragment = MetadataFactory.createInstallableUnitFragment(desc);
- cus[0] = fragment;
-
- //IArtifactKey key = new ArtifactKey("eclipse", "plugin", "org.eclipse.osgi", new Version("3.3.1.R33x_v20070828"));
- //iu.setArtifacts(new IArtifactKey[] {key});
-
- IInstallableUnit iu = MetadataFactory.createInstallableUnit(description);
- return MetadataFactory.createResolvedInstallableUnit(iu, cus);
- }
-
- private IInstallableUnit createBadIU() {
- InstallableUnitDescription description = new MetadataFactory.InstallableUnitDescription();
- description.setId("org.eclipse.osgi.bad");
- description.setVersion(new Version("3.3.1.R33x_v20070828"));
- description.setTouchpointType(AbstractProvisioningTest.TOUCHPOINT_OSGI);
- Map touchpointData = new HashMap();
- String manifest = "Manifest-Version: 1.0\r\n" + "Bundle-Activator: org.eclipse.osgi.framework.internal.core.SystemBundl\r\n" + " eActivator\r\n" + "Bundle-RequiredExecutionEnvironment: J2SE-1.4,OSGi/Minimum-1.0\r\n" + "Export-Package: org.eclipse.osgi.event;version=\"1.0\",org.eclipse.osgi.\r\n" + " framework.console;version=\"1.0\",org.eclipse.osgi.framework.eventmgr;v\r\n" + " ersion=\"1.0\",org.eclipse.osgi.framework.log;version=\"1.0\",org.eclipse\r\n" + " .osgi.service.datalocation;version=\"1.0\",org.eclipse.osgi.service.deb\r\n" + " ug;version=\"1.0\",org.eclipse.osgi.service.environment;version=\"1.0\",o\r\n" + " rg.eclipse.osgi.service.localization;version=\"1.0\",org.eclipse.osgi.s\r\n" + " ervice.pluginconversion;version=\"1.0\",org.eclipse.osgi.service.resolv\r\n"
- + " er;version=\"1.1\",org.eclipse.osgi.service.runnable;version=\"1.0\",org.\r\n" + " eclipse.osgi.service.urlconversion;version=\"1.0\",org.eclipse.osgi.sto\r\n" + " ragemanager;version=\"1.0\",org.eclipse.osgi.util;version=\"1.0\",org.osg\r\n" + " i.framework;version=\"1.3\",org.osgi.service.condpermadmin;version=\"1.0\r\n" + " \",org.osgi.service.packageadmin;version=\"1.2\",org.osgi.service.permis\r\n" + " sionadmin;version=\"1.2\",org.osgi.service.startlevel;version=\"1.0\",org\r\n" + " .osgi.service.url;version=\"1.0\",org.osgi.util.tracker;version=\"1.3.2\"\r\n" + " ,org.eclipse.core.runtime.adaptor;x-friends:=\"org.eclipse.core.runtim\r\n" + " e\",org.eclipse.core.runtime.internal.adaptor;x-internal:=true,org.ecl\r\n"
- + " ipse.core.runtime.internal.stats;x-friends:=\"org.eclipse.core.runtime\r\n" + " \",org.eclipse.osgi.baseadaptor;x-internal:=true,org.eclipse.osgi.base\r\n" + " adaptor.bundlefile;x-internal:=true,org.eclipse.osgi.baseadaptor.hook\r\n" + " s;x-internal:=true,org.eclipse.osgi.baseadaptor.loader;x-internal:=tr\r\n" + " ue,org.eclipse.osgi.framework.adaptor;x-internal:=true,org.eclipse.os\r\n" + " gi.framework.debug;x-internal:=true,org.eclipse.osgi.framework.intern\r\n" + " al.core;x-internal:=true,org.eclipse.osgi.framework.internal.protocol\r\n" + " ;x-internal:=true,org.eclipse.osgi.framework.internal.protocol.bundle\r\n" + " entry;x-internal:=true,org.eclipse.osgi.framework.internal.protocol.b\r\n"
- + " undleresource;x-internal:=true,org.eclipse.osgi.framework.internal.pr\r\n" + " otocol.reference;x-internal:=true,org.eclipse.osgi.framework.internal\r\n" + " .reliablefile;x-internal:=true,org.eclipse.osgi.framework.launcher;x-\r\n" + " internal:=true,org.eclipse.osgi.framework.util;x-internal:=true,org.e\r\n" + " clipse.osgi.internal.baseadaptor;x-internal:=true,org.eclipse.osgi.in\r\n" + " ternal.module;x-internal:=true,org.eclipse.osgi.internal.profile;x-in\r\n" + " ternal:=true,org.eclipse.osgi.internal.resolver;x-internal:=true,org.\r\n" + " eclipse.osgi.internal.verifier;x-internal:=true,org.eclipse.osgi.inte\r\n" + " rnal.provisional.verifier;x-friends:=\"org.eclipse.update.core,org.ecl\r\n" + " ipse.ui.workbench\"\r\n" + "Bundle-Version: 3.3.0.v20060925\r\n"
- + "Eclipse-SystemBundle: true\r\n" + "Bundle-Copyright: %copyright\r\n" + "Bundle-Name: %systemBundle\r\n" + "Bundle-Description: %systemBundle\r\n" + "Bundle-DocUrl: http://www.eclipse.org\r\n" + "Bundle-ManifestVersion: 2\r\n" + "Export-Service: org.osgi.service.packageadmin.PackageAdmin,org.osgi.se\r\n" + " rvice.permissionadmin.PermissionAdmin,org.osgi.service.startlevel.Sta\r\n" + " rtLevel,org.eclipse.osgi.service.debug.DebugOptions\r\n" + "Bundle-Vendor: %eclipse.org\r\n" + "Main-Class: org.eclipse.core.runtime.adaptor.EclipseStarter\r\n" + "Bundle-SymbolicName: org.eclipse.osgi; singleton:=true\r\n" + "Bundle-Localization: systembundle\r\n" + "Eclipse-ExtensibleAPI: true\r\n" + "\r\n" + "";
- touchpointData.put("manifest", manifest);
- touchpointData.put("install", "BAD");
-
- IInstallableUnitFragment[] cus = new IInstallableUnitFragment[1];
- InstallableUnitFragmentDescription desc = new InstallableUnitFragmentDescription();
- desc.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
- cus[0] = MetadataFactory.createInstallableUnitFragment(desc);
-
- //IArtifactKey key = new ArtifactKey("eclipse", "plugin", "org.eclipse.osgi", new Version("3.3.1.R33x_v20070828"));
- //iu.setArtifacts(new IArtifactKey[] {key});
-
- IInstallableUnit iu = MetadataFactory.createInstallableUnit(description);
- return MetadataFactory.createResolvedInstallableUnit(iu, cus);
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/ParameterizedProvisioningActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/ParameterizedProvisioningActionTest.java
deleted file mode 100644
index ad29378..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/ParameterizedProvisioningActionTest.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.engine;
-
-import java.util.HashMap;
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.engine.ParameterizedProvisioningAction;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningAction;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class ParameterizedProvisioningActionTest extends AbstractProvisioningTest {
-
- boolean passTest = false;
- String value;
- ProvisioningAction action = new ProvisioningAction() {
-
- public IStatus execute(Map parameters) {
- value = (String) parameters.get("test");
- return null;
- }
-
- public IStatus undo(Map parameters) {
- return null;
- }
- };
-
- public ParameterizedProvisioningActionTest(String name) {
- super(name);
- }
-
- public void testBasicParameter() {
- value = null;
-
- Map actionParameters = new HashMap();
- actionParameters.put("test", "testValue");
-
- Map phaseParameters = new HashMap();
- ParameterizedProvisioningAction pAction = new ParameterizedProvisioningAction(action, actionParameters);
- pAction.execute(phaseParameters);
-
- assertEquals("testValue", value);
- }
-
- public void testVariableParameter() {
- passTest = false;
-
- Map actionParameters = new HashMap();
- actionParameters.put("test", "test${variable}");
-
- Map phaseParameters = new HashMap();
- phaseParameters.put("variable", "Value");
- ParameterizedProvisioningAction pAction = new ParameterizedProvisioningAction(action, actionParameters);
- pAction.execute(phaseParameters);
- assertEquals("testValue", value);
- }
-
- public void testEscapedCharacterParameter() {
- passTest = false;
-
- Map actionParameters = new HashMap();
- actionParameters.put("test", "testV${#97}lue");
-
- Map phaseParameters = new HashMap();
- phaseParameters.put("variable", "Value");
-
- ParameterizedProvisioningAction pAction = new ParameterizedProvisioningAction(action, actionParameters);
- pAction.execute(phaseParameters);
- assertEquals("testValue", value);
- }
-
- public void testOutOfRangeEscapedCharacterParameter() {
- passTest = false;
-
- Map actionParameters = new HashMap();
- actionParameters.put("test", "${#999999999999999999999999999999999999999999999}");
-
- Map phaseParameters = new HashMap();
- phaseParameters.put("variable", "Value");
-
- ParameterizedProvisioningAction pAction = new ParameterizedProvisioningAction(action, actionParameters);
- pAction.execute(phaseParameters);
- assertEquals("", value);
- }
-
- public void testLargerThanCharEscapedCharacterParameter() {
- passTest = false;
-
- Map actionParameters = new HashMap();
- actionParameters.put("test", "testV${#65633}lue"); // #65633 should be "a" if we allow overflow but we do not so null
-
- Map phaseParameters = new HashMap();
- phaseParameters.put("variable", "Value");
-
- ParameterizedProvisioningAction pAction = new ParameterizedProvisioningAction(action, actionParameters);
- pAction.execute(phaseParameters);
- assertEquals("testVlue", value);
- }
-
- public void testNegativeOutOfRangeCharEscapedCharacterParameter() {
- passTest = false;
-
- Map actionParameters = new HashMap();
- actionParameters.put("test", "testV${#-65439}lue"); // #65633 should be "a" if we allow underflow but we do not so null
-
- Map phaseParameters = new HashMap();
- phaseParameters.put("variable", "Value");
-
- ParameterizedProvisioningAction pAction = new ParameterizedProvisioningAction(action, actionParameters);
- pAction.execute(phaseParameters);
- assertEquals("testVlue", value);
- }
-
- public void testNotNumberEscapedCharacterParameter() {
- passTest = false;
-
- Map actionParameters = new HashMap();
- actionParameters.put("test", "${#xFFFF}");
-
- Map phaseParameters = new HashMap();
- phaseParameters.put("variable", "Value");
-
- ParameterizedProvisioningAction pAction = new ParameterizedProvisioningAction(action, actionParameters);
- pAction.execute(phaseParameters);
- assertEquals("", value);
- }
-
- public void testNaughtyEscapedCharactersParameter() {
- passTest = false;
-
- Map actionParameters = new HashMap();
- actionParameters.put("test", "${#36} ${#44} ${#58} ${#59} ${#123} ${#125}");
-
- Map phaseParameters = new HashMap();
- phaseParameters.put("variable", "Value");
-
- ParameterizedProvisioningAction pAction = new ParameterizedProvisioningAction(action, actionParameters);
- pAction.execute(phaseParameters);
- assertEquals("$ , : ; { }", value);
- }
-
- public void testNullCharEscapedCharactersParameter() {
- passTest = false;
-
- Map actionParameters = new HashMap();
- actionParameters.put("test", "a${#0}b");
-
- Map phaseParameters = new HashMap();
- phaseParameters.put("variable", "Value");
-
- ParameterizedProvisioningAction pAction = new ParameterizedProvisioningAction(action, actionParameters);
- pAction.execute(phaseParameters);
- assertEquals("a\0b", value);
- }
-
- public void testMaxCharEscapedCharactersParameter() {
- passTest = false;
-
- Map actionParameters = new HashMap();
- actionParameters.put("test", "a${#65535}b");
-
- Map phaseParameters = new HashMap();
- phaseParameters.put("variable", "Value");
-
- ParameterizedProvisioningAction pAction = new ParameterizedProvisioningAction(action, actionParameters);
- pAction.execute(phaseParameters);
- assertEquals("a\uFFFFb", value);
- }
-
- public void testOverMaxCharEscapedCharactersParameter() {
- passTest = false;
-
- Map actionParameters = new HashMap();
- actionParameters.put("test", "a${#65536}b");
-
- Map phaseParameters = new HashMap();
- phaseParameters.put("variable", "Value");
-
- ParameterizedProvisioningAction pAction = new ParameterizedProvisioningAction(action, actionParameters);
- pAction.execute(phaseParameters);
- assertEquals("ab", value);
- }
-
- public void testUnderMinCharEscapedCharactersParameter() {
- passTest = false;
-
- Map actionParameters = new HashMap();
- actionParameters.put("test", "a${#-1}b");
-
- Map phaseParameters = new HashMap();
- phaseParameters.put("variable", "Value");
-
- ParameterizedProvisioningAction pAction = new ParameterizedProvisioningAction(action, actionParameters);
- pAction.execute(phaseParameters);
- assertEquals("ab", value);
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/PhaseSetTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/PhaseSetTest.java
deleted file mode 100644
index 4850904..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/PhaseSetTest.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.engine;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-/**
- * Simple test of the engine API.
- */
-public class PhaseSetTest extends AbstractProvisioningTest {
- public PhaseSetTest(String name) {
- super(name);
- }
-
- public PhaseSetTest() {
- super("");
- }
-
- public void testNullPhases() {
- try {
- new PhaseSet(null) {
- // empty PhaseSet
- };
- } catch (IllegalArgumentException exepcted) {
- return;
- }
- fail();
- }
-
- public void testNoTrustCheck() {
- PhaseSet set1 = new DefaultPhaseSet();
- PhaseSet set2 = DefaultPhaseSet.createDefaultPhaseSet(DefaultPhaseSet.PHASE_CHECK_TRUST);
- assertTrue("1.0", !set1.equals(set2));
- }
-
- public void testEmptyPhases() {
- IProfile profile = createProfile("PhaseSetTest");
- PhaseSet phaseSet = new PhaseSet(new Phase[] {}) {
- // empty PhaseSet
- };
- InstallableUnitOperand op = new InstallableUnitOperand(createResolvedIU(createIU("iu")), null);
- InstallableUnitOperand[] operands = new InstallableUnitOperand[] {op};
-
- ProvisioningContext context = new ProvisioningContext();
- IStatus result = phaseSet.perform(new EngineSession(profile, context), profile, operands, context, new NullProgressMonitor());
- assertTrue(result.isOK());
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/PhaseTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/PhaseTest.java
deleted file mode 100644
index cabd2f4..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/PhaseTest.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.engine;
-
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.osgi.framework.ServiceReference;
-
-/**
- * Simple test of the engine API.
- */
-public class PhaseTest extends AbstractProvisioningTest {
- public static class TestPhaseSet extends PhaseSet {
-
- public TestPhaseSet() {
- super(new Phase[] {new TestPhase()});
- }
-
- public TestPhaseSet(Phase phase) {
- super(new Phase[] {phase});
- }
-
- public TestPhaseSet(Phase[] phases) {
- super(phases);
- }
- }
-
- public static class TestPhase extends InstallableUnitPhase {
-
- boolean completeOperand;
- boolean getAction;
- boolean initializeOperand;
- boolean completePhase;
- boolean initializePhase;
-
- protected TestPhase() {
- super("test", 1);
- }
-
- protected TestPhase(String phaseId, int weight) {
- super(phaseId, weight);
- }
-
- protected IStatus completeOperand(IProfile profile, InstallableUnitOperand operand, Map parameters, IProgressMonitor monitor) {
- completeOperand = true;
- return super.completeOperand(profile, operand, parameters, monitor);
- }
-
- protected IStatus initializeOperand(IProfile profile, InstallableUnitOperand operand, Map parameters, IProgressMonitor monitor) {
- initializeOperand = true;
- return super.initializeOperand(profile, operand, parameters, monitor);
- }
-
- protected IStatus completeInstallableUnitPhase(IProgressMonitor monitor, IProfile profile, Map parameters) {
- completePhase = true;
- return super.completeInstallableUnitPhase(monitor, profile, parameters);
- }
-
- protected IStatus initializeInstallableUnitPhase(IProgressMonitor monitor, IProfile profile, Map parameters) {
- initializePhase = true;
- return super.initializeInstallableUnitPhase(monitor, profile, parameters);
- }
-
- protected ProvisioningAction[] getActions(InstallableUnitOperand operand) {
- return null;
- }
- }
-
- private ServiceReference engineRef;
- private IEngine engine;
-
- public PhaseTest(String name) {
- super(name);
- }
-
- public PhaseTest() {
- super("");
- }
-
- protected void setUp() throws Exception {
- engineRef = TestActivator.getContext().getServiceReference(IEngine.SERVICE_NAME);
- engine = (IEngine) TestActivator.getContext().getService(engineRef);
- }
-
- protected void tearDown() throws Exception {
- super.tearDown();
- engine = null;
- TestActivator.getContext().ungetService(engineRef);
- }
-
- public void testNullPhaseId() {
- try {
- new TestPhase(null, 1);
- } catch (IllegalArgumentException expected) {
- return;
- }
- fail();
- }
-
- public void testEmptyPhaseId() {
- try {
- new TestPhase("", 1);
- } catch (IllegalArgumentException expected) {
- return;
- }
- fail();
- }
-
- public void testNegativeWeight() {
- try {
- new TestPhase("xyz", -1);
- } catch (IllegalArgumentException expected) {
- return;
- }
- fail();
- }
-
- public void testZeroWeight() {
- try {
- new TestPhase("xyz", 0);
- } catch (IllegalArgumentException expected) {
- return;
- }
- fail();
- }
-
- public void testPerform() {
- PhaseSet phaseSet = new TestPhaseSet();
- IProfile profile = createProfile("PhaseTest");
-
- engine.perform(profile, phaseSet, new InstallableUnitOperand[0], null, new NullProgressMonitor());
- }
-
- public void testInitCompletePhase() {
- TestPhase phase = new TestPhase() {
- protected IStatus initializePhase(IProgressMonitor monitor, IProfile profile, Map parameters) {
- assertFalse(initializePhase);
- assertFalse(completePhase);
- super.initializePhase(monitor, profile, parameters);
- assertTrue(initializePhase);
- assertFalse(completePhase);
- return null;
- }
-
- protected IStatus completePhase(IProgressMonitor monitor, IProfile profile, Map parameters) {
- assertTrue(initializePhase);
- assertFalse(completePhase);
- super.completePhase(monitor, profile, parameters);
- assertTrue(initializePhase);
- assertTrue(completePhase);
- return null;
- }
- };
- PhaseSet phaseSet = new TestPhaseSet(phase);
- IProfile profile = createProfile("PhaseTest");
- IInstallableUnit unit = createIU("unit");
- engine.perform(profile, phaseSet, new InstallableUnitOperand[] {new InstallableUnitOperand(null, unit)}, null, new NullProgressMonitor());
- assertTrue(phase.initializePhase);
- assertTrue(phase.completePhase);
- }
-
- public void testInitCompleteOperand() {
- TestPhase phase = new TestPhase() {
- protected IStatus completeOperand(IProfile profile, Operand operand, Map parameters, IProgressMonitor monitor) {
- assertTrue(initializeOperand);
- assertFalse(completeOperand);
- super.completeOperand(profile, operand, parameters, monitor);
- assertTrue(initializeOperand);
- assertTrue(completeOperand);
- return null;
- }
-
- protected IStatus initializeOperand(IProfile profile, Operand operand, Map parameters, IProgressMonitor monitor) {
- assertFalse(initializeOperand);
- assertFalse(completeOperand);
- super.initializeOperand(profile, operand, parameters, monitor);
- assertTrue(initializeOperand);
- assertFalse(completeOperand);
- return null;
- }
- };
- PhaseSet phaseSet = new TestPhaseSet(phase);
- IProfile profile = createProfile("PhaseTest");
- IInstallableUnit unit = createIU("testInitCompleteOperand");
-
- engine.perform(profile, phaseSet, new InstallableUnitOperand[] {new InstallableUnitOperand(null, unit)}, null, new NullProgressMonitor());
- assertTrue(phase.initializeOperand);
- assertTrue(phase.completeOperand);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/ProfileRegistryTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/ProfileRegistryTest.java
deleted file mode 100644
index 224e843..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/ProfileRegistryTest.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.engine;
-
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfileRegistry;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.osgi.framework.ServiceReference;
-
-/**
- * Simple test of the engine API.
- */
-public class ProfileRegistryTest extends AbstractProvisioningTest {
- private static final String PROFILE_NAME = "ProfileRegistryTest.profile";
- private IProfileRegistry registry;
- private ServiceReference registryRef;
-
- public ProfileRegistryTest() {
- super("");
- }
-
- public ProfileRegistryTest(String name) {
- super(name);
- }
-
- protected void getServices() {
- registryRef = TestActivator.getContext().getServiceReference(IProfileRegistry.class.getName());
- registry = (IProfileRegistry) TestActivator.getContext().getService(registryRef);
- }
-
- private void restart() {
- try {
- ungetServices();
- TestActivator.getBundle("org.eclipse.equinox.p2.exemplarysetup").stop();
- TestActivator.getBundle("org.eclipse.equinox.p2.exemplarysetup").start();
- getServices();
- } catch (Exception e) {
- fail();
- e.printStackTrace();
- }
- }
-
- protected void setUp() throws Exception {
- getServices();
- //ensure we start in a clean state
- registry.removeProfile(PROFILE_NAME);
- }
-
- protected void tearDown() throws Exception {
- super.tearDown();
- ungetServices();
- }
-
- public void testAddRemoveProfile() {
- assertNull(registry.getProfile(PROFILE_NAME));
- IProfile test = createProfile(PROFILE_NAME);
- assertEquals(test.getProfileId(), registry.getProfile(PROFILE_NAME).getProfileId());
- registry.removeProfile(PROFILE_NAME);
- assertNull(registry.getProfile(PROFILE_NAME));
- }
-
- public void testPeristence() {
- assertNull(registry.getProfile(PROFILE_NAME));
- IProfile test = createProfile(PROFILE_NAME);
- assertEquals(test.getProfileId(), registry.getProfile(PROFILE_NAME).getProfileId());
-
- restart();
- test = registry.getProfile(PROFILE_NAME);
- assertNotNull(test);
- registry.removeProfile(PROFILE_NAME);
-
- restart();
- assertNull(registry.getProfile(PROFILE_NAME));
- }
-
- private void ungetServices() {
- registry = null;
- TestActivator.getContext().ungetService(registryRef);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/ProfileTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/ProfileTest.java
deleted file mode 100644
index b4b29b4..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/ProfileTest.java
+++ /dev/null
@@ -1,462 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.engine;
-
-import java.io.*;
-import java.util.*;
-import java.util.Map.Entry;
-import javax.xml.parsers.ParserConfigurationException;
-import org.eclipse.equinox.internal.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.Version;
-import org.xml.sax.*;
-
-/**
- * Simple test of the engine API.
- */
-public class ProfileTest extends AbstractProvisioningTest {
-
- public ProfileTest(String name) {
- super(name);
- }
-
- public ProfileTest() {
- super("");
- }
-
- public void testNullProfile() {
- try {
- createProfile(null);
- } catch (IllegalArgumentException expected) {
- return;
- }
- fail();
- }
-
- public void testEmptyProfile() {
- try {
- createProfile("");
- } catch (IllegalArgumentException expected) {
- return;
- }
- fail();
- }
-
- public void testNestedProfileStructure() {
- IProfile parent = createProfile("parent");
- IProfile child = createProfile("child", "parent");
- parent = getProfile("parent");
- assertTrue("Parentless profile should be a root.", parent.isRootProfile());
- assertFalse("Child profile should not be a root.", child.isRootProfile());
- assertTrue("Parent should be parent of child", child.getParentProfile().getProfileId().equals(parent.getProfileId()));
- assertTrue("Parent should have one child.", parent.getSubProfileIds().length == 1);
- assertTrue("Child should have no children.", child.getSubProfileIds().length == 0);
-
- IProfile grandchild = createProfile("grand", "child");
- child = getProfile("child");
- assertFalse("Grandchild profile should not be a root.", grandchild.isRootProfile());
- assertTrue("Parent should have one child.", parent.getSubProfileIds().length == 1);
- assertTrue("Child should have one child.", child.getSubProfileIds().length == 1);
- assertTrue("Grandparent of grandchild should be parent of child.", grandchild.getParentProfile().getParentProfile().getProfileId().equals(parent.getProfileId()));
- }
-
- /* The test profile has the following structure and properties where
- * id{x,y} indicates a profile with id "id" and properties defined
- * with keys "x" and "y"
- *
- * grandchild00{foo}
- * /
- * /
- * child0{foo} | --- grandchild01{}
- * / \
- * / \
- * / grandchild01{bar}
- * parent{foo,bar} |
- * \ grandchild10{foo}
- * \ /
- * child1{} |
- * \
- * grandchild11{}
- *
- */
- private static String parentId = "parent";
- private static String child0Id = "child0";
- private static String grandchild00Id = "grand00";
- private static String grandchild01Id = "grand01";
- private static String grandchild02Id = "grand02";
- private static String child1Id = "child1";
- private static String grandchild10Id = "grand10";
- private static String grandchild11Id = "grand11";
-
- private static String key = "org.eclipse.p2.foo";
- private static String parentValue = "parent";
- private static String child0Value = "child0";
- private static String grandchild00Value = "grandchild00";
- private static String grandchild02Value = "grandchild02";
- private static String grandchild10Value = "grandchild10";
- private static String otherKey = "org.eclipse.p2.bar";
- private static String otherValue = "other";
-
- // Create the profiles and test get after set
- // for associated properties.
- private IProfile[] createTestProfiles() {
-
- Map properties = new HashMap();
-
- properties.put(key, parentValue);
- properties.put(otherKey, otherValue);
- IProfile parent = createProfile(parentId, null, properties);
- properties.clear();
- assertTrue(parentValue.equals(parent.getProperty(key)));
- assertTrue(otherValue.equals(parent.getProperty(otherKey)));
-
- properties.put(key, child0Value);
- IProfile child0 = createProfile(child0Id, parentId, properties);
- properties.clear();
- assertTrue(child0Value.equals(child0.getProperty(key)));
-
- IProfile child1 = createProfile(child1Id, parentId, properties);
- // no value in child1
-
- properties.put(key, grandchild00Value);
- IProfile grandchild00 = createProfile(grandchild00Id, child0Id, properties);
- properties.clear();
- assertTrue(grandchild00Value.equals(grandchild00.getProperty(key)));
-
- IProfile grandchild01 = createProfile(grandchild01Id, child0Id);
- // no value in grandchild01
-
- properties.put(otherKey, grandchild02Value);
- IProfile grandchild02 = createProfile(grandchild02Id, child0Id, properties);
- properties.clear();
- assertTrue(grandchild02Value.equals(grandchild02.getProperty(otherKey)));
-
- properties.put(key, grandchild10Value);
- IProfile grandchild10 = createProfile(grandchild10Id, child1Id, properties);
- properties.clear();
- assertTrue(grandchild10Value.equals(grandchild10.getProperty(key)));
-
- IProfile grandchild11 = createProfile(grandchild11Id, child1Id);
- // no value in grandchild11
-
- parent = getProfile(parentId);
- child0 = getProfile(child0Id);
- child1 = getProfile(child1Id);
- grandchild00 = getProfile(grandchild00Id);
- grandchild01 = getProfile(grandchild01Id);
- grandchild02 = getProfile(grandchild02Id);
- grandchild10 = getProfile(grandchild10Id);
- grandchild11 = getProfile(grandchild11Id);
-
- IProfile[] profiles = {parent, child0, child1, grandchild00, grandchild01, grandchild02, grandchild10, grandchild11};
- return profiles;
- }
-
- public void testNestedProfileProperties() {
- validateProfiles(createTestProfiles());
- }
-
- public void validateProfiles(IProfile[] profiles) {
- IProfile parent = profiles[0];
- IProfile child0 = profiles[1];
- IProfile child1 = profiles[2];
- IProfile grandchild00 = profiles[3];
- IProfile grandchild01 = profiles[4];
- IProfile grandchild02 = profiles[5];
- IProfile grandchild10 = profiles[6];
- IProfile grandchild11 = profiles[7];
-
- assertTrue(parentId.equals(parent.getProfileId()));
- assertTrue("Profile should have 3 local properties", parent.getLocalProperties().size() == 2);
- assertTrue(parentValue.equals(parent.getProperty(key)));
- assertTrue(otherValue.equals(parent.getProperty(otherKey)));
- assertTrue("Parent should have 2 children.", parent.getSubProfileIds().length == 2);
-
- assertTrue(child0Id.equals(child0.getProfileId()));
- assertTrue("First Child should have 1 local properties.", child0.getLocalProperties().size() == 1);
- assertTrue(child0Value.equals(child0.getProperty(key)));
- assertTrue(otherValue.equals(child0.getProperty(otherKey)));
- assertTrue("First Child should have 3 children.", child0.getSubProfileIds().length == 3);
-
- assertTrue(child1Id.equals(child1.getProfileId()));
- assertTrue("Second Child should have 0 local properties.", child1.getLocalProperties().size() == 0);
- assertTrue(parentValue.equals(child1.getProperty(key)));
- assertTrue(otherValue.equals(child1.getProperty(otherKey)));
- assertTrue("Second Child should have 2 children.", child1.getSubProfileIds().length == 2);
-
- assertTrue(grandchild00Id.equals(grandchild00.getProfileId()));
- assertTrue("First Grandchild of first Child should have 1 property.", grandchild00.getLocalProperties().size() == 1);
- assertTrue(grandchild00Value.equals(grandchild00.getProperty(key)));
- assertTrue(otherValue.equals(grandchild00.getProperty(otherKey)));
-
- assertTrue(grandchild01Id.equals(grandchild01.getProfileId()));
- assertTrue("Second Grandchild of first Child should have 0 properties.", grandchild01.getLocalProperties().size() == 0);
- assertTrue(child0Value.equals(grandchild01.getProperty(key)));
- assertTrue(otherValue.equals(grandchild01.getProperty(otherKey)));
-
- assertTrue(grandchild02Id.equals(grandchild02.getProfileId()));
- assertTrue("Third Grandchild of first Child should have 1 property.", grandchild02.getLocalProperties().size() == 1);
- assertTrue(child0Value.equals(grandchild02.getProperty(key)));
- assertTrue(grandchild02Value.equals(grandchild02.getProperty(otherKey)));
-
- assertTrue(grandchild10Id.equals(grandchild10.getProfileId()));
- assertTrue("First Grandchild of second Child should have 1 property.", grandchild10.getLocalProperties().size() == 1);
- assertTrue(grandchild10Value.equals(grandchild10.getProperty(key)));
- assertTrue(otherValue.equals(grandchild10.getProperty(otherKey)));
-
- assertTrue(grandchild11Id.equals(grandchild11.getProfileId()));
- assertTrue("Second Grandchild of second Child should have 0 properties.", grandchild11.getLocalProperties().size() == 0);
- assertTrue(parentValue.equals(grandchild11.getProperty(key)));
- assertTrue(otherValue.equals(grandchild11.getProperty(otherKey)));
- }
-
- private static String PROFILE_TEST_TARGET = "profileTest";
- private static Version PROFILE_TEST_VERSION = new Version("0.0.1");
-
- private static String PROFILE_TEST_ELEMENT = "test";
- public static final String PROFILES_ELEMENT = "profiles"; //$NON-NLS-1$
-
- class ProfileStringWriter extends ProfileWriter {
-
- public ProfileStringWriter(ByteArrayOutputStream stream) throws IOException {
- super(stream, new ProcessingInstruction[] {ProcessingInstruction.makeClassVersionInstruction(PROFILE_TEST_TARGET, Profile.class, PROFILE_TEST_VERSION)});
- }
-
- public void writeTest(IProfile[] profiles) {
- start(PROFILE_TEST_ELEMENT);
- writeProfiles(profiles);
- end(PROFILE_TEST_ELEMENT);
- flush();
- }
-
- public void writeProfiles(IProfile[] profiles) {
- if (profiles.length > 0) {
- start(PROFILES_ELEMENT);
- attribute(COLLECTION_SIZE_ATTRIBUTE, profiles.length);
- for (int i = 0; i < profiles.length; i++) {
- writeProfile(profiles[i]);
- }
- end(PROFILES_ELEMENT);
- }
- }
- }
-
- class ProfileStringParser extends ProfileParser {
-
- private IProfile[] profiles = null;
-
- public ProfileStringParser(BundleContext context, String bundleId) {
- super(context, bundleId);
- }
-
- public void parse(String profileString) throws IOException {
- this.status = null;
- try {
- getParser();
- TestHandler testHandler = new TestHandler();
- xmlReader.setContentHandler(new ProfileDocHandler(PROFILE_TEST_ELEMENT, testHandler));
- xmlReader.parse(new InputSource(new StringReader(profileString)));
- if (isValidXML()) {
- profiles = testHandler.profiles;
- }
- } catch (SAXException e) {
- throw new IOException(e.getMessage());
- } catch (ParserConfigurationException e) {
- fail();
- }
- }
-
- private final class ProfileDocHandler extends DocHandler {
-
- public ProfileDocHandler(String rootName, RootHandler rootHandler) {
- super(rootName, rootHandler);
- }
-
- public void processingInstruction(String target, String data) throws SAXException {
- if (PROFILE_TEST_TARGET.equals(target)) {
- String clazz = extractPIClass(data);
- try {
- if (!Class.forName(clazz).equals(Profile.class)) {
- throw new SAXException("Wrong class '" + clazz + "' in processing instruction"); //$NON-NLS-1$//$NON-NLS-2$
- }
- } catch (ClassNotFoundException e) {
- throw new SAXException("Profile class '" + clazz + "' not found"); //$NON-NLS-1$//$NON-NLS-2$
- }
-
- Version profileTestVersion = extractPIVersion(target, data);
- if (!PROFILE_TEST_VERSION.equals(profileTestVersion)) {
- throw new SAXException("Bad profile test version.");
- }
- }
- }
- }
-
- private final class TestHandler extends RootHandler {
-
- private ProfilesHandler profilesHandler;
- IProfile[] profiles;
-
- protected void handleRootAttributes(Attributes attributes) {
- }
-
- public void startElement(String name, Attributes attributes) throws SAXException {
- if (PROFILES_ELEMENT.equals(name)) {
- if (profilesHandler == null) {
- profilesHandler = new ProfilesHandler(this, attributes);
- } else {
- duplicateElement(this, name, attributes);
- }
- } else {
- invalidElement(name, attributes);
- }
- }
-
- protected void finished() {
- if (isValidXML()) {
- if (profilesHandler != null) {
- profiles = profilesHandler.getProfiles();
- }
- }
- }
-
- }
-
- protected class ProfilesHandler extends AbstractHandler {
-
- private final Map profileHandlers;
-
- public ProfilesHandler(AbstractHandler parentHandler, Attributes attributes) {
- super(parentHandler, PROFILES_ELEMENT);
- String size = parseOptionalAttribute(attributes, COLLECTION_SIZE_ATTRIBUTE);
- profileHandlers = (size != null ? new HashMap(new Integer(size).intValue()) : new HashMap(4));
- }
-
- public IProfile[] getProfiles() {
- if (profileHandlers.isEmpty())
- return new IProfile[0];
-
- Map profileMap = new LinkedHashMap();
- for (Iterator it = profileHandlers.keySet().iterator(); it.hasNext();) {
- String profileId = (String) it.next();
- addProfile(profileId, profileMap);
- }
-
- return (IProfile[]) profileMap.values().toArray(new IProfile[profileMap.size()]);
- }
-
- private void addProfile(String profileId, Map profileMap) {
- if (profileMap.containsKey(profileId))
- return;
-
- ProfileHandler profileHandler = (ProfileHandler) profileHandlers.get(profileId);
- Profile parentProfile = null;
-
- String parentId = profileHandler.getParentId();
- if (parentId != null) {
- addProfile(parentId, profileMap);
- parentProfile = (Profile) profileMap.get(parentId);
- }
-
- Profile profile = new Profile(profileId, parentProfile, profileHandler.getProperties());
- profile.setTimestamp(profileHandler.getTimestamp());
- IInstallableUnit[] ius = profileHandler.getInstallableUnits();
- if (ius != null) {
- for (int i = 0; i < ius.length; i++) {
- IInstallableUnit iu = ius[i];
- profile.addInstallableUnit(iu);
- Map iuProperties = profileHandler.getIUProperties(iu);
- if (iuProperties != null) {
- for (Iterator it = iuProperties.entrySet().iterator(); it.hasNext();) {
- Entry entry = (Entry) it.next();
- String key = (String) entry.getKey();
- String value = (String) entry.getValue();
- profile.setInstallableUnitProperty(iu, key, value);
- }
- }
- }
- }
- profileMap.put(profileId, profile);
- }
-
- public void startElement(String name, Attributes attributes) {
- if (name.equals(PROFILE_ELEMENT)) {
- new ProfilesProfileHandler(this, attributes, profileHandlers);
- } else {
- invalidElement(name, attributes);
- }
- }
- }
-
- public class ProfilesProfileHandler extends ProfileHandler {
- private final Map profileHandlers;
-
- public ProfilesProfileHandler(ProfilesHandler profilesHandler, Attributes attributes, Map profileHandlers) {
- this.profileHandlers = profileHandlers;
- this.parentHandler = profilesHandler;
- xmlReader.setContentHandler(this);
- handleRootAttributes(attributes);
- }
-
- protected void finished() {
- if (isValidXML()) {
- profileHandlers.put(getProfileId(), this);
- }
- }
- }
-
- protected String getErrorMessage() {
- return "Error parsing profile string";
- }
-
- protected Object getRootObject() {
- Map result = new HashMap();
- for (int i = 0; i < profiles.length; i++) {
- result.put(profiles[i].getProfileId(), profiles[i]);
- }
- return result;
- }
- }
-
- public void testProfilePersistence() throws IOException {
- IProfile[] testProfiles = createTestProfiles();
- ByteArrayOutputStream output0 = new ByteArrayOutputStream(1492);
- ProfileStringWriter writer0 = new ProfileStringWriter(output0);
- writer0.writeTest(testProfiles);
- String profileText0 = output0.toString();
- output0.close();
-
- ProfileStringParser parser = new ProfileStringParser(TestActivator.context, TestActivator.PI_PROV_TESTS);
- parser.parse(profileText0);
- assertTrue("Error parsing test profile: " + parser.getStatus().getMessage(), parser.getStatus().isOK());
- Map profileMap = (Map) parser.getRootObject();
- IProfile parent = (IProfile) profileMap.get(parentId);
- IProfile child0 = (IProfile) profileMap.get(child0Id);
- IProfile child1 = (IProfile) profileMap.get(child1Id);
- IProfile grandchild00 = (IProfile) profileMap.get(grandchild00Id);
- IProfile grandchild01 = (IProfile) profileMap.get(grandchild01Id);
- IProfile grandchild02 = (IProfile) profileMap.get(grandchild02Id);
- IProfile grandchild10 = (IProfile) profileMap.get(grandchild10Id);
- IProfile grandchild11 = (IProfile) profileMap.get(grandchild11Id);
- IProfile[] profiles = {parent, child0, child1, grandchild00, grandchild01, grandchild02, grandchild10, grandchild11};
- validateProfiles(profiles);
- ByteArrayOutputStream output1 = new ByteArrayOutputStream(1492);
- ProfileStringWriter writer = new ProfileStringWriter(output1);
-
- writer.writeTest(profiles);
- String profileText1 = output1.toString();
- output1.close();
- assertTrue("Profile write after read after write produced different XML", profileText1.equals(profileText0));
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/TouchpointTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/TouchpointTest.java
deleted file mode 100644
index 34bed86..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/TouchpointTest.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.engine;
-
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.eclipse.equinox.p2.tests.engine.PhaseTest.TestPhaseSet;
-import org.osgi.framework.ServiceReference;
-import org.osgi.framework.Version;
-
-/**
- * Simple test of the engine API.
- */
-public class TouchpointTest extends AbstractProvisioningTest {
-
- static volatile TestTouchpoint testTouchpoint;
-
- abstract static class TestTouchpoint extends Touchpoint {
- int completeOperand;
- int completePhase;
- int initializeOperand;
- int initializePhase;
-
- public TestTouchpoint() {
- testTouchpoint = this;
- }
-
- public IStatus completeOperand(IProfile profile, String phaseId, InstallableUnitOperand operand, Map parameters) {
- completeOperand++;
- return super.completeOperand(profile, phaseId, operand, parameters);
- }
-
- public IStatus completePhase(IProgressMonitor monitor, IProfile profile, String phaseId, Map touchpointParameters) {
- completePhase++;
- return super.completePhase(monitor, profile, phaseId, touchpointParameters);
- }
-
- public IStatus initializeOperand(IProfile profile, String phaseId, InstallableUnitOperand operand, Map parameters) {
- initializeOperand++;
- return super.initializeOperand(profile, phaseId, operand, parameters);
- }
-
- public IStatus initializePhase(IProgressMonitor monitor, IProfile profile, String phaseId, Map touchpointParameters) {
- initializePhase++;
- return super.initializePhase(monitor, profile, phaseId, touchpointParameters);
- }
-
- public ProvisioningAction getAction(String actionId) {
- return null;
- }
-
- public TouchpointType getTouchpointType() {
- return MetadataFactory.createTouchpointType("test", new Version("1.0.0"));
- }
- }
-
- public static class OperandTestTouchpoint extends TestTouchpoint {
- public IStatus completeOperand(IProfile profile, String phaseId, InstallableUnitOperand operand, Map parameters) {
- assertEquals(1, initializeOperand);
- assertEquals(0, completeOperand);
- super.completeOperand(profile, phaseId, operand, parameters);
- assertEquals(1, initializeOperand);
- assertEquals(1, completeOperand);
- return null;
- }
-
- public IStatus initializeOperand(IProfile profile, String phaseId, InstallableUnitOperand operand, Map parameters) {
- assertEquals(0, initializeOperand);
- assertEquals(0, completeOperand);
- super.initializeOperand(profile, phaseId, operand, parameters);
- assertEquals(1, initializeOperand);
- assertEquals(0, completeOperand);
- return null;
- }
- }
-
- public static class PhaseTestTouchpoint extends TestTouchpoint {
- public IStatus completePhase(IProgressMonitor monitor, IProfile profile, String phaseId, Map parameters) {
- assertEquals(1, initializePhase);
- assertEquals(0, completePhase);
- super.completePhase(monitor, profile, phaseId, parameters);
- assertEquals(1, initializePhase);
- assertEquals(1, completePhase);
- return null;
- }
-
- public IStatus initializePhase(IProgressMonitor monitor, IProfile profile, String phaseId, Map parameters) {
- assertEquals(0, initializePhase);
- assertEquals(0, completePhase);
- super.initializePhase(monitor, profile, phaseId, parameters);
- assertEquals(1, initializePhase);
- assertEquals(0, completePhase);
- return null;
- }
- }
-
- private ServiceReference engineRef;
- private IEngine engine;
-
- public TouchpointTest(String name) {
- super(name);
- }
-
- public TouchpointTest() {
- super("");
- }
-
- protected void setUp() throws Exception {
- engineRef = TestActivator.getContext().getServiceReference(IEngine.SERVICE_NAME);
- engine = (IEngine) TestActivator.getContext().getService(engineRef);
- }
-
- protected void tearDown() throws Exception {
- engine = null;
- TestActivator.getContext().ungetService(engineRef);
- }
-
- public void testInitCompleteOperand() {
- PhaseSet phaseSet = new TestPhaseSet();
- IProfile profile = createProfile("testProfile");
- engine.perform(profile, phaseSet, new InstallableUnitOperand[] {new InstallableUnitOperand(null, createTestIU("operandTest"))}, null, new NullProgressMonitor());
- assertEquals(1, testTouchpoint.initializeOperand);
- assertEquals(1, testTouchpoint.completeOperand);
- }
-
- public void testInitCompletePhase() {
- PhaseSet phaseSet = new TestPhaseSet();
- IProfile profile = createProfile("testProfile");
- engine.perform(profile, phaseSet, new InstallableUnitOperand[] {new InstallableUnitOperand(null, createTestIU("phaseTest"))}, null, new NullProgressMonitor());
- assertEquals(1, testTouchpoint.initializeOperand);
- assertEquals(1, testTouchpoint.completeOperand);
- }
-
- private IInstallableUnit createTestIU(String touchpointName) {
- InstallableUnitDescription description = new MetadataFactory.InstallableUnitDescription();
- description.setId("org.eclipse.test");
- description.setVersion(new Version("1.0.0"));
- description.setTouchpointType(MetadataFactory.createTouchpointType(touchpointName, new Version("1.0.0")));
- IInstallableUnit unit = MetadataFactory.createInstallableUnit(description);
- return createResolvedIU(unit);
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/extensionlocation/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/extensionlocation/AllTests.java
deleted file mode 100644
index d51b261..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/extensionlocation/AllTests.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.extensionlocation;
-
-import junit.framework.*;
-
-/**
- * Performs all automated director tests.
- */
-public class AllTests extends TestCase {
-
- public static Test suite() {
- TestSuite suite = new TestSuite(AllTests.class.getName());
- suite.addTestSuite(ExtensionLocationArtifactRepositoryFactoryTest.class);
- suite.addTestSuite(ExtensionLocationMetadataRepositoryFactoryTest.class);
- return suite;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/extensionlocation/ExtensionLocationArtifactRepositoryFactoryTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/extensionlocation/ExtensionLocationArtifactRepositoryFactoryTest.java
deleted file mode 100644
index 761b6ec..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/extensionlocation/ExtensionLocationArtifactRepositoryFactoryTest.java
+++ /dev/null
@@ -1,280 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.extensionlocation;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.equinox.internal.p2.extensionlocation.ExtensionLocationArtifactRepositoryFactory;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepository;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-
-public class ExtensionLocationArtifactRepositoryFactoryTest extends AbstractProvisioningTest {
-
- private File tempDirectory;
- private ExtensionLocationArtifactRepositoryFactory factory;
-
- public ExtensionLocationArtifactRepositoryFactoryTest(String name) {
- super(name);
- }
-
- protected void tearDown() throws Exception {
- delete(tempDirectory);
- super.tearDown();
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- String tempDir = System.getProperty("java.io.tmpdir");
- tempDirectory = new File(tempDir, "extensionlocationtest");
- delete(tempDirectory);
- tempDirectory.mkdirs();
- factory = new ExtensionLocationArtifactRepositoryFactory();
-
- }
-
- public static File getFile(String path) throws IOException {
- URL fileURL = TestActivator.getContext().getBundle().getEntry(path);
- return new File(FileLocator.toFileURL(fileURL).getPath());
- }
-
- public void testNonFileURL() {
- try {
- URL nonFileURL = new URL("http://www.eclipse.org");
- factory.load(nonFileURL, getMonitor());
- fail("0.1");
- } catch (ProvisionException e) {
- assertEquals("0.5", ProvisionException.REPOSITORY_NOT_FOUND, e.getStatus().getCode());
- } catch (MalformedURLException e) {
- fail("0.99", e);
- }
- }
-
- public void testNonExistentFile() {
- File directory = new File(tempDirectory, "nonexistent");
- delete(directory);
- try {
- factory.load(directory.toURL(), getMonitor());
- fail("0.1");
- } catch (ProvisionException e) {
- assertEquals("0.5", ProvisionException.REPOSITORY_NOT_FOUND, e.getStatus().getCode());
- } catch (MalformedURLException e) {
- fail("0.99", e);
- }
- }
-
- public void testNotDirectory() {
- File file = new File(tempDirectory, "exists.file");
- try {
- file.createNewFile();
- factory.load(file.toURL(), getMonitor());
- fail("0.1");
- } catch (ProvisionException e) {
- assertEquals("0.5", ProvisionException.REPOSITORY_NOT_FOUND, e.getStatus().getCode());
- } catch (MalformedURLException e) {
- fail("0.99", e);
- } catch (IOException e) {
- fail("0.100", e);
- }
- }
-
- public void testNoFeatureOrPluginsDirectory() {
- File directory = new File(tempDirectory, "exists");
- directory.mkdirs();
- try {
- factory.load(directory.toURL(), getMonitor());
- } catch (ProvisionException e) {
- if (e.getStatus().getCode() == ProvisionException.REPOSITORY_NOT_FOUND)
- return;
- } catch (MalformedURLException e) {
- fail("0.99", e);
- }
- fail("1.0");
- }
-
- public void testEmptyFeatureAndPluginsDirectory() {
- File directory = new File(tempDirectory, "exists");
- directory.mkdirs();
- new File(directory, "plugins").mkdir();
- new File(directory, "features").mkdir();
- try {
- factory.load(directory.toURL(), getMonitor());
- } catch (ProvisionException e) {
- fail("0.1", e);
- } catch (MalformedURLException e) {
- fail("0.99", e);
- }
- }
-
- public void testEmptyFeaturesDirectory() {
- File directory = new File(tempDirectory, "exists");
- directory.mkdirs();
- new File(directory, "features").mkdir();
- try {
- factory.load(directory.toURL(), getMonitor());
- } catch (ProvisionException e) {
- fail("0.1", e);
- } catch (MalformedURLException e) {
- fail("0.99", e);
- }
- }
-
- public void testEmptyPluginsDirectory() {
- File directory = new File(tempDirectory, "exists");
- directory.mkdirs();
- new File(directory, "plugins").mkdir();
- try {
- factory.load(directory.toURL(), getMonitor());
- } catch (ProvisionException e) {
- fail("0.1", e);
- } catch (MalformedURLException e) {
- fail("0.99", e);
- }
- }
-
- public void testEclipseBaseEmptyFeatureAndPluginsDirectory() {
- File directory = new File(tempDirectory, "exists");
- directory.mkdirs();
- File eclipseDirectory = new File(directory, "eclipse");
- eclipseDirectory.mkdir();
- new File(eclipseDirectory, "plugins").mkdir();
- new File(eclipseDirectory, "features").mkdir();
- try {
- factory.load(directory.toURL(), getMonitor());
- } catch (ProvisionException e) {
- fail("0.1", e);
- } catch (MalformedURLException e) {
- fail("0.99", e);
- }
- }
-
- public void testNotEclipseBaseEmptyFeatureAndPluginsDirectory() {
- File directory = new File(tempDirectory, "exists");
- directory.mkdirs();
- File eclipseDirectory = new File(directory, "noteclipse");
- eclipseDirectory.mkdir();
- new File(eclipseDirectory, "plugins").mkdir();
- new File(eclipseDirectory, "features").mkdir();
- try {
- factory.load(directory.toURL(), getMonitor());
- } catch (ProvisionException e) {
- if (e.getStatus().getCode() == ProvisionException.REPOSITORY_NOT_FOUND)
- return;
- } catch (MalformedURLException e) {
- fail("0.99", e);
- }
- fail("1.0");
- }
-
- public void testNormalFeaturesandPluginsDirectory() {
- File directory = new File(tempDirectory, "exists");
- directory.mkdirs();
- copy("1.0", getTestData("1.1", "/testData/extensionlocation"), directory);
- try {
- URL location = directory.toURL();
- try {
- IArtifactRepository repo = factory.load(location, getMonitor());
- if (repo.getArtifactKeys().length != 2)
- fail("2.1");
- } catch (ProvisionException ex) {
- fail("2.0");
- }
- } catch (MalformedURLException e) {
- fail("3.99", e);
- }
- }
-
- public void testNormalFeaturesDirectory() {
- File directory = new File(tempDirectory, "exists/features");
- directory.mkdirs();
- File features = new File(directory, "features");
- features.mkdir();
- copy("1.0", getTestData("1.1", "/testData/extensionlocation/features"), features);
- try {
- URL location = directory.toURL();
- try {
- IArtifactRepository repo = factory.load(location, getMonitor());
- if (repo.getArtifactKeys().length != 1)
- fail("2.1");
- } catch (ProvisionException ex) {
- fail("2.0");
- }
- } catch (MalformedURLException e) {
- fail("3.99", e);
- }
- }
-
- public void testNormalPluginsDirectory() {
- File directory = new File(tempDirectory, "exists/plugins");
- directory.mkdirs();
- File plugins = new File(directory, "plugins");
- plugins.mkdir();
- copy("1.0", getTestData("1.1", "/testData/extensionlocation/plugins"), plugins);
- try {
- URL location = directory.toURL();
- try {
- IArtifactRepository repo = factory.load(location, getMonitor());
- if (repo.getArtifactKeys().length != 1)
- fail("2.1");
- } catch (ProvisionException ex) {
- fail("2.0");
- }
- } catch (MalformedURLException e) {
- fail("3.99", e);
- }
- }
-
- public void testEclipseBaseNormalFeaturesandPluginsDirectory() {
- File directory = new File(tempDirectory, "exists");
- directory.mkdirs();
- File eclipseDirectory = new File(directory, "eclipse");
- copy("1.1", getTestData("1.1", "/testData/extensionlocation"), eclipseDirectory);
- try {
- IArtifactRepository repo = factory.load(directory.toURL(), getMonitor());
- if (repo.getArtifactKeys().length != 2)
- fail("1.0");
- } catch (ProvisionException e) {
- fail("0.5", e);
- } catch (MalformedURLException e) {
- fail("0.99", e);
- }
- }
-
- public void testUpdateSiteXMLURL() {
- File site = getTestData("0.1", "/testData/updatesite/site");
- try {
- factory.load(site.toURL(), getMonitor());
- } catch (ProvisionException e) {
- if (e.getStatus().getCode() == ProvisionException.REPOSITORY_NOT_FOUND)
- return;
- } catch (MalformedURLException e) {
- fail("0.99", e);
- }
- fail("1.0");
- }
-
- public void testXXXSiteXXXXMLURL() {
- File site = getTestData("0.1", "/testData/updatesite/xxxsitexxx");
- try {
- factory.load(site.toURL(), getMonitor());
- } catch (ProvisionException e) {
- if (e.getStatus().getCode() == ProvisionException.REPOSITORY_NOT_FOUND)
- return;
- } catch (MalformedURLException e) {
- fail("0.99", e);
- }
- fail("1.0");
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/extensionlocation/ExtensionLocationMetadataRepositoryFactoryTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/extensionlocation/ExtensionLocationMetadataRepositoryFactoryTest.java
deleted file mode 100644
index 882d164..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/extensionlocation/ExtensionLocationMetadataRepositoryFactoryTest.java
+++ /dev/null
@@ -1,272 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.extensionlocation;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import org.eclipse.equinox.internal.p2.extensionlocation.ExtensionLocationMetadataRepositoryFactory;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class ExtensionLocationMetadataRepositoryFactoryTest extends AbstractProvisioningTest {
-
- private File tempDirectory;
- private ExtensionLocationMetadataRepositoryFactory factory;
-
- public ExtensionLocationMetadataRepositoryFactoryTest(String name) {
- super(name);
- }
-
- protected void tearDown() throws Exception {
- delete(tempDirectory);
- super.tearDown();
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- String tempDir = System.getProperty("java.io.tmpdir");
- tempDirectory = new File(tempDir, "extensionlocationtest");
- delete(tempDirectory);
- tempDirectory.mkdirs();
- factory = new ExtensionLocationMetadataRepositoryFactory();
- }
-
- public void testNonFileURL() {
- try {
- URL nonFileURL = new URL("http://www.eclipse.org");
- factory.load(nonFileURL, getMonitor());
- fail("0.1");
- } catch (ProvisionException e) {
- assertEquals("0.2", ProvisionException.REPOSITORY_NOT_FOUND, e.getStatus().getCode());
- } catch (MalformedURLException e) {
- fail("0.3", e);
- }
- }
-
- public void testNonExistentFile() {
- File directory = new File(tempDirectory, "nonexistent");
- delete(directory);
- try {
- factory.load(directory.toURL(), getMonitor());
- fail("0.1");
- } catch (ProvisionException e) {
- assertEquals("0.2", ProvisionException.REPOSITORY_NOT_FOUND, e.getStatus().getCode());
- } catch (MalformedURLException e) {
- fail("0.3", e);
- }
- }
-
- public void testNotDirectory() {
- File file = new File(tempDirectory, "exists.file");
- try {
- file.createNewFile();
- factory.load(file.toURL(), getMonitor());
- fail("0.1");
- } catch (ProvisionException e) {
- assertEquals("0.2", ProvisionException.REPOSITORY_NOT_FOUND, e.getStatus().getCode());
- } catch (MalformedURLException e) {
- fail("0.3", e);
- } catch (IOException e) {
- fail("0.4", e);
- }
- }
-
- public void testNoFeatureOrPluginsDirectory() {
- File directory = new File(tempDirectory, "exists");
- directory.mkdirs();
- try {
- factory.load(directory.toURL(), getMonitor());
- fail("0.1");
- } catch (ProvisionException e) {
- assertEquals("0.2", ProvisionException.REPOSITORY_NOT_FOUND, e.getStatus().getCode());
- } catch (MalformedURLException e) {
- fail("0.3", e);
- }
- }
-
- public void testEmptyFeatureAndPluginsDirectory() {
- File directory = new File(tempDirectory, "exists");
- directory.mkdirs();
- new File(directory, "plugins").mkdir();
- new File(directory, "features").mkdir();
- try {
- factory.load(directory.toURL(), getMonitor());
- } catch (ProvisionException e) {
- fail("0.1");
- } catch (MalformedURLException e) {
- fail("0.99", e);
- }
- }
-
- public void testEmptyFeaturesDirectory() {
- File directory = new File(tempDirectory, "exists");
- directory.mkdirs();
- new File(directory, "features").mkdir();
- try {
- factory.load(directory.toURL(), getMonitor());
- } catch (ProvisionException e) {
- fail("0.1");
- } catch (MalformedURLException e) {
- fail("0.99", e);
- }
- }
-
- public void testEmptyPluginsDirectory() {
- File directory = new File(tempDirectory, "exists");
- directory.mkdirs();
- new File(directory, "plugins").mkdir();
- try {
- factory.load(directory.toURL(), getMonitor());
- } catch (ProvisionException e) {
- fail("0.1");
- } catch (MalformedURLException e) {
- fail("0.99", e);
- }
- }
-
- public void testEclipseBaseEmptyFeatureAndPluginsDirectory() {
- File directory = new File(tempDirectory, "exists");
- directory.mkdirs();
- File eclipseDirectory = new File(directory, "eclipse");
- eclipseDirectory.mkdir();
- new File(eclipseDirectory, "plugins").mkdir();
- new File(eclipseDirectory, "features").mkdir();
- try {
- factory.load(directory.toURL(), getMonitor());
- } catch (ProvisionException e) {
- fail("0.1");
- } catch (MalformedURLException e) {
- fail("0.99", e);
- }
- }
-
- public void testNotEclipseBaseEmptyFeatureAndPluginsDirectory() {
- File directory = new File(tempDirectory, "exists");
- directory.mkdirs();
- File eclipseDirectory = new File(directory, "noteclipse");
- eclipseDirectory.mkdir();
- new File(eclipseDirectory, "plugins").mkdir();
- new File(eclipseDirectory, "features").mkdir();
- try {
- factory.load(directory.toURL(), getMonitor());
- fail("0.1");
- } catch (ProvisionException e) {
- assertEquals("0.2", ProvisionException.REPOSITORY_NOT_FOUND, e.getStatus().getCode());
- } catch (MalformedURLException e) {
- fail("0.99", e);
- }
- }
-
- public void testNormalFeaturesandPluginsDirectory() {
- File directory = new File(tempDirectory, "exists");
- directory.mkdirs();
- copy("1.0", getTestData("1.1", "/testData/extensionlocation"), directory);
- try {
- URL location = directory.toURL();
- try {
- IMetadataRepository repo = factory.load(location, getMonitor());
- if (repo.query(InstallableUnitQuery.ANY, new Collector(), null).toCollection().size() != 3)
- fail("2.99");
- } catch (ProvisionException ex) {
- fail("2.0");
- }
- } catch (MalformedURLException e) {
- fail("4.99", e);
- }
- }
-
- public void testNormalFeaturesDirectory() {
- File directory = new File(tempDirectory, "exists/features");
- directory.mkdirs();
- File features = new File(directory, "features");
- features.mkdir();
- copy("1.0", getTestData("1.1", "/testData/extensionlocation/features"), features);
- try {
- URL location = directory.toURL();
- try {
- IMetadataRepository repo = factory.load(location, getMonitor());
- if (repo.query(InstallableUnitQuery.ANY, new Collector(), null).toCollection().size() != 2)
- fail("3.0");
- } catch (ProvisionException ex) {
- fail("2.0");
- }
- } catch (MalformedURLException e) {
- fail("4.99", e);
- }
- }
-
- public void testNormalPluginsDirectory() {
- File directory = new File(tempDirectory, "exists/plugins");
- directory.mkdirs();
- File plugins = new File(directory, "plugins");
- plugins.mkdir();
- copy("1.0", getTestData("1.1", "/testData/extensionlocation/plugins"), plugins);
- try {
- URL location = directory.toURL();
- try {
- IMetadataRepository repo = factory.load(location, getMonitor());
- if (repo.query(InstallableUnitQuery.ANY, new Collector(), null).toCollection().size() != 1)
- fail("3.0");
- } catch (ProvisionException ex) {
- fail("2.0");
- }
- } catch (MalformedURLException e) {
- fail("4.99", e);
- }
- }
-
- public void testEclipseBaseNormalFeaturesandPluginsDirectory() {
- File directory = new File(tempDirectory, "exists");
- directory.mkdirs();
- File eclipseDirectory = new File(directory, "eclipse");
- copy("1.0", getTestData("1.1", "/testData/extensionlocation"), eclipseDirectory);
- try {
- IMetadataRepository repo = factory.load(directory.toURL(), getMonitor());
- if (repo.query(InstallableUnitQuery.ANY, new Collector(), null).toCollection().size() != 3)
- fail("3.0");
- } catch (ProvisionException e) {
- fail("2.0");
- } catch (MalformedURLException e) {
- fail("2.99", e);
- }
- }
-
- public void testUpdateSiteXMLURL() {
- File site = getTestData("0.1", "/testData/updatesite/site");
- try {
- factory.load(site.toURL(), getMonitor());
- } catch (ProvisionException e) {
- if (e.getStatus().getCode() == ProvisionException.REPOSITORY_NOT_FOUND)
- return;
- } catch (MalformedURLException e) {
- fail("0.99", e);
- }
- fail("1.0");
- }
-
- public void testXXXSiteXXXXMLURL() {
- File site = getTestData("0.1", "/testData/updatesite/xxxsitexxx");
- try {
- factory.load(site.toURL(), getMonitor());
- } catch (ProvisionException e) {
- if (e.getStatus().getCode() == ProvisionException.REPOSITORY_NOT_FOUND)
- return;
- } catch (MalformedURLException e) {
- fail("0.99", e);
- }
- fail("1.0");
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/DirectorTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/DirectorTest.java
deleted file mode 100644
index 816f091..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/DirectorTest.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.full;
-
-import java.util.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.location.AgentLocation;
-import org.eclipse.equinox.internal.provisional.p2.director.IDirector;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.eclipse.osgi.service.environment.EnvironmentInfo;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.ServiceReference;
-
-/**
- * This test installs or uninstalls the IU defined by the property "eclipse.p2.autoInstall".
- * Metadata for the IUs to install must be generated separately before running this test.
- */
-public class DirectorTest extends AbstractProvisioningTest {
-
- public void testInstallIU() throws ProvisionException {
- ServiceReference sr = TestActivator.context.getServiceReference(IDirector.class.getName());
- if (sr == null) {
- throw new RuntimeException("Director service not available");
- }
- IDirector director = (IDirector) TestActivator.context.getService(sr);
- if (director == null) {
- throw new RuntimeException("Director could not be loaded");
- }
-
- ServiceReference sr2 = TestActivator.context.getServiceReference(IMetadataRepositoryManager.class.getName());
- IMetadataRepositoryManager mgr = (IMetadataRepositoryManager) TestActivator.context.getService(sr2);
- if (mgr == null) {
- throw new RuntimeException("Repository manager could not be loaded");
- }
-
- String autoInstall = System.getProperty("eclipse.p2.autoInstall");
- Collector allJobs = mgr.query(new InstallableUnitQuery(autoInstall, VersionRange.emptyRange), new Collector(), null);
-
- String installFolder = System.getProperty(IProfile.PROP_INSTALL_FOLDER);
- ServiceReference profileRegSr = TestActivator.context.getServiceReference(IProfileRegistry.class.getName());
- IProfileRegistry profileRegistry = (IProfileRegistry) TestActivator.context.getService(profileRegSr);
- if (profileRegistry == null) {
- throw new RuntimeException("Profile registry service not available");
- }
-
- String newFlavor = System.getProperty("eclipse.p2.configurationFlavor");
- boolean doUninstall = (Boolean.TRUE.equals(Boolean.valueOf(System.getProperty("eclipse.p2.doUninstall"))));
-
- IProfile p = null;
- if (doUninstall) {
- p = profileRegistry.getProfile(installFolder);
- if (p == null)
- throw new RuntimeException("Uninstalling from a nonexistent profile");
- } else {
- Map properties = new HashMap();
- properties.put(IProfile.PROP_INSTALL_FOLDER, installFolder);
- properties.put(IProfile.PROP_FLAVOR, newFlavor);
- EnvironmentInfo info = (EnvironmentInfo) ServiceHelper.getService(TestActivator.getContext(), EnvironmentInfo.class.getName());
- if (info != null)
- properties.put(IProfile.PROP_ENVIRONMENTS, "osgi.os=" + info.getOS() + ",osgi.ws=" + info.getWS() + ",osgi.arch=" + info.getOSArch());
-
- p = createProfile(installFolder, null, properties);
- }
-
- IInstallableUnit[] allRoots = new IInstallableUnit[1];
- IStatus operationStatus = null;
- if (!allJobs.isEmpty()) {
- allRoots[0] = (IInstallableUnit) allJobs.iterator().next();
- ProfileChangeRequest request = new ProfileChangeRequest(p);
- if (!doUninstall)
- request.addInstallableUnits(allRoots);
- else
- request.removeInstallableUnits(allRoots);
- operationStatus = director.provision(request, null, null);
- } else {
- operationStatus = new Status(IStatus.INFO, "org.eclipse.equinox.internal.provisional.p2.director.test", "The installable unit '" + System.getProperty("eclipse.p2.autoInstall") + "' has not been found");
- }
-
- if (!operationStatus.isOK())
- fail("The installation has failed");
-
- IInstallableUnit[] result = (IInstallableUnit[]) p.query(new InstallableUnitQuery(allRoots[0].getId(), VersionRange.emptyRange), new Collector(), null).toArray(IInstallableUnit.class);
- assertEquals(result.length, (!doUninstall ? 1 : 0));
- result = (IInstallableUnit[]) p.query(new InstallableUnitQuery("toolingdefault", VersionRange.emptyRange), new Collector(), null).toArray(IInstallableUnit.class);
-
- ensureFragmentAssociationIsNotPersisted(mgr);
- }
-
- private void ensureFragmentAssociationIsNotPersisted(IMetadataRepositoryManager mgr) throws ProvisionException {
- //Test for https://bugs.eclipse.org/bugs/show_bug.cgi?id=177661
- AgentLocation location = (AgentLocation) ServiceHelper.getService(TestActivator.getContext(), AgentLocation.class.getName());
- mgr.removeRepository(location.getMetadataRepositoryURL());
- IMetadataRepository repo = null;
- repo = mgr.loadRepository(location.getMetadataRepositoryURL(), null);
- Iterator it = repo.query(new InstallableUnitQuery("org.eclipse.equinox.simpleconfigurator", VersionRange.emptyRange), new Collector(), null).iterator();
- if (!it.hasNext())
- return;
- IInstallableUnit sc = (IInstallableUnit) it.next();
- if (sc.isResolved())
- fail("The repository should not store resolved installable units");
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/End2EndTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/End2EndTest.java
deleted file mode 100644
index 249dd04..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/End2EndTest.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.full;
-
-import java.util.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.eclipse.osgi.service.environment.EnvironmentInfo;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.ServiceReference;
-import org.osgi.framework.Version;
-
-public class End2EndTest extends AbstractProvisioningTest {
-
- private IMetadataRepositoryManager repoManager;
- private IDirector director;
- private IPlanner planner;
-
- protected void setUp() throws Exception {
- ServiceReference sr = TestActivator.context.getServiceReference(IDirector.class.getName());
- if (sr == null)
- throw new RuntimeException("Director service not available");
- director = createDirector();
- planner = createPlanner();
- ServiceReference sr2 = TestActivator.context.getServiceReference(IMetadataRepositoryManager.class.getName());
- repoManager = (IMetadataRepositoryManager) TestActivator.context.getService(sr2);
- if (repoManager == null)
- throw new RuntimeException("Repository manager could not be loaded");
- }
-
- protected IProfile createProfile(String profileId) {
- String installFolder = System.getProperty(IProfile.PROP_INSTALL_FOLDER);
- ServiceReference profileRegSr = TestActivator.context.getServiceReference(IProfileRegistry.class.getName());
- IProfileRegistry profileRegistry = (IProfileRegistry) TestActivator.context.getService(profileRegSr);
- if (profileRegistry == null) {
- throw new RuntimeException("Profile registry service not available");
- }
-
- String newFlavor = System.getProperty("eclipse.p2.configurationFlavor");
- boolean doUninstall = (Boolean.TRUE.equals(Boolean.valueOf(System.getProperty("eclipse.p2.doUninstall"))));
-
- IProfile p = null;
- if (doUninstall) {
- p = profileRegistry.getProfile(profileId);
- if (p == null)
- throw new RuntimeException("Uninstalling from a nonexistent profile");
- } else {
- Map properties = new HashMap();
- properties.put(IProfile.PROP_INSTALL_FOLDER, installFolder + '/' + profileId);
- properties.put(IProfile.PROP_FLAVOR, newFlavor);
- EnvironmentInfo info = (EnvironmentInfo) ServiceHelper.getService(TestActivator.getContext(), EnvironmentInfo.class.getName());
- if (info != null)
- properties.put(IProfile.PROP_ENVIRONMENTS, "osgi.os=" + info.getOS() + ",osgi.ws=" + info.getWS() + ",osgi.arch=" + info.getOSArch());
-
- p = createProfile(profileId, null, properties);
- }
- return p;
- }
-
- public void testInstallSDK() {
- IProfile profile2 = createProfile("profile2");
- //First we install the sdk
- ProfileChangeRequest request = new ProfileChangeRequest(profile2);
- request.addInstallableUnits(new IInstallableUnit[] {getIU("sdk", new Version("3.3.0"))});
- IStatus s = director.provision(request, null, new NullProgressMonitor());
- if (!s.isOK())
- fail("Installation failed");
- IInstallableUnit firstSnapshot = getIU("profile2"); //This should represent the empty profile
- assertNotNull(firstSnapshot);
- assertNotNull(firstSnapshot.getProperty("profileIU"));
-
- //Uninstall the SDK
- request = new ProfileChangeRequest(profile2);
- request.removeInstallableUnits(new IInstallableUnit[] {getIU("sdk", new Version("3.3.0"))});
- s = director.provision(request, null, new NullProgressMonitor());
- if (!s.isOK())
- fail("The uninstallation has failed and it was not expected");
-
- assertEquals(false, getInstallableUnits(profile2).hasNext()); //the profile should be empty since we uninstalled everything
- IInstallableUnit[] snapshots = getIUs("profile2");
- assertTrue("snap" + snapshots.length, snapshots.length >= 2);//TODO Normally here it should be 2!!!
- assertTrue(profile2.query(new InstallableUnitQuery("sdk", VersionRange.emptyRange), new Collector(), null).isEmpty());
-
- // Now test the rollback to a previous state, in this case we reinstall the SDK
- s = director.revert(snapshots[0].equals(firstSnapshot) ? snapshots[1] : snapshots[0], profile2, new ProvisioningContext(), new NullProgressMonitor());
- if (!s.isOK())
- fail("The become operation failed");
-
- assertNotNull(getIU("sdk"));
-
- //Test replace
- request = new ProfileChangeRequest(profile2);
- request.addInstallableUnits(planner.updatesFor(getIU("sdk", new Version("3.3.0")), null, null));
- request.removeInstallableUnits(new IInstallableUnit[] {getIU("sdk", new Version("3.3.0"))});
- assertOK("2.0", director.provision(request, null, null));
- assertProfileContainsAll("", profile2, new IInstallableUnit[] {getIU("sdk", new Version("3.4.0"))});
- assertNotIUs(new IInstallableUnit[] {getIU("sdk", new Version("3.3.0"))}, getInstallableUnits(profile2));
-
- //Remove everything from the profile by becoming an empty profile
- s = director.revert(firstSnapshot, profile2, new ProvisioningContext(), new NullProgressMonitor());
- assertOK("2.1", s);
- assertEmptyProfile(profile2);
- }
-
- public IInstallableUnit[] getIUs(String id) {
- return (IInstallableUnit[]) repoManager.query(new InstallableUnitQuery(id, VersionRange.emptyRange), new Collector(), null).toArray(IInstallableUnit.class);
- }
-
- public IInstallableUnit getIU(String id) {
- Iterator it = repoManager.query(new InstallableUnitQuery(id, VersionRange.emptyRange), new Collector(), null).iterator();
- if (it.hasNext())
- return (IInstallableUnit) it.next();
- return null;
- }
-
- public IInstallableUnit getIU(String id, Version v) {
- Iterator it = repoManager.query(new InstallableUnitQuery(id, v), new Collector(), null).iterator();
- if (it.hasNext())
- return (IInstallableUnit) it.next();
- return null;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/RepoValidator.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/RepoValidator.java
deleted file mode 100644
index 95b67f3..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/RepoValidator.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package org.eclipse.equinox.p2.tests.full;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningContext;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.query.Query;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.osgi.framework.ServiceReference;
-
-public class RepoValidator extends AbstractProvisioningTest {
- public void testValidate() throws ProvisionException, MalformedURLException {
- URL repoLoc = new URL("file:d:/ganymedeM5");
- ServiceReference sr = TestActivator.context.getServiceReference(IPlanner.class.getName());
- if (sr == null) {
- throw new RuntimeException("Planner service not available");
- }
- IPlanner planner = (IPlanner) TestActivator.context.getService(sr);
- if (planner == null) {
- throw new RuntimeException("Planner could not be loaded");
- }
-
- ServiceReference sr2 = TestActivator.context.getServiceReference(IMetadataRepositoryManager.class.getName());
- IMetadataRepositoryManager mgr = (IMetadataRepositoryManager) TestActivator.context.getService(sr2);
- if (mgr == null) {
- throw new RuntimeException("Repository manager could not be loaded");
- }
- IMetadataRepository validatedRepo = mgr.loadRepository(repoLoc, null);
-
- Map properties = new HashMap();
- properties.put(IInstallableUnit.NAMESPACE_FLAVOR, "tooling");
- IProfile p = createProfile("repoValidator", null, properties);
-
- Query q;
- // q = new Query() {
- // public boolean isMatch(Object object) {
- // if (!(object instanceof IInstallableUnit))
- // return false;
- // IInstallableUnit candidate = (IInstallableUnit) object;
- // if (candidate.getId().startsWith("org.eclipse.jst") || candidate.getId().startsWith("org.eclipse.wst"))
- // return true;
- // return false;
- // }
- // };
-
- // q = new InstallableUnitQuery("org.eclipse.wst.ws.parser");
-
- q = InstallableUnitQuery.ANY;
- Collector iusToTest = validatedRepo.query(q, new Collector(), null);
-
- ProvisioningContext pc = new ProvisioningContext(new URL[] {repoLoc});
- for (Iterator iterator = iusToTest.iterator(); iterator.hasNext();) {
- try {
- IInstallableUnit isInstallable = (IInstallableUnit) iterator.next();
- ProfileChangeRequest req = new ProfileChangeRequest(p);
- req.setProfileProperty("eclipse.p2.install.features", "true");
- req.addInstallableUnits(new IInstallableUnit[] {isInstallable});
- // System.out.println("Working on: " + isInstallable);
- IStatus s = planner.getProvisioningPlan(req, pc, null).getStatus();
- if (!s.isOK()) {
- System.err.println("Can't resolve: " + isInstallable);
- }
- } catch (ArrayIndexOutOfBoundsException e) {
- //ignore
- }
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/AllTests.java
deleted file mode 100644
index ee8f29b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/AllTests.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.generator;
-
-import junit.framework.*;
-
-/**
- * Performs all engine tests.
- */
-public class AllTests extends TestCase {
-
- public static Test suite() {
- TestSuite suite = new TestSuite(AllTests.class.getName());
- suite.addTestSuite(EclipseSDK33Test.class);
- suite.addTestSuite(FeatureToIU.class);
- suite.addTestSuite(SiteParserTest.class);
- suite.addTestSuite(GeneratorTests.class);
- return suite;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/EclipseSDK33Test.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/EclipseSDK33Test.java
deleted file mode 100644
index a7cbd66..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/EclipseSDK33Test.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.generator;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepository;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.Generator;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.IGeneratorInfo;
-import org.eclipse.equinox.p2.tests.*;
-import org.osgi.framework.Bundle;
-
-/**
- * Tests running the metadata generator against Eclipse 3.3 features.
- */
-public class EclipseSDK33Test extends AbstractProvisioningTest {
- public static Test suite() {
- return new TestSuite(EclipseSDK33Test.class);
- }
-
- public EclipseSDK33Test() {
- super("");
- }
-
- public EclipseSDK33Test(String name) {
- super(name);
- }
-
- /**
- * TODO This test is currently failing on the build machine for an unknown reason.
- */
- public void testGeneration() {
- if (true)
- return;
- IGeneratorInfo generatorInfo = createGeneratorInfo();
- Generator generator = new Generator(generatorInfo);
- generator.generate();
-
- TestMetadataRepository repo = (TestMetadataRepository) generatorInfo.getMetadataRepository();
- IInstallableUnit unit = repo.find("org.eclipse.cvs.source.feature.group", "1.0.0.v20070606-7C79_79EI99g_Y9e");
- assertNotNull(unit);
- assertGroup(unit);
- unit = repo.find("org.eclipse.rcp.feature.group", "3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG");
- assertNotNull(unit);
- assertGroup(unit);
- unit = repo.find("org.eclipse.jdt.feature.group", "3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR");
- assertNotNull(unit);
- assertGroup(unit);
- unit = repo.find("org.eclipse.cvs.feature.group", "1.0.0.v20070606-7C79_79EI99g_Y9e");
- assertNotNull(unit);
- assertGroup(unit);
- unit = repo.find("org.eclipse.pde.source.feature.group", "3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC");
- assertNotNull(unit);
- assertGroup(unit);
- unit = repo.find("org.eclipse.sdk.feature.group", "3.3.0.v20070607-7M7J-BIolz-OcxWxvWAPSfLPqevO");
- assertNotNull(unit);
- assertGroup(unit);
- unit = repo.find("org.eclipse.platform.feature.group", "3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G");
- assertNotNull(unit);
- assertGroup(unit);
- unit = repo.find("org.eclipse.platform.source.feature.group", "3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G");
- assertNotNull(unit);
- assertGroup(unit);
- unit = repo.find("org.eclipse.jdt.source.feature.group", "3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR");
- assertNotNull(unit);
- assertGroup(unit);
- unit = repo.find("org.eclipse.pde.feature.group", "3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC");
- assertNotNull(unit);
- assertGroup(unit);
- unit = repo.find("org.eclipse.rcp.source.feature.group", "3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG");
- assertNotNull(unit);
- assertGroup(unit);
-
- IArtifactRepository artifactRepo = (TestArtifactRepository) generatorInfo.getArtifactRepository();
- IArtifactKey[] keys = artifactRepo.getArtifactKeys();
- assertTrue(keys.length == 11);
- }
-
- /**
- * Asserts that the given IU represents a group.
- */
- private void assertGroup(IInstallableUnit unit) {
- assertEquals("IU is not a group", Boolean.TRUE.toString(), unit.getProperty(IInstallableUnit.PROP_TYPE_GROUP));
- }
-
- private IGeneratorInfo createGeneratorInfo() {
- Bundle myBundle = TestActivator.getContext().getBundle();
- URL root = FileLocator.find(myBundle, new Path("testData/generator/eclipse3.3"), null);
- File rootFile = null;
- try {
- root = FileLocator.toFileURL(root);
- rootFile = new File(root.getPath());
- } catch (IOException e) {
- fail("4.99", e);
- }
- TestGeneratorInfo info = new TestGeneratorInfo(rootFile);
- return info;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/FeatureToIU.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/FeatureToIU.java
deleted file mode 100644
index 5f67758..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/FeatureToIU.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.generator;
-
-import org.eclipse.equinox.internal.p2.metadata.generator.features.FeatureParser;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.Feature;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.MetadataGeneratorHelper;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class FeatureToIU extends AbstractProvisioningTest {
-
- public void testDescription() {
- Feature f = new FeatureParser().parse(getTestData("FFF 1.0.0", "testData/featureToIU/feature1.jar"));
- assertNotNull(f);
- IInstallableUnit group = MetadataGeneratorHelper.createGroupIU(f, MetadataGeneratorHelper.createFeatureJarIU(f, false));
- assertEquals(f.getDescription(), group.getProperty(IInstallableUnit.PROP_DESCRIPTION));
- assertEquals(f.getDescriptionURL(), group.getProperty(IInstallableUnit.PROP_DESCRIPTION_URL));
- }
-
- public void testNoDescription1() {
- Feature f = new FeatureParser().parse(getTestData("FFF 1.0.0", "testData/featureToIU/feature2.jar"));
- assertNotNull(f);
- IInstallableUnit group = MetadataGeneratorHelper.createGroupIU(f, MetadataGeneratorHelper.createFeatureJarIU(f, false));
- assertEquals(f.getDescription(), group.getProperty(IInstallableUnit.PROP_DESCRIPTION));
- assertEquals(f.getDescriptionURL(), group.getProperty(IInstallableUnit.PROP_DESCRIPTION_URL));
- }
-
- public void testNoDescription2() {
- Feature f = new FeatureParser().parse(getTestData("FFF 1.0.0", "testData/featureToIU/feature3.jar"));
- assertNotNull(f);
- IInstallableUnit group = MetadataGeneratorHelper.createGroupIU(f, MetadataGeneratorHelper.createFeatureJarIU(f, false));
- assertEquals(f.getDescription(), group.getProperty(IInstallableUnit.PROP_DESCRIPTION));
- assertEquals(f.getDescriptionURL(), group.getProperty(IInstallableUnit.PROP_DESCRIPTION_URL));
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/GeneratorTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/GeneratorTests.java
deleted file mode 100644
index e4a555d..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/GeneratorTests.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package org.eclipse.equinox.p2.tests.generator;
-
-import java.io.File;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.equinox.internal.p2.metadata.generator.EclipseGeneratorApplication;
-import org.eclipse.equinox.internal.p2.metadata.generator.Messages;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.BundleContext;
-
-public class GeneratorTests extends AbstractProvisioningTest {
-
- public void test233240_artifactsDeleted() throws Exception {
- //this also covers 220494
- File rootFolder = getTempFolder();
-
- //copy some bundles over
- File plugins = new File(rootFolder, "plugins");
- plugins.mkdir();
-
- for (int i = 0; i < 3; i++) {
- BundleContext context = TestActivator.getContext();
- File bundle = FileLocator.getBundleFile(context.getBundle(i));
-
- copy("1.0 Populating input bundles.", bundle, new File(plugins, bundle.getName()));
- }
-
- String[] arguments = new String[] {"-metadataRepository", rootFolder.toURL().toExternalForm().toString(), "-artifactRepository", rootFolder.toURL().toExternalForm().toString(), "-source", rootFolder.getAbsolutePath(), "-publishArtifacts", "-noDefaultIUs"};
- EclipseGeneratorApplication application = new EclipseGeneratorApplication();
- application.run(arguments);
-
- assertTrue("2.0 - initial artifact repo existance", new File(rootFolder, "artifacts.xml").exists());
- assertTrue("2.1 - initial artifact repo contents", plugins.listFiles().length > 0);
-
- //Taunt you one more time
- application = new EclipseGeneratorApplication();
- try {
- application.run(arguments);
- fail("3.0 - Expected Illegal Argument Exception not thrown.");
- } catch (IllegalArgumentException e) {
- assertTrue("3.0 - Expected Illegal Argument", e.getMessage().equals(NLS.bind(Messages.exception_artifactRepoNoAppendDestroysInput, rootFolder.toURL().toExternalForm().toString())));
- }
-
- assertTrue("3.1 - artifact repo existance", new File(rootFolder, "artifacts.xml").exists());
-
- //with -updateSite
- arguments = new String[] {"-metadataRepository", rootFolder.toURL().toExternalForm().toString(), "-artifactRepository", rootFolder.toURL().toExternalForm().toString(), "-updateSite", rootFolder.getAbsolutePath(), "-publishArtifacts", "-noDefaultIUs"};
- application.run(arguments);
-
- assertTrue("4.0 - artifact repo existance", new File(rootFolder, "artifacts.xml").exists());
- assertTrue("4.1 - artifact repo contents", plugins.listFiles().length > 0);
-
- delete(rootFolder);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/PatchIUGeneration.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/PatchIUGeneration.java
deleted file mode 100644
index c4066ce..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/PatchIUGeneration.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.generator;
-
-import org.eclipse.equinox.internal.p2.metadata.generator.features.FeatureParser;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnitPatch;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.Feature;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.MetadataGeneratorHelper;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-
-public class PatchIUGeneration extends AbstractProvisioningTest {
-
- public void testGeneratedIU() {
- FeatureParser parser = new FeatureParser();
- Feature feature = parser.parse(getTestData("org.eclipse.jdt.core.feature.patch", "testData/org.eclipse.jdt.3.2.1.patch_1.0.0.jar"));
- if (feature == null)
- fail();
- IInstallableUnit featureIU = MetadataGeneratorHelper.createFeatureJarIU(feature, true, null);
- IInstallableUnitPatch patchIU = (IInstallableUnitPatch) MetadataGeneratorHelper.createGroupIU(feature, featureIU, null);
-
- //Check id
- assertEquals(patchIU.getId(), "org.eclipse.jdt.3.2.1.patch.feature.group");
-
- //Check applicability scope
- assertEquals(IInstallableUnit.NAMESPACE_IU_ID, patchIU.getApplicabilityScope()[0][0].getNamespace());
- assertEquals("org.eclipse.jdt.feature.group", patchIU.getApplicabilityScope()[0][0].getName());
- assertEquals(new VersionRange("[3.2.1.r321_v20060905-R4CM1Znkvre9wC-,3.2.1.r321_v20060905-R4CM1Znkvre9wC-]"), patchIU.getApplicabilityScope()[0][0].getRange());
-
- assertEquals("org.eclipse.jdt.core", patchIU.getRequirementsChange()[0].applyOn().getName());
- assertEquals(VersionRange.emptyRange, patchIU.getRequirementsChange()[0].applyOn().getRange());
- assertEquals("org.eclipse.jdt.core", patchIU.getRequirementsChange()[0].newValue().getName());
- assertEquals(new VersionRange("[3.2.2,3.2.2]"), patchIU.getRequirementsChange()[0].newValue().getRange());
- assertEquals(Boolean.TRUE.toString(), patchIU.getProperty(IInstallableUnit.PROP_TYPE_PATCH));
- assertEquals(1, patchIU.getRequiredCapabilities().length);
- assertEquals(featureIU.getId(), patchIU.getRequiredCapabilities()[0].getName());
- assertEquals("org.eclipse.jdt.feature.group", patchIU.getLifeCycle().getName());
- assertFalse(patchIU.getLifeCycle().isGreedy());
- assertFalse(patchIU.getLifeCycle().isOptional());
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/SiteParserTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/SiteParserTest.java
deleted file mode 100644
index dcf6f7e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/SiteParserTest.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.generator;
-
-import java.io.IOException;
-import org.eclipse.equinox.internal.p2.metadata.generator.features.DefaultSiteParser;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestData;
-import org.xml.sax.SAXException;
-
-/**
- * Test the site.xml parser included in the generator.
- */
-public class SiteParserTest extends AbstractProvisioningTest {
-
- public void testEuropaSite() {
- DefaultSiteParser parser = new DefaultSiteParser();
- try {
- parser.parse(TestData.get("generator", "Europa/site.xml"));
- } catch (SAXException e) {
- fail("4.98", e);
- } catch (IOException e) {
- fail("4.99", e);
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/TestGeneratorInfo.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/TestGeneratorInfo.java
deleted file mode 100644
index def32fb..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/TestGeneratorInfo.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.generator;
-
-import java.io.File;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.ConfigData;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.LauncherData;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepository;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.IGeneratorInfo;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.p2.tests.TestArtifactRepository;
-import org.eclipse.equinox.p2.tests.TestMetadataRepository;
-
-/**
- * Simple implementation of IGeneratorInfo used for testing purposes.
- */
-public class TestGeneratorInfo implements IGeneratorInfo {
-
- private IArtifactRepository artifactRepo;
- private File baseLocation;
- private String flavor;
- private IMetadataRepository metadataRepo;
- private String rootId;
- private String rootVersion;
- private String launcherConfig;
- private URL siteLocation;
- private boolean updateCompatibilty = false;
-
- public TestGeneratorInfo(File baseLocation) {
- this.baseLocation = baseLocation;
- }
-
- public boolean addDefaultIUs() {
- return false;
- }
-
- public boolean append() {
- return false;
- }
-
- public IArtifactRepository getArtifactRepository() {
- if (artifactRepo == null)
- artifactRepo = new TestArtifactRepository();
- return artifactRepo;
- }
-
- public File[] getBundleLocations() {
- File[] children = new File(baseLocation, "plugins").listFiles();
- return children == null ? new File[0] : children;
- }
-
- public ConfigData getConfigData() {
- return null;
- }
-
- public File getConfigurationLocation() {
- return new File(baseLocation, "configuration");
- }
-
- public ArrayList getDefaultIUs(Set ius) {
- return null;
- }
-
- public File getExecutableLocation() {
- return null;
- }
-
- public File getFeaturesLocation() {
- return new File(baseLocation, "features");
- }
-
- public String getFlavor() {
- return flavor;
- }
-
- public File getJRELocation() {
- return null;
- }
-
- public LauncherData getLauncherData() {
- return null;
- }
-
- public String[][] getMappingRules() {
- return null;
- }
-
- public IMetadataRepository getMetadataRepository() {
- if (metadataRepo == null)
- metadataRepo = new TestMetadataRepository(new IInstallableUnit[0]);
- return metadataRepo;
- }
-
- public String getRootId() {
- return rootId;
- }
-
- public String getRootVersion() {
- return rootVersion;
- }
-
- public URL getSiteLocation() {
- return siteLocation;
- }
-
- public String getLauncherConfig() {
- return launcherConfig;
- }
-
- public boolean publishArtifactRepository() {
- return false;
- }
-
- public boolean publishArtifacts() {
- return false;
- }
-
- public void setArtifactRepository(IArtifactRepository value) {
- this.artifactRepo = value;
- }
-
- public void setFlavor(String value) {
- this.flavor = value;
- }
-
- public void setMetadataRepository(IMetadataRepository value) {
- this.metadataRepo = value;
- }
-
- public void setPublishArtifacts(boolean value) {
- }
-
- public void setRootId(String value) {
- this.rootId = value;
- }
-
- public void setSiteLocation(URL location) {
- this.siteLocation = location;
- }
-
- public void setLauncherConfig(String launcherConfig) {
- this.launcherConfig = launcherConfig;
- }
-
- public boolean getIsUpdateCompatible() {
- return this.updateCompatibilty;
- }
-
- public void setIsUpdateCompatible(boolean isCompatible) {
- this.updateCompatibilty = isCompatible;
- }
-
- public boolean reuseExistingPack200Files() {
- return false;
- }
-
- public void reuseExistingPack200Files(boolean publishPack) {
- //
- }
-
- public String getProductFile() {
- // TODO Auto-generated method stub
- return null;
- }
-
- public Collection getOtherIUs() {
- return Collections.EMPTY_LIST;
- }
-
- public String getVersionAdvice() {
- // TODO Auto-generated method stub
- return null;
- }
-
- public void setVersionAdvice(String advice) {
- // TODO Auto-generated method stub
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/AllTests.java
deleted file mode 100644
index 99105a2..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/AllTests.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.metadata;
-
-import junit.framework.*;
-
-/**
- * Performs all metadata tests.
- */
-public class AllTests extends TestCase {
-
- public static Test suite() {
- TestSuite suite = new TestSuite(AllTests.class.getName());
- suite.addTestSuite(ArtifactKeyParsingTest.class);
- suite.addTestSuite(FragmentMethodTest.class);
- suite.addTestSuite(FragmentTest.class);
- suite.addTestSuite(IUPersistenceTest.class);
- suite.addTestSuite(LicenseTest.class);
- suite.addTestSuite(MultipleIUAndFragmentTest.class);
- return suite;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/ArtifactKeyParsingTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/ArtifactKeyParsingTest.java
deleted file mode 100644
index e5b5015..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/ArtifactKeyParsingTest.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 compeople AG and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * compeople AG (Stefan Liebig) - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.metadata;
-
-import junit.framework.TestCase;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-import org.osgi.framework.Version;
-
-/**
- * Test <code>ArtifactkeyDeSerializer</code>
- */
-public class ArtifactKeyParsingTest extends TestCase {
-
- public void testSerialize() {
- IArtifactKey key = new ArtifactKey("classifier", "identifier", new Version("1.0"));
- assertEquals("classifier,identifier,1.0.0", key.toExternalForm());
- }
-
- public void testSerializeEmptyClassifier() {
- IArtifactKey key = new ArtifactKey("", "identifier", new Version("1.0"));
- assertEquals(",identifier,1.0.0", key.toExternalForm());
- }
-
- public void testDeserialize() {
- IArtifactKey key = ArtifactKey.parse("classifier,identifier,1.0.0");
- assertNotNull(key);
- assertEquals("classifier", key.getClassifier());
- assertEquals("identifier", key.getId());
- assertEquals(new Version("1.0"), key.getVersion());
- }
-
- public void testDeserializeEmptyClassifier() {
- IArtifactKey key = ArtifactKey.parse(",identifier,1.0.0");
- assertNotNull(key);
- assertEquals("", key.getClassifier());
- assertEquals("identifier", key.getId());
- assertEquals(new Version("1.0"), key.getVersion());
- }
-
- public void testDeserializeEmptyIdentifier() {
- IArtifactKey key = ArtifactKey.parse("classifier,,1.0.0");
- assertNotNull(key);
- assertEquals("classifier", key.getClassifier());
- assertEquals("", key.getId());
- assertEquals(new Version("1.0"), key.getVersion());
- }
-
- public void testDeserializeEmptyVersion() {
- IArtifactKey key = ArtifactKey.parse("classifier,identifier,");
- assertNotNull(key);
- assertEquals("classifier", key.getClassifier());
- assertEquals("identifier", key.getId());
- assertEquals(new Version("0.0"), key.getVersion());
- }
-
- public void testDeserializeEmptyEverything() {
- IArtifactKey key = ArtifactKey.parse(",,");
- assertNotNull(key);
- assertEquals("", key.getClassifier());
- assertEquals("", key.getId());
- assertEquals(new Version("0.0"), key.getVersion());
- }
-
- public void testDeserializeTooFewPartsI() {
- try {
- ArtifactKey.parse("");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- }
-
- public void testDeserializeTooManyPartsI() {
- try {
- ArtifactKey.parse(",,,,");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- }
-
- public void testDeserializeTooFewPartsII() {
- try {
- ArtifactKey.parse("classifier");
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(true);
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/FragmentMethodTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/FragmentMethodTest.java
deleted file mode 100644
index 3591a5f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/FragmentMethodTest.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.metadata;
-
-import java.util.*;
-import junit.framework.AssertionFailedError;
-import junit.framework.TestCase;
-import org.eclipse.equinox.internal.p2.resolution.ResolutionHelper;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitFragmentDescription;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class FragmentMethodTest extends TestCase {
- private static final String PROP_FRAG = "propFrag";
- private static final String PROP_IU = "propIU";
- private static final String TEST_REQUIRED = "testRequired";
- IInstallableUnit iu1;
- IInstallableUnit iu3;
- RequiredCapability[] iu1Deps;
- RequiredCapability[] iu3Deps;
- ProvidedCapability[] iu1Caps;
- ProvidedCapability[] iu3Caps;
-
- protected void setUp() throws Exception {
- super.setUp();
- iu1 = createIU("iu.test1");
- iu3 = createIUFragment("iu.fragment");
- iu1Caps = iu1.getProvidedCapabilities();
- iu3Caps = iu3.getProvidedCapabilities();
- iu1Deps = iu1.getRequiredCapabilities();
- iu3Deps = iu3.getRequiredCapabilities();
- HashSet hash = new HashSet();
- hash.add(iu1);
- hash.add(iu3);
- Collection result = new ResolutionHelper(new Hashtable(), null).attachCUs(hash);
- for (Iterator iterator = result.iterator(); iterator.hasNext();) {
- IInstallableUnit iu = (IInstallableUnit) iterator.next();
- if (iu.getId().equals(iu1.getId()))
- iu1 = iu;
- if (iu.getId().equals(iu3.getId()))
- iu3 = iu;
- }
- }
-
- protected void tearDown() throws Exception {
- iu1 = null;
- iu3 = null;
- iu1Deps = null;
- iu3Deps = null;
- iu1Caps = null;
- iu3Caps = null;
- super.tearDown();
- }
-
- public void testCapabilities() {
- ProvidedCapability[] iuCapabilities = iu1Caps;
- ProvidedCapability[] initialFragmentCapabilities = iu3Caps;
-
- ProvidedCapability[] mergedCapabilities = iu1.getProvidedCapabilities();
- for (int i = 0; i < iuCapabilities.length; i++) {
- FragmentTest.assertContainsWithEquals(mergedCapabilities, iuCapabilities[i]);
- }
-
- //The fragment property is not set
- assertNull(iu1.getProperty(IInstallableUnit.PROP_TYPE_FRAGMENT));
-
- //The fragment does not contain iu namespace
- for (int i = 0; i < initialFragmentCapabilities.length; i++) {
- if (initialFragmentCapabilities[i].getNamespace().equals(IInstallableUnit.NAMESPACE_IU_ID)) {
- assertDoesNotContain(mergedCapabilities, initialFragmentCapabilities[i]);
- break;
- }
- }
-
- assertEquals("The fragment capabilities should not change", initialFragmentCapabilities, iu3.getProvidedCapabilities(), false);
- }
-
- protected void assertEquals(String message, Object[] expected, Object[] actual) {
- if (expected == null && actual == null)
- return;
- if (expected == null || actual == null)
- fail(message);
- if (expected.length != actual.length)
- fail(message);
- for (int i = 0; i < expected.length; i++)
- assertEquals(message, expected[i], actual[i]);
- }
-
- protected void assertEquals(String message, Object[] expected, Object[] actual, boolean orderImportant) {
- // if the order in the array must match exactly, then call the other method
- if (orderImportant) {
- assertEquals(message, expected, actual);
- return;
- }
- // otherwise use this method and check that the arrays are equal in any order
- if (expected == null && actual == null)
- return;
- if (expected == actual)
- return;
- if (expected == null || actual == null)
- assertTrue(message + ".1", false);
- if (expected.length != actual.length)
- assertTrue(message + ".2", false);
- boolean[] found = new boolean[expected.length];
- for (int i = 0; i < expected.length; i++) {
- for (int j = 0; j < expected.length; j++) {
- if (!found[j] && expected[i].equals(actual[j]))
- found[j] = true;
- }
- }
- for (int i = 0; i < found.length; i++)
- if (!found[i])
- assertTrue(message + ".3." + i, false);
- }
-
- public static void assertDoesNotContain(Object[] objects, Object searched) {
- for (int i = 0; i < objects.length; i++) {
- if (objects[i].equals(searched))
- throw new AssertionFailedError("The array should not contain the searched element");
- }
- }
-
- public void testProperties() {
- assertNotNull("The property is missing", iu3.getProperty(PROP_FRAG));
- assertNotNull("The property is missing", iu1.getProperty(PROP_IU));
- assertNull("The property should not be available", iu1.getProperty("doesnotexist"));
- }
-
- public IInstallableUnit createIUFragment(String name) {
- InstallableUnitFragmentDescription iu = new InstallableUnitFragmentDescription();
- iu.setId(name);
- iu.setVersion(new Version(1, 0, 0));
- iu.setTouchpointType(AbstractProvisioningTest.TOUCHPOINT_OSGI);
- iu.setProperty(PROP_FRAG, "value");
- RequiredCapability[] reqs = new RequiredCapability[] {MetadataFactory.createRequiredCapability("eclipse.touchpoint", "bundle", VersionRange.emptyRange, null, false, true), MetadataFactory.createRequiredCapability(TEST_REQUIRED, TEST_REQUIRED, VersionRange.emptyRange, null, true, false)};
- iu.setHost(reqs);
- ProvidedCapability[] cap = new ProvidedCapability[] {MetadataFactory.createProvidedCapability("testCapabilityInFragment", "testCapabilityInFragment", new Version(1, 0, 0))};
- iu.setCapabilities(cap);
- return MetadataFactory.createInstallableUnitFragment(iu);
- }
-
- public IInstallableUnit createIU(String name) {
- InstallableUnitDescription iu = new MetadataFactory.InstallableUnitDescription();
- iu.setId(name);
- iu.setVersion(new Version(1, 0, 0));
- iu.setTouchpointType(AbstractProvisioningTest.TOUCHPOINT_OSGI);
- iu.setProperty(PROP_IU, "valueIU");
- ProvidedCapability[] cap = new ProvidedCapability[] {MetadataFactory.createProvidedCapability("eclipse.touchpoint", "bundle", new Version(1, 0, 0)), MetadataFactory.createProvidedCapability("testCapability", "testCapability", new Version(1, 0, 0))};
- iu.setCapabilities(cap);
- return MetadataFactory.createInstallableUnit(iu);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/FragmentTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/FragmentTest.java
deleted file mode 100644
index 032ec0a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/FragmentTest.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.metadata;
-
-import java.util.*;
-import junit.framework.AssertionFailedError;
-import org.eclipse.equinox.internal.p2.resolution.ResolutionHelper;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class FragmentTest extends AbstractProvisioningTest {
-
- public void testAssociation() {
- String ID = "ui.test1";
- IInstallableUnit iu1 = createEclipseIU(ID);
- IInstallableUnit iu2 = createBundleFragment("iuFragment.test1");
- ResolutionHelper rh = new ResolutionHelper(new Hashtable(), null);
- HashSet set = new HashSet();
- set.add(iu1);
- set.add(iu2);
- Collection result = rh.attachCUs(set);
- for (Iterator iterator = result.iterator(); iterator.hasNext();) {
- IInstallableUnit iu = (IInstallableUnit) iterator.next();
- if (iu.getId().equals(ID)) {
- assertEquals(iu.getFragments().length, 1);
- assertEquals(iu.getFragments()[0].getId(), "iuFragment.test1");
- }
- }
- }
-
- public void testAssociation2() {
- String ID1 = "ui.test1";
- String ID3 = "ui.test3";
- IInstallableUnit iu1 = createEclipseIU(ID1);
- IInstallableUnit iu3 = createEclipseIU(ID3);
- IInstallableUnit iu2 = createBundleFragment("iuFragment.test1");
- ResolutionHelper rh = new ResolutionHelper(new Hashtable(), null);
- HashSet set = new HashSet();
- set.add(iu1);
- set.add(iu2);
- set.add(iu3);
- Collection result = rh.attachCUs(set);
- for (Iterator iterator = result.iterator(); iterator.hasNext();) {
- IInstallableUnit iu = (IInstallableUnit) iterator.next();
- if (iu.getId().equals(ID1)) {
- assertEquals(iu.getFragments().length, 1);
- assertEquals(iu.getFragments()[0].getId(), "iuFragment.test1");
- }
- if (iu.getId().equals(ID3)) {
- assertEquals(iu.getFragments().length, 1);
- assertEquals(iu.getFragments()[0].getId(), "iuFragment.test1");
- }
- }
- }
-
- public void testTouchpointData() {
- assertEquals(createIUWithTouchpointData().getTouchpointData().length, 1);
- assertEquals(createBundleFragment("iuFragment.test1").getTouchpointData().length, 1);
- IInstallableUnit iu1 = createIUWithTouchpointData();
- IInstallableUnit iu2 = createBundleFragment("iuFragment.test1");
- ResolutionHelper rh = new ResolutionHelper(new Hashtable(), null);
- HashSet set = new HashSet();
- set.add(iu1);
- set.add(iu2);
- Collection result = rh.attachCUs(set);
- for (Iterator iterator = result.iterator(); iterator.hasNext();) {
- IInstallableUnit iu = (IInstallableUnit) iterator.next();
- if (iu.getId().equals(iu1.getId()))
- assertEquals(2, iu.getTouchpointData().length);
-
- }
- }
-
- public void testFragmentCapability() {
- IInstallableUnit iu = createBundleFragment("iuFragment.test1");
- assertEquals(Boolean.TRUE.toString(), iu.getProperty(IInstallableUnit.PROP_TYPE_FRAGMENT));
- }
-
- public void testDefaultIUCapability() {
- IInstallableUnit iu = createEclipseIU("ui.test1");
- ProvidedCapability[] cap = iu.getProvidedCapabilities();
- for (int i = 0; i < cap.length; i++) {
- if (cap[i].getNamespace().equals(IInstallableUnit.NAMESPACE_IU_ID)) {
- assertEquals(cap[i].getNamespace(), IInstallableUnit.NAMESPACE_IU_ID);
- assertEquals(cap[i].getName(), iu.getId());
- return;
- }
- }
- throw new AssertionFailedError("No capability for the iu id");
- }
-
- public static void assertContains(Object[] objects, Object searched) {
- for (int i = 0; i < objects.length; i++) {
- if (objects[i] == searched)
- return;
- }
- throw new AssertionFailedError("The array does not contain the searched element");
- }
-
- public static void assertContainsWithEquals(Object[] objects, Object searched) {
- for (int i = 0; i < objects.length; i++) {
- if (objects[i].equals(searched))
- return;
- }
- throw new AssertionFailedError("The array does not contain the searched element");
- }
-
- private IInstallableUnit createIUWithTouchpointData() {
- TouchpointData data = MetadataFactory.createTouchpointData(new HashMap());
- return createEclipseIU("ui.test1", DEFAULT_VERSION, NO_REQUIRES, data);
- }
-
- // private IInstallableUnit createIUFragmentWithTouchpointData() {
- // TouchpointData data = MetadataFactory.createTouchpointData(new HashMap());
- // IInstallableUnitFragment unit = createBundleFragment("iuFragment.test1");
- // return unit;
- // }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/IUPatchPersistenceTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/IUPatchPersistenceTest.java
deleted file mode 100644
index 62cc374..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/IUPatchPersistenceTest.java
+++ /dev/null
@@ -1,370 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.metadata;
-
-import java.io.*;
-import java.util.*;
-import javax.xml.parsers.ParserConfigurationException;
-import org.eclipse.equinox.internal.p2.core.helpers.OrderedProperties;
-import org.eclipse.equinox.internal.p2.metadata.InstallableUnit;
-import org.eclipse.equinox.internal.p2.metadata.repository.io.MetadataParser;
-import org.eclipse.equinox.internal.p2.metadata.repository.io.MetadataWriter;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.Version;
-import org.xml.sax.*;
-
-public class IUPatchPersistenceTest extends AbstractProvisioningTest {
-
- // Randomly chose org.eclipse.osgi.services as the IU for testing persistence
- // but 'enhanced' it for better coverage.
- private static String PackagesNS = "osgi.packages";
-
- private static String id = "org.eclipse.osgi.services";
- private static Version version = new Version("3.1.200.v20070605");
- private static String filter = "(& (osgi.ws=win32) (osgi.os=win32) (osgi.arch=x86))"; // not really
-
- private static String[][] properties = new String[][] {new String[] {"equinox.p2.name", "OSGi Release 4.0.1 Services"}, //
- new String[] {"equinox.p2.description", "OSGi Service Platform Release 4.0.1 Service Interfaces and Classes"}, //
- new String[] {"equinox.p2.provider", "Eclipse.org"}, //
- new String[] {"equinox.p2.contact", "www.eclipse.org"}, //
- new String[] {"equinox.p2.copyright", "Copyright (c) 2003, 2004 IBM Corporation and others. A long-winded copyright notice."}};
-
- private static String[][] provides = new String[][] {new String[] {PackagesNS, "org.osgi.service.cm", "1.2.0"}, //
- new String[] {PackagesNS, "org.osgi.service.component", "1.0.0"}, //
- new String[] {PackagesNS, "org.osgi.service.device", "1.1.0"}, //
- new String[] {PackagesNS, "org.osgi.service.event", "1.1.0"}, //
- new String[] {PackagesNS, "org.osgi.service.http", "1.2.0"}, //
- new String[] {PackagesNS, "org.osgi.service.io", "1.0.0"}, //
- new String[] {PackagesNS, "org.osgi.service.log", "1.3.0"}, //
- new String[] {PackagesNS, "org.osgi.service.metatype", "1.1.0"}, //
- new String[] {PackagesNS, "org.osgi.service.provisioning", "1.1.0"}, //
- new String[] {PackagesNS, "org.osgi.service.upnp", "1.1.0"}, //
- new String[] {PackagesNS, "org.osgi.service.useradmin", "1.1.0"}, //
- new String[] {PackagesNS, "org.osgi.service.wireadmin", "1.0.0"}}; //
-
- private static String[][] requires = new String[][] {new String[] {PackagesNS, "javax.servlet", "0.0.0", "true"}, //
- new String[] {PackagesNS, "javax.servlet.http", "0.0.0", "true"}, //
- new String[] {PackagesNS, "org.osgi.framework", "1.2.0", "false"}}; //
-
- private static String[][] instructions = new String[][] {new String[] {"manifest", "Manifest-Version: 1.0\\Bundle-Vendor: Eclipse.org\\Bundle-ContactAddress: www.eclipse.org\\...a whole bunch of other manifest content..."}, new String[] {"zipped", "true"}, //
- new String[] {"configure", "addProgramArg(programArg:-startup);addProgramArg(programArg:@artifact);"}}; //
-
- public static IInstallableUnit createPersistenceTestIU() {
- Map propertyMap = createProperties(properties);
- ProvidedCapability[] additionalProvides = createProvided(provides);
- RequiredCapability[] requirements = createRequired(requires);
- TouchpointData tpData = createTouchpointData(instructions);
- IUpdateDescriptor update = createUpdateDescriptor();
- boolean singleton = false;
- IInstallableUnit iu = createIU(id, version, filter, requirements, additionalProvides, propertyMap, TOUCHPOINT_OSGI, tpData, singleton, update);
- return iu;
- }
-
- private static IUpdateDescriptor createUpdateDescriptor() {
- return MetadataFactory.createUpdateDescriptor(id, new VersionRange(IU_TEST_VERSION, true, IU_TEST_VERSION, true), IUpdateDescriptor.HIGH, "desc");
- }
-
- private static Map createProperties(String[][] keyValuePairs) {
- OrderedProperties props = new OrderedProperties(keyValuePairs.length);
- for (int i = 0; i < keyValuePairs.length; i++) {
- String[] nextPair = keyValuePairs[i];
- props.put(nextPair[0], nextPair[1]);
- }
- return props;
- }
-
- private static ProvidedCapability[] createProvided(String[][] provideTuples) {
- ProvidedCapability[] provided = new ProvidedCapability[provideTuples.length];
- for (int i = 0; i < provideTuples.length; i++) {
- String[] nextTuple = provideTuples[i];
- provided[i] = MetadataFactory.createProvidedCapability(nextTuple[0], nextTuple[1], new Version(nextTuple[2]));
- }
- // provided[provideTuples.length] = BUNDLE_CAPABILITY;
- return provided;
- }
-
- private static RequiredCapability[] createRequired(String[][] requireTuples) {
- RequiredCapability[] required = new RequiredCapability[requireTuples.length];
- for (int i = 0; i < requireTuples.length; i++) {
- String[] nextTuple = requireTuples[i];
- required[i] = MetadataFactory.createRequiredCapability(nextTuple[0], nextTuple[1], new VersionRange(nextTuple[2]), null, Boolean.valueOf(nextTuple[3]).booleanValue(), false);
- }
- return required;
- }
-
- private static TouchpointData createTouchpointData(String[][] instructionData) {
- Map map = new LinkedHashMap(instructionData.length);
- for (int i = 0; i < instructionData.length; i++) {
- String[] nextInstruction = instructionData[i];
- map.put(nextInstruction[0], nextInstruction[1]);
- }
- return MetadataFactory.createTouchpointData(map);
- }
-
- private static String IU_TEST_TARGET = "installableUnitTest";
- private static Version IU_TEST_VERSION = new Version("0.0.1");
-
- private static String IU_TEST_ELEMENT = "test";
-
- class IUStringWriter extends MetadataWriter {
-
- public IUStringWriter(ByteArrayOutputStream stream) throws IOException {
- super(stream, new ProcessingInstruction[] {ProcessingInstruction.makeClassVersionInstruction(IU_TEST_TARGET, InstallableUnit.class, IU_TEST_VERSION)});
- }
-
- public void writeTest(IInstallableUnit iu) {
- start(IU_TEST_ELEMENT);
- writeInstallableUnit(iu);
- end(IU_TEST_ELEMENT);
- flush();
- }
- }
-
- class IUStringParser extends MetadataParser {
-
- public IUStringParser(BundleContext context, String bundleId) {
- super(context, bundleId);
- }
-
- public void parse(String profileString) throws IOException {
- this.status = null;
- try {
- getParser();
- TestHandler testHandler = new TestHandler();
- xmlReader.setContentHandler(new IUDocHandler(IU_TEST_ELEMENT, testHandler));
- xmlReader.parse(new InputSource(new StringReader(profileString)));
- if (isValidXML()) {
- theIU = testHandler.getIU();
- }
- } catch (SAXException e) {
- throw new IOException(e.getMessage());
- } catch (ParserConfigurationException e) {
- fail();
- }
- }
-
- private IInstallableUnit theIU = null;
-
- private final class IUDocHandler extends DocHandler {
-
- public IUDocHandler(String rootName, RootHandler rootHandler) {
- super(rootName, rootHandler);
- }
-
- public void processingInstruction(String target, String data) throws SAXException {
- if (IU_TEST_TARGET.equals(target)) {
- String clazz = extractPIClass(data);
- try {
- if (!Class.forName(clazz).equals(InstallableUnit.class)) {
- throw new SAXException("Wrong class '" + clazz + "' in processing instruction"); //$NON-NLS-1$//$NON-NLS-2$
- }
- } catch (ClassNotFoundException e) {
- throw new SAXException("InstallableUnit class '" + clazz + "' not found"); //$NON-NLS-1$//$NON-NLS-2$
- }
-
- Version iuTestVersion = extractPIVersion(target, data);
- if (!IU_TEST_VERSION.equals(iuTestVersion)) {
- throw new SAXException("Bad iu test version.");
- }
- }
- }
- }
-
- private final class TestHandler extends RootHandler {
-
- private InstallableUnitHandler iuHandler = null;
-
- private InstallableUnit iu = null;
- private List singleton = new ArrayList(1);
-
- public TestHandler() {
- super();
- }
-
- public InstallableUnit getIU() {
- return iu;
- }
-
- protected void handleRootAttributes(Attributes attributes) {
- parseAttributes(attributes, noAttributes, noAttributes);
- }
-
- public void startElement(String name, Attributes attributes) {
- if (INSTALLABLE_UNIT_ELEMENT.equals(name)) {
- if (iuHandler == null) {
- iuHandler = new InstallableUnitHandler(this, attributes, singleton);
- } else {
- duplicateElement(this, name, attributes);
- }
- } else {
- invalidElement(name, attributes);
- }
- }
-
- protected void finished() {
- if (isValidXML()) {
- if (iuHandler != null && singleton.size() == 1) {
- iu = (InstallableUnit) iuHandler.getInstallableUnit();
- }
- }
- }
- }
-
- protected String getErrorMessage() {
- return "Error parsing installable unit string";
- }
-
- protected Object getRootObject() {
- return theIU;
- }
-
- }
-
- public void testIUPersistence() throws IOException {
- IInstallableUnit iu0 = createPersistenceTestIU();
- validateIU(iu0);
- ByteArrayOutputStream output0 = new ByteArrayOutputStream(3072);
- IUStringWriter writer0 = new IUStringWriter(output0);
- writer0.writeTest(iu0);
- String iuText0 = output0.toString();
- output0.close();
-
- IUStringParser parser = new IUStringParser(TestActivator.context, TestActivator.PI_PROV_TESTS);
- parser.parse(iuText0);
- assertTrue("Error parsing test iu: " + parser.getStatus().getMessage(), parser.getStatus().isOK());
- InstallableUnit iu1 = (InstallableUnit) parser.getRootObject();
- validateIU(iu1);
- ByteArrayOutputStream output1 = new ByteArrayOutputStream(1492);
- IUStringWriter writer = new IUStringWriter(output1);
- writer.writeTest(iu1);
- String iuText1 = output1.toString();
- output1.close();
- assertTrue("Installable unit write after read after write produced different XML", iuText1.equals(iuText0));
- }
-
- public void testIUPatchPersistence() throws IOException {
- IInstallableUnit iu0 = createPatchIU();
- validateIU(iu0);
- ByteArrayOutputStream output0 = new ByteArrayOutputStream(3072);
- IUStringWriter writer0 = new IUStringWriter(output0);
- writer0.writeTest(iu0);
- String iuText0 = output0.toString();
- output0.close();
-
- IUStringParser parser = new IUStringParser(TestActivator.context, TestActivator.PI_PROV_TESTS);
- parser.parse(iuText0);
- assertTrue("Error parsing test iu: " + parser.getStatus().getMessage(), parser.getStatus().isOK());
- InstallableUnitPatch iu1 = (InstallableUnitPatch) parser.getRootObject();
- validateIU(iu1);
- validateIUPatch(iu1);
- ByteArrayOutputStream output1 = new ByteArrayOutputStream(1492);
- IUStringWriter writer = new IUStringWriter(output1);
- writer.writeTest(iu1);
- String iuText1 = output1.toString();
- output1.close();
- assertTrue("Installable unit write after read after write produced different XML", iuText1.equals(iuText0));
-
- }
-
- private IInstallableUnitPatch createPatchIU() {
- Map propertyMap = createProperties(properties);
- ProvidedCapability[] additionalProvides = createProvided(provides);
- RequiredCapability[] requirements = createRequired(requires);
- TouchpointData tpData = createTouchpointData(instructions);
- IUpdateDescriptor update = createUpdateDescriptor();
- boolean singleton = false;
- RequirementChange change1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
- RequirementChange change2 = new RequirementChange(null, MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
- RequirementChange change3 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), null);
- RequiredCapability[][] scope = new RequiredCapability[][] { {MetadataFactory.createRequiredCapability("foo", "bar", null, null, true, true), MetadataFactory.createRequiredCapability("foo", "bar", null, null, true, true)}, {MetadataFactory.createRequiredCapability("zoo", "far", null, null, true, true)}};
- RequiredCapability lifeCycle = MetadataFactory.createRequiredCapability("zoo", "x", null, null, false, false, false);
- IInstallableUnitPatch iu = createIUPatch(id, version, filter, requirements, additionalProvides, propertyMap, TOUCHPOINT_OSGI, tpData, singleton, update, new RequirementChange[] {change1, change2, change3}, scope, lifeCycle);
- return iu;
- }
-
- private static void validateIUPatch(IInstallableUnitPatch iu) {
- validateIU(iu);
- assertTrue(iu.getApplicabilityScope() != null);
- assertTrue(iu.getRequiredCapabilities() != null);
- assertEquals(3, iu.getRequirementsChange().length);
- assertEquals(null, iu.getRequirementsChange()[1].applyOn());
- assertNotNull(iu.getRequirementsChange()[1].newValue());
- assertEquals(null, iu.getRequirementsChange()[2].newValue());
- assertNotNull(iu.getRequirementsChange()[2].applyOn());
- assertEquals(2, iu.getApplicabilityScope().length);
- assertEquals(2, iu.getApplicabilityScope()[0].length);
- assertEquals(1, iu.getApplicabilityScope()[1].length);
- assertNotNull(iu.getLifeCycle());
- }
-
- private static void validateIU(IInstallableUnit iu) {
- assertTrue("Installable unit id is not correct", id.equals(iu.getId()));
- assertTrue("Installable unit version is not correct", version.equals(iu.getVersion()));
- assertTrue("Installable unit filter is not correct", filter.equals(iu.getFilter()));
- // assertTrue("Installable unit properties are not correct", Arrays.equals(properties, extractProperties(iu)));
- assertTrue("Installable unit properties are not correct", equal(properties, extractProperties(iu)));
- assertTrue("Installable unit provided capabilities are not correct", equal(addSelfCapability(iu, provides), extractProvides(iu)));
- // assertTrue("Installable unit required capabilities are not correct", equal(requires, extractRequires(iu))); The lifecycle is added as a requirement for now to make things easier
- assertTrue("Installable unit update descriptor are not correct", id.equals(iu.getUpdateDescriptor().getId()));
- assertTrue("Installable unit update descriptor are not correct", IUpdateDescriptor.HIGH == iu.getUpdateDescriptor().getSeverity());
- assertTrue("Installable unit update descriptor are not correct", "desc".equals(iu.getUpdateDescriptor().getDescription()));
- assertTrue("Installable unit update descriptor are not correct", new VersionRange(IU_TEST_VERSION, true, IU_TEST_VERSION, true).equals(iu.getUpdateDescriptor().getRange()));
- }
-
- private static String[][] extractProperties(IInstallableUnit iu) {
- Map props = iu.getProperties();
- Set keys = props.keySet();
- String[][] pairs = new String[keys.size()][2];
- int index = 0;
- for (Iterator iter = keys.iterator(); iter.hasNext();) {
- String nextKey = (String) iter.next();
- String nextValue = (String) props.get(nextKey);
- pairs[index] = new String[] {nextKey, nextValue};
- index++;
- }
- return pairs;
- }
-
- private static String[][] addSelfCapability(IInstallableUnit iu, String[][] provideTuples) {
- String[][] augmentedProvides = new String[provideTuples.length + 1][3];
- ProvidedCapability self = getSelfCapability(iu);
- augmentedProvides[0] = new String[] {self.getNamespace(), self.getName(), self.getVersion().toString()};
- for (int i = 0; i < provideTuples.length; i++) {
- augmentedProvides[i + 1] = provideTuples[i];
- }
- return augmentedProvides;
- }
-
- private static String[][] extractProvides(IInstallableUnit iu) {
- ProvidedCapability[] provydes = iu.getProvidedCapabilities();
- String[][] tuples = new String[provydes.length][3];
- for (int i = 0; i < provydes.length; i++) {
- ProvidedCapability next = provydes[i];
- tuples[i] = new String[] {next.getNamespace(), next.getName(), next.getVersion().toString()};
- }
- return tuples;
- }
-
- // private static String[][] extractRequires(IInstallableUnit iu) {
- // RequiredCapability[] requyres = iu.getRequiredCapabilities();
- // String[][] tuples = new String[requyres.length][4];
- // for (int i = 0; i < requyres.length; i++) {
- // RequiredCapability next = requyres[i];
- // tuples[i] = new String[] {next.getNamespace(), next.getName(), next.getRange().toString(), Boolean.valueOf(next.isOptional()).toString()};
- // }
- // return tuples;
- // }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/IUPersistenceTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/IUPersistenceTest.java
deleted file mode 100644
index fe852e5..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/IUPersistenceTest.java
+++ /dev/null
@@ -1,369 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.metadata;
-
-import java.io.*;
-import java.util.*;
-import javax.xml.parsers.ParserConfigurationException;
-import org.eclipse.equinox.internal.p2.core.helpers.OrderedProperties;
-import org.eclipse.equinox.internal.p2.metadata.InstallableUnit;
-import org.eclipse.equinox.internal.p2.metadata.repository.io.MetadataParser;
-import org.eclipse.equinox.internal.p2.metadata.repository.io.MetadataWriter;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.Version;
-import org.xml.sax.*;
-
-public class IUPersistenceTest extends AbstractProvisioningTest {
-
- // Randomly chose org.eclipse.osgi.services as the IU for testing persistence
- // but 'enhanced' it for better coverage.
- private static String PackagesNS = "osgi.packages";
-
- private static String id = "org.eclipse.osgi.services";
- private static Version version = new Version("3.1.200.v20070605");
- private static String filter = "(& (osgi.ws=win32) (osgi.os=win32) (osgi.arch=x86))"; // not really
-
- private static String[][] properties = new String[][] {new String[] {"equinox.p2.name", "OSGi Release 4.0.1 Services"}, //
- new String[] {"equinox.p2.description", "OSGi Service Platform Release 4.0.1 Service Interfaces and Classes"}, //
- new String[] {"equinox.p2.provider", "Eclipse.org"}, //
- new String[] {"equinox.p2.contact", "www.eclipse.org"}, //
- new String[] {"equinox.p2.copyright", "Copyright (c) 2003, 2004 IBM Corporation and others. A long-winded copyright notice."}};
-
- private static String[][] provides = new String[][] {new String[] {PackagesNS, "org.osgi.service.cm", "1.2.0"}, //
- new String[] {PackagesNS, "org.osgi.service.component", "1.0.0"}, //
- new String[] {PackagesNS, "org.osgi.service.device", "1.1.0"}, //
- new String[] {PackagesNS, "org.osgi.service.event", "1.1.0"}, //
- new String[] {PackagesNS, "org.osgi.service.http", "1.2.0"}, //
- new String[] {PackagesNS, "org.osgi.service.io", "1.0.0"}, //
- new String[] {PackagesNS, "org.osgi.service.log", "1.3.0"}, //
- new String[] {PackagesNS, "org.osgi.service.metatype", "1.1.0"}, //
- new String[] {PackagesNS, "org.osgi.service.provisioning", "1.1.0"}, //
- new String[] {PackagesNS, "org.osgi.service.upnp", "1.1.0"}, //
- new String[] {PackagesNS, "org.osgi.service.useradmin", "1.1.0"}, //
- new String[] {PackagesNS, "org.osgi.service.wireadmin", "1.0.0"}}; //
-
- private static String[][] requires = new String[][] {new String[] {PackagesNS, "javax.servlet", "0.0.0", "true"}, //
- new String[] {PackagesNS, "javax.servlet.http", "0.0.0", "true"}, //
- new String[] {PackagesNS, "org.osgi.framework", "1.2.0", "false"}}; //
-
- private static String[][] instructions = new String[][] {new String[] {"manifest", "Manifest-Version: 1.0\\Bundle-Vendor: Eclipse.org\\Bundle-ContactAddress: www.eclipse.org\\...a whole bunch of other manifest content..."}, new String[] {"zipped", "true"}, //
- new String[] {"configure", "addProgramArg(programArg:-startup);addProgramArg(programArg:@artifact);"}}; //
-
- public static IInstallableUnit createPersistenceTestIU() {
- Map propertyMap = createProperties(properties);
- ProvidedCapability[] additionalProvides = createProvided(provides);
- RequiredCapability[] requirements = createRequired(requires);
- TouchpointData tpData = createTouchpointData(instructions);
- IUpdateDescriptor update = createUpdateDescriptor();
- boolean singleton = false;
- IInstallableUnit iu = createIU(id, version, filter, requirements, additionalProvides, propertyMap, TOUCHPOINT_OSGI, tpData, singleton, update);
- return iu;
- }
-
- private static IUpdateDescriptor createUpdateDescriptor() {
- return MetadataFactory.createUpdateDescriptor(id, new VersionRange(IU_TEST_VERSION, true, IU_TEST_VERSION, true), IUpdateDescriptor.HIGH, "desc");
- }
-
- private static Map createProperties(String[][] keyValuePairs) {
- OrderedProperties props = new OrderedProperties(keyValuePairs.length);
- for (int i = 0; i < keyValuePairs.length; i++) {
- String[] nextPair = keyValuePairs[i];
- props.put(nextPair[0], nextPair[1]);
- }
- return props;
- }
-
- private static ProvidedCapability[] createProvided(String[][] provideTuples) {
- ProvidedCapability[] provided = new ProvidedCapability[provideTuples.length];
- for (int i = 0; i < provideTuples.length; i++) {
- String[] nextTuple = provideTuples[i];
- provided[i] = MetadataFactory.createProvidedCapability(nextTuple[0], nextTuple[1], new Version(nextTuple[2]));
- }
- // provided[provideTuples.length] = BUNDLE_CAPABILITY;
- return provided;
- }
-
- private static RequiredCapability[] createRequired(String[][] requireTuples) {
- RequiredCapability[] required = new RequiredCapability[requireTuples.length];
- for (int i = 0; i < requireTuples.length; i++) {
- String[] nextTuple = requireTuples[i];
- required[i] = MetadataFactory.createRequiredCapability(nextTuple[0], nextTuple[1], new VersionRange(nextTuple[2]), null, Boolean.valueOf(nextTuple[3]).booleanValue(), false);
- }
- return required;
- }
-
- private static TouchpointData createTouchpointData(String[][] instructionData) {
- Map map = new LinkedHashMap(instructionData.length);
- for (int i = 0; i < instructionData.length; i++) {
- String[] nextInstruction = instructionData[i];
- map.put(nextInstruction[0], nextInstruction[1]);
- }
- return MetadataFactory.createTouchpointData(map);
- }
-
- private static String IU_TEST_TARGET = "installableUnitTest";
- private static Version IU_TEST_VERSION = new Version("0.0.1");
-
- private static String IU_TEST_ELEMENT = "test";
-
- class IUStringWriter extends MetadataWriter {
-
- public IUStringWriter(ByteArrayOutputStream stream) throws IOException {
- super(stream, new ProcessingInstruction[] {ProcessingInstruction.makeClassVersionInstruction(IU_TEST_TARGET, InstallableUnit.class, IU_TEST_VERSION)});
- }
-
- public void writeTest(IInstallableUnit iu) {
- start(IU_TEST_ELEMENT);
- writeInstallableUnit(iu);
- end(IU_TEST_ELEMENT);
- flush();
- }
- }
-
- class IUStringParser extends MetadataParser {
-
- public IUStringParser(BundleContext context, String bundleId) {
- super(context, bundleId);
- }
-
- public void parse(String profileString) throws IOException {
- this.status = null;
- try {
- getParser();
- TestHandler testHandler = new TestHandler();
- xmlReader.setContentHandler(new IUDocHandler(IU_TEST_ELEMENT, testHandler));
- xmlReader.parse(new InputSource(new StringReader(profileString)));
- if (isValidXML()) {
- theIU = testHandler.getIU();
- }
- } catch (SAXException e) {
- throw new IOException(e.getMessage());
- } catch (ParserConfigurationException e) {
- fail();
- }
- }
-
- private IInstallableUnit theIU = null;
-
- private final class IUDocHandler extends DocHandler {
-
- public IUDocHandler(String rootName, RootHandler rootHandler) {
- super(rootName, rootHandler);
- }
-
- public void processingInstruction(String target, String data) throws SAXException {
- if (IU_TEST_TARGET.equals(target)) {
- String clazz = extractPIClass(data);
- try {
- if (!Class.forName(clazz).equals(InstallableUnit.class)) {
- throw new SAXException("Wrong class '" + clazz + "' in processing instruction"); //$NON-NLS-1$//$NON-NLS-2$
- }
- } catch (ClassNotFoundException e) {
- throw new SAXException("InstallableUnit class '" + clazz + "' not found"); //$NON-NLS-1$//$NON-NLS-2$
- }
-
- Version iuTestVersion = extractPIVersion(target, data);
- if (!IU_TEST_VERSION.equals(iuTestVersion)) {
- throw new SAXException("Bad iu test version.");
- }
- }
- }
- }
-
- private final class TestHandler extends RootHandler {
-
- private InstallableUnitHandler iuHandler = null;
-
- private InstallableUnit iu = null;
- private List singleton = new ArrayList(1);
-
- public TestHandler() {
- super();
- }
-
- public InstallableUnit getIU() {
- return iu;
- }
-
- protected void handleRootAttributes(Attributes attributes) {
- parseAttributes(attributes, noAttributes, noAttributes);
- }
-
- public void startElement(String name, Attributes attributes) {
- if (INSTALLABLE_UNIT_ELEMENT.equals(name)) {
- if (iuHandler == null) {
- iuHandler = new InstallableUnitHandler(this, attributes, singleton);
- } else {
- duplicateElement(this, name, attributes);
- }
- } else {
- invalidElement(name, attributes);
- }
- }
-
- protected void finished() {
- if (isValidXML()) {
- if (iuHandler != null && singleton.size() == 1) {
- iu = (InstallableUnit) iuHandler.getInstallableUnit();
- }
- }
- }
- }
-
- protected String getErrorMessage() {
- return "Error parsing installable unit string";
- }
-
- protected Object getRootObject() {
- return theIU;
- }
-
- }
-
- public void testIUPersistence() throws IOException {
- IInstallableUnit iu0 = createPersistenceTestIU();
- validateIU(iu0);
- ByteArrayOutputStream output0 = new ByteArrayOutputStream(3072);
- IUStringWriter writer0 = new IUStringWriter(output0);
- writer0.writeTest(iu0);
- String iuText0 = output0.toString();
- output0.close();
-
- IUStringParser parser = new IUStringParser(TestActivator.context, TestActivator.PI_PROV_TESTS);
- parser.parse(iuText0);
- assertTrue("Error parsing test iu: " + parser.getStatus().getMessage(), parser.getStatus().isOK());
- InstallableUnit iu1 = (InstallableUnit) parser.getRootObject();
- validateIU(iu1);
- ByteArrayOutputStream output1 = new ByteArrayOutputStream(1492);
- IUStringWriter writer = new IUStringWriter(output1);
- writer.writeTest(iu1);
- String iuText1 = output1.toString();
- output1.close();
- assertTrue("Installable unit write after read after write produced different XML", iuText1.equals(iuText0));
- }
-
- public void testIUPatchPersistence() throws IOException {
- IInstallableUnit iu0 = createPatchIU();
- validateIU(iu0);
- ByteArrayOutputStream output0 = new ByteArrayOutputStream(3072);
- IUStringWriter writer0 = new IUStringWriter(output0);
- writer0.writeTest(iu0);
- String iuText0 = output0.toString();
- output0.close();
-
- IUStringParser parser = new IUStringParser(TestActivator.context, TestActivator.PI_PROV_TESTS);
- parser.parse(iuText0);
- assertTrue("Error parsing test iu: " + parser.getStatus().getMessage(), parser.getStatus().isOK());
- InstallableUnitPatch iu1 = (InstallableUnitPatch) parser.getRootObject();
- validateIU(iu1);
- validateIUPatch(iu1);
- ByteArrayOutputStream output1 = new ByteArrayOutputStream(1492);
- IUStringWriter writer = new IUStringWriter(output1);
- writer.writeTest(iu1);
- String iuText1 = output1.toString();
- output1.close();
- assertTrue("Installable unit write after read after write produced different XML", iuText1.equals(iuText0));
-
- }
-
- private IInstallableUnitPatch createPatchIU() {
- Map propertyMap = createProperties(properties);
- ProvidedCapability[] additionalProvides = createProvided(provides);
- RequiredCapability[] requirements = createRequired(requires);
- TouchpointData tpData = createTouchpointData(instructions);
- IUpdateDescriptor update = createUpdateDescriptor();
- boolean singleton = false;
- RequirementChange change1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
- RequirementChange change2 = new RequirementChange(null, MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
- RequirementChange change3 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), null);
- RequiredCapability[][] scope = new RequiredCapability[][] { {MetadataFactory.createRequiredCapability("foo", "bar", null, null, true, true), MetadataFactory.createRequiredCapability("foo", "bar", null, null, true, true)}, {MetadataFactory.createRequiredCapability("zoo", "far", null, null, true, true)}};
- IInstallableUnitPatch iu = createIUPatch(id, version, filter, requirements, additionalProvides, propertyMap, TOUCHPOINT_OSGI, tpData, singleton, update, new RequirementChange[] {change1, change2, change3}, scope, null);
- return iu;
- }
-
- private static void validateIUPatch(IInstallableUnitPatch iu) {
- validateIU(iu);
- assertTrue(iu.getApplicabilityScope() != null);
- assertTrue(iu.getRequiredCapabilities() != null);
- assertEquals(3, iu.getRequirementsChange().length);
- assertEquals(null, iu.getRequirementsChange()[1].applyOn());
- assertNotNull(iu.getRequirementsChange()[1].newValue());
- assertEquals(null, iu.getRequirementsChange()[2].newValue());
- assertNotNull(iu.getRequirementsChange()[2].applyOn());
- assertEquals(2, iu.getApplicabilityScope().length);
- assertEquals(2, iu.getApplicabilityScope()[0].length);
- assertEquals(1, iu.getApplicabilityScope()[1].length);
- assertNull(iu.getLifeCycle());
- }
-
- private static void validateIU(IInstallableUnit iu) {
- assertTrue("Installable unit id is not correct", id.equals(iu.getId()));
- assertTrue("Installable unit version is not correct", version.equals(iu.getVersion()));
- assertTrue("Installable unit filter is not correct", filter.equals(iu.getFilter()));
- // assertTrue("Installable unit properties are not correct", Arrays.equals(properties, extractProperties(iu)));
- assertTrue("Installable unit properties are not correct", equal(properties, extractProperties(iu)));
- assertTrue("Installable unit provided capabilities are not correct", equal(addSelfCapability(iu, provides), extractProvides(iu)));
- assertTrue("Installable unit required capabilities are not correct", equal(requires, extractRequires(iu)));
- assertTrue("Installable unit update descriptor are not correct", id.equals(iu.getUpdateDescriptor().getId()));
- assertTrue("Installable unit update descriptor are not correct", IUpdateDescriptor.HIGH == iu.getUpdateDescriptor().getSeverity());
- assertTrue("Installable unit update descriptor are not correct", "desc".equals(iu.getUpdateDescriptor().getDescription()));
- assertTrue("Installable unit update descriptor are not correct", new VersionRange(IU_TEST_VERSION, true, IU_TEST_VERSION, true).equals(iu.getUpdateDescriptor().getRange()));
- }
-
- private static String[][] extractProperties(IInstallableUnit iu) {
- Map props = iu.getProperties();
- Set keys = props.keySet();
- String[][] pairs = new String[keys.size()][2];
- int index = 0;
- for (Iterator iter = keys.iterator(); iter.hasNext();) {
- String nextKey = (String) iter.next();
- String nextValue = (String) props.get(nextKey);
- pairs[index] = new String[] {nextKey, nextValue};
- index++;
- }
- return pairs;
- }
-
- private static String[][] addSelfCapability(IInstallableUnit iu, String[][] provideTuples) {
- String[][] augmentedProvides = new String[provideTuples.length + 1][3];
- ProvidedCapability self = getSelfCapability(iu);
- augmentedProvides[0] = new String[] {self.getNamespace(), self.getName(), self.getVersion().toString()};
- for (int i = 0; i < provideTuples.length; i++) {
- augmentedProvides[i + 1] = provideTuples[i];
- }
- return augmentedProvides;
- }
-
- private static String[][] extractProvides(IInstallableUnit iu) {
- ProvidedCapability[] provydes = iu.getProvidedCapabilities();
- String[][] tuples = new String[provydes.length][3];
- for (int i = 0; i < provydes.length; i++) {
- ProvidedCapability next = provydes[i];
- tuples[i] = new String[] {next.getNamespace(), next.getName(), next.getVersion().toString()};
- }
- return tuples;
- }
-
- private static String[][] extractRequires(IInstallableUnit iu) {
- RequiredCapability[] requyres = iu.getRequiredCapabilities();
- String[][] tuples = new String[requyres.length][4];
- for (int i = 0; i < requyres.length; i++) {
- RequiredCapability next = requyres[i];
- tuples[i] = new String[] {next.getNamespace(), next.getName(), next.getRange().toString(), Boolean.valueOf(next.isOptional()).toString()};
- }
- return tuples;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/LicenseTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/LicenseTest.java
deleted file mode 100644
index ed1c21f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/LicenseTest.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.metadata;
-
-import junit.framework.TestCase;
-import org.eclipse.equinox.internal.provisional.p2.metadata.License;
-
-/**
- * Tests for License class
- */
-public class LicenseTest extends TestCase {
- public void testNormalize() {
- License licenseOne = new License(null, "a b");
- License licenseTwo = new License(null, "a\t\n\r \t\n\r b");
- assertEquals("1.0", licenseOne.getDigest(), licenseTwo.getDigest());
-
- licenseOne = new License(null, " a b c ");
- licenseTwo = new License(null, "a\t\nb\r \t\n\r c");
- assertEquals("1.1", licenseOne.getDigest(), licenseTwo.getDigest());
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/MultipleIUAndFragmentTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/MultipleIUAndFragmentTest.java
deleted file mode 100644
index 7b59cf1..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/MultipleIUAndFragmentTest.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.metadata;
-
-import java.util.*;
-import org.eclipse.equinox.internal.p2.resolution.ResolutionHelper;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-
-public class MultipleIUAndFragmentTest extends AbstractProvisioningTest {
-
- IInstallableUnit iu1;
- IInstallableUnit iu2;
- IInstallableUnit iu3;
- Collection result;
-
- protected void setUp() throws Exception {
- iu1 = createEclipseIU("one");
- iu2 = createIUWithDependencyOn("two", "one");
- iu3 = createBundleFragment("fragment");
- HashSet set = new HashSet();
- set.add(iu1);
- set.add(iu2);
- set.add(iu3);
- result = new ResolutionHelper(new Hashtable(), null).attachCUs(set);
- }
-
- protected void tearDown() throws Exception {
- super.tearDown();
- iu1 = null;
- iu2 = null;
- iu3 = null;
- }
-
- public void testAttachment() {
- for (Iterator iterator = result.iterator(); iterator.hasNext();) {
- IInstallableUnit iu = (IInstallableUnit) iterator.next();
- if (iu.getId().equals(iu1.getId())) {
- assertEquals(1, iu.getFragments().length);
- assertEquals(iu.getFragments()[0].getId(), iu3.getId());
- }
- if (iu.getId().equals(iu2.getId())) {
- assertEquals(1, iu.getFragments().length);
- assertEquals(iu.getFragments()[0].getId(), iu3.getId());
- }
- if (iu.getId().equals(iu3.getId())) {
- //fragments don't have fragments
- assertNull(iu.getFragments());
- }
- }
-
- }
-
- private static IInstallableUnit createIUWithDependencyOn(String iuName, String dependencyOn) {
- RequiredCapability[] requires = new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, dependencyOn, VersionRange.emptyRange, null, false, true)};
- return createEclipseIU(iuName, DEFAULT_VERSION, requires, NO_TP_DATA);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/AllTests.java
deleted file mode 100644
index 37775b2..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/AllTests.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.metadata.repository;
-
-import junit.framework.*;
-
-/**
- * Performs all automated metadata repository tests.
- */
-public class AllTests extends TestCase {
-
- public static Test suite() {
- TestSuite suite = new TestSuite(AllTests.class.getName());
- suite.addTestSuite(JarURLRepositoryTest.class);
- suite.addTestSuite(LocalMetadataRepositoryTest.class);
- suite.addTestSuite(MetadataRepositoryManagerTest.class);
- return suite;
- }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/JarURLRepositoryTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/JarURLRepositoryTest.java
deleted file mode 100644
index e6672ab..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/JarURLRepositoryTest.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.metadata.repository;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import junit.framework.TestCase;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.EclipseInstallGeneratorInfoProvider;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.Generator;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.osgi.framework.ServiceReference;
-
-public class JarURLRepositoryTest extends TestCase {
-
- private ServiceReference managerRef;
- private IMetadataRepositoryManager manager;
- private File testRepoJar;
-
- public JarURLRepositoryTest(String name) {
- super(name);
- }
-
- public JarURLRepositoryTest() {
- this("");
- }
-
- private static boolean deleteDirectory(File directory) {
- if (directory.exists() && directory.isDirectory()) {
- File[] files = directory.listFiles();
- for (int i = 0; i < files.length; i++) {
- if (files[i].isDirectory()) {
- deleteDirectory(files[i]);
- } else {
- files[i].delete();
- }
- }
- }
- return directory.delete();
- }
-
- protected void setUp() throws Exception {
- managerRef = TestActivator.getContext().getServiceReference(IMetadataRepositoryManager.class.getName());
- manager = (IMetadataRepositoryManager) TestActivator.getContext().getService(managerRef);
-
- EclipseInstallGeneratorInfoProvider provider = new EclipseInstallGeneratorInfoProvider();
- URL base = TestActivator.getContext().getBundle().getEntry("/testData/generator/eclipse3.3");
- provider.initialize(new File(FileLocator.toFileURL(base).getPath()));
- String tempDir = System.getProperty("java.io.tmpdir");
- File testRepo = new File(tempDir, "testRepo");
- deleteDirectory(testRepo);
- testRepo.mkdir();
- provider.setFlavor("jartest");
- IMetadataRepository repository = manager.createRepository(testRepo.toURL(), "testRepo", IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
- provider.setMetadataRepository(repository);
- new Generator(provider).generate();
- FileUtils.zip(new File[] {testRepo}, new File(tempDir, "testRepo.jar"));
- testRepoJar = new File(tempDir, "testRepo.jar");
- assertTrue(testRepoJar.exists());
- testRepoJar.deleteOnExit();
- deleteDirectory(testRepo);
- }
-
- protected void tearDown() throws Exception {
- manager = null;
- TestActivator.getContext().ungetService(managerRef);
- }
-
- public void testJarURLRepository() throws ProvisionException {
- URL jarRepoURL = null;
- try {
- jarRepoURL = new URL("jar:" + testRepoJar.toURL().toString() + "!/testRepo/");
- } catch (MalformedURLException e) {
- fail(e.getMessage());
- }
- IMetadataRepository repo = manager.loadRepository(jarRepoURL, null);
- assertTrue(!repo.query(InstallableUnitQuery.ANY, new Collector(), null).isEmpty());
- manager.removeRepository(jarRepoURL);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/LocalMetadataRepositoryTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/LocalMetadataRepositoryTest.java
deleted file mode 100644
index 24e1407..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/LocalMetadataRepositoryTest.java
+++ /dev/null
@@ -1,239 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.metadata.repository;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.*;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.RepositoryEvent;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.EclipseInstallGeneratorInfoProvider;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.Generator;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-
-/**
- * Test API of the local metadata repository implementation.
- */
-public class LocalMetadataRepositoryTest extends AbstractProvisioningTest {
- private static final String TEST_KEY = "TestKey";
- private static final String TEST_VALUE = "TestValue";
- protected File repoLocation;
-
- private IMetadataRepositoryManager getMetadataRepositoryManager() {
- return (IMetadataRepositoryManager) ServiceHelper.getService(TestActivator.getContext(), IMetadataRepositoryManager.class.getName());
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- String tempDir = System.getProperty("java.io.tmpdir");
- repoLocation = new File(tempDir, "LocalMetadataRepositoryTest");
- AbstractProvisioningTest.delete(repoLocation);
- repoLocation.mkdir();
- }
-
- protected void tearDown() throws Exception {
- getMetadataRepositoryManager().removeRepository(repoLocation.toURL());
- delete(repoLocation);
- super.tearDown();
- }
-
- public void testCompressedRepository() throws MalformedURLException, ProvisionException {
- IMetadataRepositoryManager manager = getMetadataRepositoryManager();
- Map properties = new HashMap();
- properties.put(IRepository.PROP_COMPRESSED, "true");
- IMetadataRepository repo = manager.createRepository(repoLocation.toURL(), "TestRepo", IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, properties);
- EclipseInstallGeneratorInfoProvider provider = new EclipseInstallGeneratorInfoProvider();
- provider.setMetadataRepository(repo);
- provider.initialize(repoLocation);
- provider.setRootVersion("3.3");
- provider.setRootId("sdk");
- provider.setFlavor("tooling");
- // Generate the repository
- new Generator(provider).generate();
- File[] files = repoLocation.listFiles();
- boolean jarFilePresent = false;
- boolean xmlFilePresent = false;
- // one of the files in the repository should be the content.xml.jar
- for (int i = 0; i < files.length; i++) {
- if ("content.jar".equalsIgnoreCase(files[i].getName())) {
- jarFilePresent = true;
- }
- if ("content.xml".equalsIgnoreCase(files[i].getName())) {
- xmlFilePresent = true;
- }
- }
- if (!jarFilePresent) {
- fail("Repository did not create JAR for content.xml");
- }
- if (xmlFilePresent) {
- fail("Repository should not create content.xml");
- }
- }
-
- public void testGetProperties() throws MalformedURLException, ProvisionException {
- IMetadataRepositoryManager manager = getMetadataRepositoryManager();
- IMetadataRepository repo = manager.createRepository(repoLocation.toURL(), "TestRepo", IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
- Map properties = repo.getProperties();
- //attempting to modify the properties should fail
- try {
- properties.put(TEST_KEY, TEST_VALUE);
- fail("Should not allow setting property");
- } catch (RuntimeException e) {
- //expected
- }
- }
-
- public void testSetProperty() throws MalformedURLException, ProvisionException {
- IMetadataRepositoryManager manager = getMetadataRepositoryManager();
- IMetadataRepository repo = manager.createRepository(repoLocation.toURL(), "TestRepo", IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
- Map properties = repo.getProperties();
- assertTrue("1.0", !properties.containsKey(TEST_KEY));
- repo.setProperty(TEST_KEY, TEST_VALUE);
-
- //the previously obtained properties should not be affected by subsequent changes
- assertTrue("1.1", !properties.containsKey(TEST_KEY));
- properties = repo.getProperties();
- assertTrue("1.2", properties.containsKey(TEST_KEY));
-
- //going back to repo manager, should still get the new property
- repo = manager.loadRepository(repoLocation.toURL(), null);
- properties = repo.getProperties();
- assertTrue("1.3", properties.containsKey(TEST_KEY));
-
- //setting a null value should remove the key
- repo.setProperty(TEST_KEY, null);
- properties = repo.getProperties();
- assertTrue("1.4", !properties.containsKey(TEST_KEY));
- }
-
- public void testUncompressedRepository() throws MalformedURLException, ProvisionException {
- IMetadataRepositoryManager manager = getMetadataRepositoryManager();
- Map properties = new HashMap();
- properties.put(IRepository.PROP_COMPRESSED, "false");
- IMetadataRepository repo = manager.createRepository(repoLocation.toURL(), "TestRepo", IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, properties);
- EclipseInstallGeneratorInfoProvider provider = new EclipseInstallGeneratorInfoProvider();
- provider.setMetadataRepository(repo);
- provider.initialize(repoLocation);
- provider.setRootVersion("3.3");
- provider.setRootId("sdk");
- provider.setFlavor("tooling");
- // Generate the repository
- new Generator(provider).generate();
- File[] files = repoLocation.listFiles();
- boolean jarFilePresent = false;
- // none of the files in the repository should be the content.xml.jar
- for (int i = 0; i < files.length; i++) {
- if ("content.jar".equalsIgnoreCase(files[i].getName())) {
- jarFilePresent = true;
- }
- }
- if (jarFilePresent) {
- fail("Repository should not create JAR for content.xml");
- }
- }
-
- /**
- * Tests loading a repository that has a reference to itself as a disabled repository.
- * @throws MalformedURLException
- * @throws ProvisionException
- */
- public void testLoadSelfReference() throws MalformedURLException, ProvisionException {
- //setup a repository that has a reference to itself in disabled state
- IMetadataRepositoryManager manager = getMetadataRepositoryManager();
- Map properties = new HashMap();
- properties.put(IRepository.PROP_COMPRESSED, "false");
- final URL repoURL = repoLocation.toURL();
- IMetadataRepository repo = manager.createRepository(repoURL, "testLoadSelfReference", IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, properties);
- repo.addReference(repoURL, IRepository.TYPE_METADATA, IRepository.NONE);
- //adding a reference doesn't save the repository, but setting a property does
- repo.setProperty("changed", "false");
-
- final int[] callCount = new int[] {0};
- final boolean[] wasEnabled = new boolean[] {false};
- //add a listener to ensure we receive add events with the repository enabled
- ProvisioningListener listener = new SynchronousProvisioningListener() {
- public void notify(EventObject o) {
- if (!(o instanceof RepositoryEvent))
- return;
- RepositoryEvent event = (RepositoryEvent) o;
- if (event.getKind() != RepositoryEvent.ADDED)
- return;
- if (!event.getRepositoryLocation().equals(repoURL))
- return;
- wasEnabled[0] = event.isRepositoryEnabled();
- callCount[0]++;
- }
- };
- getEventBus().addListener(listener);
- try {
- //now remove and reload the repository
- manager.removeRepository(repoURL);
- repo = manager.loadRepository(repoURL, null);
- assertTrue("1.0", manager.isEnabled(repoURL));
- assertTrue("1.1", wasEnabled[0]);
- assertEquals("1.2", 1, callCount[0]);
- } finally {
- getEventBus().removeListener(listener);
- }
- }
-
- public void testRefreshSelfReference() throws MalformedURLException, ProvisionException {
- //setup a repository that has a reference to itself in disabled state
- IMetadataRepositoryManager manager = getMetadataRepositoryManager();
- Map properties = new HashMap();
- properties.put(IRepository.PROP_COMPRESSED, "false");
- final URL repoURL = repoLocation.toURL();
- IMetadataRepository repo = manager.createRepository(repoURL, "testRefreshSelfReference", IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, properties);
- repo.addReference(repoURL, IRepository.TYPE_METADATA, IRepository.NONE);
- //adding a reference doesn't save the repository, but setting a property does
- repo.setProperty("changed", "false");
-
- final int[] callCount = new int[] {0};
- final boolean[] wasEnabled = new boolean[] {false};
- //add a listener to ensure we receive add events with the repository enabled
- ProvisioningListener listener = new SynchronousProvisioningListener() {
- public void notify(EventObject o) {
- if (!(o instanceof RepositoryEvent))
- return;
- RepositoryEvent event = (RepositoryEvent) o;
- if (event.getKind() != RepositoryEvent.ADDED)
- return;
- if (!event.getRepositoryLocation().equals(repoURL))
- return;
- wasEnabled[0] = event.isRepositoryEnabled();
- callCount[0]++;
- }
- };
- getEventBus().addListener(listener);
- try {
- //ensure refreshing the repository doesn't disable it
- manager.refreshRepository(repoURL, null);
- assertTrue("1.0", manager.isEnabled(repoURL));
- assertTrue("1.1", wasEnabled[0]);
- assertEquals("1.2", 1, callCount[0]);
- } finally {
- getEventBus().removeListener(listener);
- }
- }
-
- private IProvisioningEventBus getEventBus() {
- IProvisioningEventBus bus = (IProvisioningEventBus) ServiceHelper.getService(TestActivator.getContext(), IProvisioningEventBus.SERVICE_NAME);
- assertNotNull(bus);
- return bus;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/MetadataRepositoryManagerTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/MetadataRepositoryManagerTest.java
deleted file mode 100644
index d14544d..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/MetadataRepositoryManagerTest.java
+++ /dev/null
@@ -1,230 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.metadata.repository;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.URLUtil;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.location.AgentLocation;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-
-/**
- * Tests for API of {@link IMetadataRepositoryManager}.
- */
-public class MetadataRepositoryManagerTest extends AbstractProvisioningTest {
- protected IMetadataRepositoryManager manager;
- /**
- * Contains temp File handles that should be deleted at the end of the test.
- */
- private final List toDelete = new ArrayList();
-
- public static Test suite() {
- return new TestSuite(MetadataRepositoryManagerTest.class);
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- manager = (IMetadataRepositoryManager) ServiceHelper.getService(TestActivator.context, IMetadataRepositoryManager.class.getName());
- }
-
- protected void tearDown() throws Exception {
- super.tearDown();
- for (Iterator it = toDelete.iterator(); it.hasNext();)
- delete((File) it.next());
- toDelete.clear();
- }
-
- public void testBasicAddRemove() throws MalformedURLException {
- File tempFile = new File(System.getProperty("java.io.tmpdir"));
- URL location = tempFile.toURL();
- assertTrue(!managerContains(location));
- manager.addRepository(location);
- assertTrue(managerContains(location));
- manager.removeRepository(location);
- assertTrue(!managerContains(location));
- }
-
- public void testGetKnownRepositories() throws MalformedURLException, ProvisionException {
- int nonSystemCount = manager.getKnownRepositories(IMetadataRepositoryManager.REPOSITORIES_NON_SYSTEM).length;
- int systemCount = manager.getKnownRepositories(IMetadataRepositoryManager.REPOSITORIES_SYSTEM).length;
- int allCount = manager.getKnownRepositories(IMetadataRepositoryManager.REPOSITORIES_ALL).length;
- assertEquals("1.0", allCount, nonSystemCount + systemCount);
-
- //create a new repository
- File repoLocation = getTempLocation();
- IMetadataRepository testRepo = manager.createRepository(repoLocation.toURL(), "MetadataRepositoryManagerTest", IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
- int newNonSystemCount = manager.getKnownRepositories(IMetadataRepositoryManager.REPOSITORIES_NON_SYSTEM).length;
- int newSystemCount = manager.getKnownRepositories(IMetadataRepositoryManager.REPOSITORIES_SYSTEM).length;
- int newAllCount = manager.getKnownRepositories(IMetadataRepositoryManager.REPOSITORIES_ALL).length;
-
- //there should be one more non-system repository
- assertEquals("2.0", nonSystemCount + 1, newNonSystemCount);
- assertEquals("2.1", systemCount, newSystemCount);
- assertEquals("2.2", allCount + 1, newAllCount);
-
- //make the repository a system repository
- testRepo.setProperty(IRepository.PROP_SYSTEM, Boolean.TRUE.toString());
-
- //there should be one more system repository
- newNonSystemCount = manager.getKnownRepositories(IMetadataRepositoryManager.REPOSITORIES_NON_SYSTEM).length;
- newSystemCount = manager.getKnownRepositories(IMetadataRepositoryManager.REPOSITORIES_SYSTEM).length;
- newAllCount = manager.getKnownRepositories(IMetadataRepositoryManager.REPOSITORIES_ALL).length;
- assertEquals("3.0", nonSystemCount, newNonSystemCount);
- assertEquals("3.1", systemCount + 1, newSystemCount);
- assertEquals("3.2", allCount + 1, newAllCount);
-
- int disabledCount = manager.getKnownRepositories(IMetadataRepositoryManager.REPOSITORIES_DISABLED).length;
- allCount = newAllCount;
-
- //mark the repository as disabled
- manager.setEnabled(testRepo.getLocation(), false);
-
- //should be one less enabled repository and one more disabled repository
- int newDisabledCount = manager.getKnownRepositories(IMetadataRepositoryManager.REPOSITORIES_DISABLED).length;
- newAllCount = manager.getKnownRepositories(IMetadataRepositoryManager.REPOSITORIES_ALL).length;
- assertEquals("4.0", disabledCount + 1, newDisabledCount);
- assertEquals("4.1", allCount - 1, newAllCount);
-
- //re-loading the repository should not change anything
- manager.loadRepository(testRepo.getLocation(), null);
- newDisabledCount = manager.getKnownRepositories(IMetadataRepositoryManager.REPOSITORIES_DISABLED).length;
- newAllCount = manager.getKnownRepositories(IMetadataRepositoryManager.REPOSITORIES_ALL).length;
- assertEquals("5.0", disabledCount + 1, newDisabledCount);
- assertEquals("5.1", allCount - 1, newAllCount);
-
- //re-enable the repository
- manager.setEnabled(testRepo.getLocation(), true);
-
- //should be back to the original counts
- newDisabledCount = manager.getKnownRepositories(IMetadataRepositoryManager.REPOSITORIES_DISABLED).length;
- newAllCount = manager.getKnownRepositories(IMetadataRepositoryManager.REPOSITORIES_ALL).length;
- assertEquals("6.0", disabledCount, newDisabledCount);
- assertEquals("6.1", allCount, newAllCount);
- }
-
- /**
- * Tests that we don't create a local cache when contacting a local metadata repository.
- */
- public void testMetadataCachingLocalRepo() throws MalformedURLException, ProvisionException {
- File repoLocation = getTempLocation();
- AgentLocation agentLocation = (AgentLocation) ServiceHelper.getService(TestActivator.getContext(), AgentLocation.class.getName());
- URL dataArea = agentLocation.getDataArea("org.eclipse.equinox.p2.metadata.repository/cache/");
- File dataAreaFile = URLUtil.toFile(dataArea);
- File cacheFileXML = new File(dataAreaFile, "content" + repoLocation.hashCode() + ".xml");
- File cacheFileJAR = new File(dataAreaFile, "content" + repoLocation.hashCode() + ".jar");
-
- // create a local repository
- manager.createRepository(repoLocation.toURL(), "MetadataRepositoryCachingTest", IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
- manager.loadRepository(repoLocation.toURL(), null);
-
- // check that a local cache was not created
- assertFalse("Cache file was created.", cacheFileXML.exists() || cacheFileJAR.exists());
- }
-
- /**
- * Tests that local caching of remote metadata repositories works, and that the
- * cache is updated when it becomes stale.
- */
- public void testMetadataCachingRemoteRepo() throws MalformedURLException, ProvisionException {
- URL repoLocation = new URL("http://download.eclipse.org/eclipse/updates/3.4milestones/");
- if (!repoAvailable(repoLocation))
- return;
- AgentLocation agentLocation = (AgentLocation) ServiceHelper.getService(TestActivator.getContext(), AgentLocation.class.getName());
- URL dataArea = agentLocation.getDataArea("org.eclipse.equinox.p2.metadata.repository/cache/");
- File dataAreaFile = URLUtil.toFile(dataArea);
- File cacheFileXML = new File(dataAreaFile, "content" + repoLocation.toExternalForm().hashCode() + ".xml");
- File cacheFileJAR = new File(dataAreaFile, "content" + repoLocation.toExternalForm().hashCode() + ".jar");
- File cacheFile;
-
- // load a remote repository and check that a local cache was created
- manager.loadRepository(repoLocation, null);
- assertTrue("Cache file was not created.", cacheFileXML.exists() || cacheFileJAR.exists());
- if (cacheFileXML.exists())
- cacheFile = cacheFileXML;
- else
- cacheFile = cacheFileJAR;
-
- // modify the last modified date to be older than the remote file
- cacheFile.setLastModified(0);
- // reload the repository and check that the cache was updated
- manager.removeRepository(repoLocation);
- manager.loadRepository(repoLocation, null);
- long lastModified = cacheFile.lastModified();
- assertTrue(0 != lastModified);
-
- // reload the repository and check that the cache was not updated
- manager.removeRepository(repoLocation);
- manager.loadRepository(repoLocation, null);
- assertEquals(lastModified, cacheFile.lastModified());
-
- cacheFile.delete();
- }
-
- private boolean repoAvailable(URL repoLocation) {
- try {
- repoLocation.openStream().close();
- } catch (IOException e) {
- return false;
- }
- return true;
- }
-
- /**
- * Returns a non-existent file that can be used to write a temporary
- * file or directory. The location will be deleted in the test tearDown method.
- */
- private File getTempLocation() {
- File tempDir = new File(System.getProperty("java.io.tmpdir"));
- File tempFile = new File(tempDir, "MetadataRepositoryManagerTest");
- delete(tempFile);
- assertTrue(!tempFile.exists());
- return tempFile;
- }
-
- public void testFailureAddRemove() {
- try {
- manager.addRepository(null);
- fail();
- } catch (RuntimeException e) {
- //expected
- }
- try {
- manager.removeRepository(null);
- fail();
- } catch (RuntimeException e) {
- //expected
- }
- }
-
- /**
- * Returns whether {@link IMetadataRepositoryManager} contains a reference
- * to a repository at the given location.
- */
- private boolean managerContains(URL location) {
- URL[] locations = manager.getKnownRepositories(IMetadataRepositoryManager.REPOSITORIES_ALL);
- for (int i = 0; i < locations.length; i++) {
- if (locations[i].equals(location))
- return true;
- }
- return false;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AddIUProperty.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AddIUProperty.java
deleted file mode 100644
index 20995e6..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AddIUProperty.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.director.SimplePlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.osgi.framework.Version;
-
-public class AddIUProperty extends AbstractProvisioningTest {
- IInstallableUnit a1;
- IInstallableUnit a2;
- IProfile profile;
- IPlanner planner;
- IEngine engine;
-
- protected void setUp() throws Exception {
- super.setUp();
- a1 = createIU("A", new Version("1.0.0"), true);
-
- a2 = createIU("A", new Version("2.0.0"), true);
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, a2});
-
- profile = createProfile("TestProfile." + getName());
- planner = createPlanner();
- engine = createEngine();
- }
-
- public void testWithoutIUProperty() {
- ProfileChangeRequest req = new ProfileChangeRequest(profile);
- req.addInstallableUnits(new IInstallableUnit[] {a1});
- ProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
- assertEquals(IStatus.OK, plan.getStatus().getSeverity());
- assertInstallOperand(plan, a1);
- }
-
- public void testWithIUProperty() {
- ProfileChangeRequest req = new ProfileChangeRequest(profile);
- req.addInstallableUnits(new IInstallableUnit[] {a1});
- req.setInstallableUnitInclusionRules(a1, PlannerHelper.createOptionalInclusionRule(a1));
- ProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
- assertEquals(IStatus.OK, plan.getStatus().getSeverity());
- assertInstallOperand(plan, a1);
- }
-
- public void testChangeIUProperty() {
- //Add a1, strictly ;
- ProfileChangeRequest req = new ProfileChangeRequest(profile);
- req.addInstallableUnits(new IInstallableUnit[] {a1});
- ProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
- assertEquals(IStatus.OK, plan.getStatus().getSeverity());
- engine.perform(profile, new DefaultPhaseSet(), plan.getOperands(), null, null);
- assertProfileContainsAll("A1 is missing", profile, new IInstallableUnit[] {a1});
- Collector allProfileIUs = profile.query(InstallableUnitQuery.ANY, new Collector(), null);
- assertEquals(allProfileIUs.size(), 1);
-
- //Add a2 with a1. This is an error
- ProfileChangeRequest req4 = ProfileChangeRequest.createByProfileId(profile.getProfileId());
- req4.addInstallableUnits(new IInstallableUnit[] {a2});
- ProvisioningPlan plan4 = planner.getProvisioningPlan(req4, null, null);
- assertEquals(IStatus.ERROR, plan4.getStatus().getSeverity());
-
- //Add a2, making a1 optional;
- ProfileChangeRequest req2 = ProfileChangeRequest.createByProfileId(profile.getProfileId());
- req2.setInstallableUnitInclusionRules(a1, PlannerHelper.createOptionalInclusionRule(a1));
- req2.addInstallableUnits(new IInstallableUnit[] {a2});
- ProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
- assertEquals(IStatus.OK, plan.getStatus().getSeverity());
- assertInstallOperand(plan2, a2);
-
- engine.perform(profile, new DefaultPhaseSet(), plan2.getOperands(), null, null);
- assertProfileContainsAll("A2 is missing", profile, new IInstallableUnit[] {a2});
- allProfileIUs = profile.query(InstallableUnitQuery.ANY, new Collector(), null);
- assertEquals(allProfileIUs.size(), 1);
-
- Collector iuProfileProperties = profile.query(new IUProfilePropertyQuery(profile, SimplePlanner.INCLUSION_RULES, null), new Collector(), null);
- assertEquals(iuProfileProperties.size(), 1);
-
- //Remove a1 optionality - should be a no-op
- ProfileChangeRequest req3 = ProfileChangeRequest.createByProfileId(profile.getProfileId());
- req3.removeInstallableUnitInclusionRules(a1);
- ProvisioningPlan plan3 = planner.getProvisioningPlan(req3, null, null);
- assertEquals(IStatus.OK, plan.getStatus().getSeverity());
- engine.perform(profile, new DefaultPhaseSet(), plan3.getOperands(), null, null);
- allProfileIUs = profile.query(InstallableUnitQuery.ANY, new Collector(), null);
- assertProfileContainsAll("A2 is missing", profile, new IInstallableUnit[] {a2});
- assertEquals(allProfileIUs.size(), 1);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AllOptional.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AllOptional.java
deleted file mode 100644
index 6326eb0..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AllOptional.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class AllOptional extends AbstractProvisioningTest {
- private IInstallableUnit a1;
- private IInstallableUnit b1;
- private IInstallableUnit c1;
- private IInstallableUnit d1;
- private IInstallableUnit e1;
- private IProfile profile;
- private IPlanner planner;
-
- protected void setUp() throws Exception {
- super.setUp();
- RequiredCapability[] reqA = new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, true)};
- a1 = createIU("A", new Version("1.0.0"), reqA);
- b1 = createIU("B", new Version("1.0.0"), true);
-
- RequiredCapability[] reqC = new RequiredCapability[2];
- reqC[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", VersionRange.emptyRange, null, true, false, true);
- reqC[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "E", VersionRange.emptyRange, null, true, false, true);
- c1 = createIU("C", new Version("1.0.0"), reqC);
- d1 = createIU("D", new Version("1.0.0"), true);
- e1 = createIU("E", new Version("1.0.0"), true);
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, b1, c1, d1, e1});
-
- profile = createProfile("TestProfile." + getName());
- planner = createPlanner();
- }
-
- public void testInstallation() {
- ProfileChangeRequest req = new ProfileChangeRequest(profile);
- req.addInstallableUnits(new IInstallableUnit[] {a1, c1});
- ProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
- assertEquals(IStatus.OK, plan.getStatus().getSeverity());
- assertInstallOperand(plan, a1);
- assertInstallOperand(plan, b1);
- assertInstallOperand(plan, c1);
- assertInstallOperand(plan, d1);
- assertInstallOperand(plan, e1);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AllOrbit.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AllOrbit.java
deleted file mode 100644
index 394fddf..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AllOrbit.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-
-public class AllOrbit extends AbstractProvisioningTest {
- IProfile profile1;
- IPlanner planner;
- IEngine engine;
- IMetadataRepository repo;
-
- protected void setUp() throws Exception {
- super.setUp();
- IMetadataRepositoryManager repoMan = (MetadataRepositoryManager) ServiceHelper.getService(TestActivator.getContext(), IMetadataRepositoryManager.class.getName());
- repo = repoMan.loadRepository(getTestData("repository for wsdl test", "testData/orbitRepo/").toURL(), new NullProgressMonitor());
-
- profile1 = createProfile("TestProfile." + getName());
- planner = createPlanner();
- engine = createEngine();
- }
-
- public void testInstallTwoVersionsOptionaly() {
- ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
- Collector allIUs = repo.query(InstallableUnitQuery.ANY, new Collector(), null);
- req1.addInstallableUnits((IInstallableUnit[]) allIUs.toArray(IInstallableUnit.class));
- for (Iterator iterator = allIUs.iterator(); iterator.hasNext();) {
- IInstallableUnit iu = (IInstallableUnit) iterator.next();
- if (!iu.getId().equals("javax.wsdl"))
- req1.setInstallableUnitInclusionRules(iu, PlannerHelper.createOptionalInclusionRule(iu));
- }
- ProvisioningPlan plan1 = planner.getProvisioningPlan(req1, null, null);
- Operand[] ops = plan1.getOperands();
- int count = 0;
- for (int i = 0; i < ops.length; i++) {
- if (ops[i] instanceof InstallableUnitOperand) {
- count++;
- }
- }
- assertEquals(IStatus.OK, plan1.getStatus().getSeverity());
- }
-
- public void test2() {
- //Install everything except com.ibm.icu
- ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
- Collector allIUs = repo.query(InstallableUnitQuery.ANY, new Collector(), null);
- ArrayList toInstall = new ArrayList(allIUs.size());
- int removed = 0;
- for (Iterator iterator = allIUs.iterator(); iterator.hasNext();) {
- IInstallableUnit toAdd = (IInstallableUnit) iterator.next();
- if (!toAdd.getId().equals("com.ibm.icu")) {
- toInstall.add(toAdd);
- } else
- removed++;
- }
- req1.addInstallableUnits((IInstallableUnit[]) toInstall.toArray(new IInstallableUnit[toInstall.size()]));
-
- ProvisioningPlan plan1 = planner.getProvisioningPlan(req1, null, null);
- Operand[] ops = plan1.getOperands();
- int count = 0;
- for (int i = 0; i < ops.length; i++) {
- if (ops[i] instanceof InstallableUnitOperand) {
- count++;
- }
- }
- assertEquals(178, count);
- assertEquals(IStatus.OK, plan1.getStatus().getSeverity());
- }
-
- public void test3() {
- //Install everything optionaly (except com.ibm.icu that we don't install at all)
- ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
- Collector allIUs = repo.query(InstallableUnitQuery.ANY, new Collector(), null);
- ArrayList toInstall = new ArrayList(allIUs.size());
- int removed = 0;
- for (Iterator iterator = allIUs.iterator(); iterator.hasNext();) {
- IInstallableUnit toAdd = (IInstallableUnit) iterator.next();
- if (!toAdd.getId().equals("com.ibm.icu")) {
- toInstall.add(toAdd);
- req1.setInstallableUnitInclusionRules(toAdd, PlannerHelper.createOptionalInclusionRule(toAdd));
- } else
- removed++;
- }
- req1.addInstallableUnits((IInstallableUnit[]) toInstall.toArray(new IInstallableUnit[toInstall.size()]));
-
- ProvisioningPlan plan1 = planner.getProvisioningPlan(req1, null, null);
- Operand[] ops = plan1.getOperands();
- int count = 0;
- for (int i = 0; i < ops.length; i++) {
- if (ops[i] instanceof InstallableUnitOperand) {
- count++;
- }
- }
- assertEquals(178, count);
- assertEquals(IStatus.OK, plan1.getStatus().getSeverity());
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AllTests.java
deleted file mode 100644
index a834aaa..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AllTests.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import junit.framework.*;
-
-/**
- * Performs all automated planner tests.
- */
-public class AllTests extends TestCase {
-
- public static Test suite() {
- TestSuite suite = new TestSuite(AllTests.class.getName());
- suite.addTestSuite(AddIUProperty.class);
- suite.addTestSuite(AllOptional.class);
- suite.addTestSuite(AllOrbit.class);
- suite.addTestSuite(AnotherSingleton.class);
- suite.addTestSuite(Bug207319.class);
- suite.addTestSuite(DependencyOnSelf.class);
- suite.addTestSuite(DropinsScenario.class);
- suite.addTestSuite(GreedyRequirement.class);
- suite.addTestSuite(InclusionRuleTest.class);
- suite.addTestSuite(InclusionRuleTest2.class);
- suite.addTestSuite(IUProperties.class);
- suite.addTestSuite(IUPropertyRemoval.class);
- suite.addTestSuite(IUWithFilter.class);
- suite.addTestSuite(IUWithFilter2.class);
- suite.addTestSuite(MinimalInstall.class);
- suite.addTestSuite(MissingDependency.class);
- suite.addTestSuite(MissingDependency2.class);
- suite.addTestSuite(MissingDependency3.class);
- suite.addTestSuite(MissingNonGreedyRequirement.class);
- suite.addTestSuite(MissingNonGreedyRequirement2.class);
- suite.addTestSuite(MissingOptional.class);
- suite.addTestSuite(MissingOptionalNonGreedyRequirement.class);
- suite.addTestSuite(MissingOptionalWithDependencies.class);
- suite.addTestSuite(MissingOptionalWithDependencies2.class);
- suite.addTestSuite(MissingOptionalWithDependencies3.class);
- suite.addTestSuite(MultipleProvider.class);
- suite.addTestSuite(MultipleSingleton.class);
- suite.addTestSuite(NoRequirements.class);
- // suite.addTestSuite(PatchFailingToInstall.class);
- suite.addTestSuite(PatchTest1.class);
- suite.addTestSuite(PatchTest10.class);
- suite.addTestSuite(PatchTest11.class);
- suite.addTestSuite(PatchTest12.class);
- suite.addTestSuite(PatchTest13.class);
- suite.addTestSuite(PatchTest1b.class);
- suite.addTestSuite(PatchTest1c.class);
- suite.addTestSuite(PatchTest2.class);
- suite.addTestSuite(PatchTest3.class);
- suite.addTestSuite(PatchTest4.class);
- suite.addTestSuite(PatchTest5.class);
- // suite.addTestSuite(PatchTest6.class);
- suite.addTestSuite(PatchTest7.class);
- suite.addTestSuite(PatchTest7b.class);
- suite.addTestSuite(PatchTest8.class);
- suite.addTestSuite(PatchTest9.class);
- suite.addTestSuite(PatchTestMultiplePatch.class);
- suite.addTestSuite(PatchTestOptional.class);
- suite.addTestSuite(PatchTestOptional2.class);
- suite.addTestSuite(PatchTestOptional3.class);
- suite.addTestSuite(PatchTestUninstall.class);
- suite.addTestSuite(PatchTestUpdate.class);
- suite.addTestSuite(PatchTestUpdate2.class);
- suite.addTestSuite(PatchTestUpdate3.class);
- // suite.addTestSuite(PP2ShouldFailToInstall.class);
- suite.addTestSuite(SimpleOptionalTest.class);
- suite.addTestSuite(SimpleOptionalTest2.class);
- suite.addTestSuite(SimpleOptionalTest3.class);
- suite.addTestSuite(SimpleOptionalTest4.class);
- suite.addTestSuite(SimpleSingleton.class);
- suite.addTestSuite(TwoVersionsOfWSDL.class);
- suite.addTestSuite(UninstallEverything.class);
- return suite;
- }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AnotherSingleton.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AnotherSingleton.java
deleted file mode 100644
index 9f58983..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AnotherSingleton.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class AnotherSingleton extends AbstractProvisioningTest {
- IInstallableUnit a1;
- IInstallableUnit a2;
- IInstallableUnit a3;
- IInstallableUnit a4;
- IInstallableUnit u, v, w, x, y, z;
-
- IPlanner planner;
- IProfile profile;
-
- protected void setUp() throws Exception {
- super.setUp();
- a1 = createIU("A", new Version("1.0.0"), true);
-
- a2 = createIU("A", new Version("2.0.0"), true);
-
- RequiredCapability c1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.0.0]"), null, false, false);
- x = createIU("X", new Version(2, 0, 0), new RequiredCapability[] {c1});
-
- RequiredCapability c2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[2.0.0, 2.0.0]"), null, false, false);
- y = createIU("Y", new Version(2, 0, 0), new RequiredCapability[] {c2});
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, a2, x, y});
-
- profile = createProfile("TestProfile." + getName());
- planner = createPlanner();
-
- }
-
- public void test1() {
- ProfileChangeRequest req = new ProfileChangeRequest(profile);
- req.addInstallableUnits(new IInstallableUnit[] {x, y});
- assertEquals(IStatus.ERROR, planner.getProvisioningPlan(req, null, null).getStatus().getSeverity());
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug207319.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug207319.java
deleted file mode 100644
index f96dbc3..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug207319.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.IDirector;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class Bug207319 extends AbstractProvisioningTest {
- IInstallableUnit a, b, c;
-
- IDirector director;
- IProfile profile;
-
- protected void setUp() throws Exception {
- super.setUp();
- a = createIU("A", new Version("1.0.0"));
- b = createIU("B", new Version("1.0.0"), new ProvidedCapability[] {MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new Version("1.0.0"))});
- c = createIU("C", new Version("1.0.0"), createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.0.0]"), null));
- createTestMetdataRepository(new IInstallableUnit[] {a, b, c});
- profile = createProfile(Bug207319.class.getName());
- director = createDirector();
-
- }
-
- public void testEnsureANeverInstalled() {
- ProfileChangeRequest req = new ProfileChangeRequest(profile);
- req.addInstallableUnits(new IInstallableUnit[] {b});
- assertEquals(IStatus.OK, director.provision(req, null, null).getSeverity());
- assertProfileContainsAll("B is missing", profile, new IInstallableUnit[] {b});
- assertNotIUs(new IInstallableUnit[] {a}, profile.query(InstallableUnitQuery.ANY, new Collector(), null).iterator());
-
- ProfileChangeRequest req2 = new ProfileChangeRequest(profile);
- req2.addInstallableUnits(new IInstallableUnit[] {c});
- assertEquals(IStatus.OK, director.provision(req2, null, null).getSeverity());
- assertProfileContainsAll("B and C are missing", profile, new IInstallableUnit[] {b, c});
- assertNotIUs(new IInstallableUnit[] {a}, profile.query(InstallableUnitQuery.ANY, new Collector(), null).iterator());
-
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/DependencyOnSelf.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/DependencyOnSelf.java
deleted file mode 100644
index 07eabd3..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/DependencyOnSelf.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class DependencyOnSelf extends AbstractProvisioningTest {
- IInstallableUnit a1;
-
- IPlanner planner;
- IProfile profile;
-
- protected void setUp() throws Exception {
- super.setUp();
- a1 = createIU("A", new Version("1.0.0"), createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.0.0]"), null));
- createTestMetdataRepository(new IInstallableUnit[] {a1});
- profile = createProfile(DependencyOnSelf.class.getName());
- planner = createPlanner();
- }
-
- public void testInstall() {
- ProfileChangeRequest req = new ProfileChangeRequest(profile);
- req.addInstallableUnits(new IInstallableUnit[] {a1});
- assertEquals(IStatus.OK, planner.getProvisioningPlan(req, null, null).getStatus().getSeverity());
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/DropinsScenario.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/DropinsScenario.java
deleted file mode 100644
index 124b5f8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/DropinsScenario.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class DropinsScenario extends AbstractProvisioningTest {
- IInstallableUnit a0;
- IInstallableUnit b0;
- IInstallableUnit a1;
- IInstallableUnit b1;
- IInstallableUnit as;
- IInstallableUnit bs;
- private IProfile profile;
- private IPlanner planner;
-
- protected void setUp() throws Exception {
- super.setUp();
- a1 = createIU("A", new Version("1.0.0"), true);
-
- b1 = createIU("B", new Version("1.0.0"), true);
-
- a0 = createIU("A", new Version("0.0.0"), true);
- b0 = createIU("B", new Version("0.0.0"), true);
-
- RequiredCapability[] reqAs = new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[0.0.0, 1.0.0]"), null, false, false, true)};
- as = createIU("AS", new Version("0.0.0"), reqAs);
-
- RequiredCapability[] reqBs = new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[0.0.0, 1.0.0]"), null, false, false, true)};
- bs = createIU("BS", new Version("0.0.0"), reqBs);
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, b1, a0, b0, as, bs});
-
- profile = createProfile("TestProfile." + getName());
- planner = createPlanner();
- }
-
- public void testInstallation() {
- ProfileChangeRequest req = new ProfileChangeRequest(profile);
- req.addInstallableUnits(new IInstallableUnit[] {as, bs});
- ProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
- assertEquals(IStatus.OK, plan.getStatus().getSeverity());
-
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/GreedyRequirement.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/GreedyRequirement.java
deleted file mode 100644
index 211b730..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/GreedyRequirement.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class GreedyRequirement extends AbstractProvisioningTest {
- private IInstallableUnit a1;
- private IInstallableUnit b1;
- private IInstallableUnit c1;
- private IProfile profile;
- private IPlanner planner;
-
- protected void setUp() throws Exception {
- super.setUp();
- b1 = createIU("B", new Version("1.0.0"), true);
-
- RequiredCapability[] reqB = new RequiredCapability[1];
- reqB[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, true, false, false);
- a1 = createIU("A", new Version("1.0.0"), reqB);
-
- RequiredCapability[] reqC = new RequiredCapability[1];
- reqC[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, true);
- c1 = createIU("C", new Version("1.0.0"), reqC);
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, b1, c1});
-
- profile = createProfile("TestProfile." + getName());
- planner = createPlanner();
- }
-
- public void testInstall() {
- //The plan contains B because the requirement from A on B is non greedy, but we are installing C that has a greedy requirement on the B
- ProfileChangeRequest req = new ProfileChangeRequest(profile);
- req.addInstallableUnits(new IInstallableUnit[] {a1, c1});
- ProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
- assertEquals(IStatus.OK, plan.getStatus().getSeverity());
- assertInstallOperand(plan, a1);
- assertInstallOperand(plan, b1);
- assertInstallOperand(plan, c1);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/IUProperties.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/IUProperties.java
deleted file mode 100644
index 6dd1e4f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/IUProperties.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class IUProperties extends AbstractProvisioningTest {
- private IInstallableUnit a1;
- private IInstallableUnit b1;
- private IInstallableUnit b11;
- private IInstallableUnit c;
- private IProfile profile;
- private IPlanner planner;
- private IEngine engine;
- private String profileId;
-
- protected void setUp() throws Exception {
- super.setUp();
- a1 = createIU("A", new Version("1.0.0"), createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "B1", new VersionRange("[1.0.0, 2.0.0)"), null));
-
- b1 = createIU("B1", new Version("1.0.0"), true);
-
- b11 = createIU("B1", new Version("1.1.0"), createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.0.0, 3.0.0)"), null), NO_PROPERTIES, true);
-
- c = createIU("C", new Version(2, 0, 0), true);
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, b1, b11, c});
-
- profileId = "TestProfile." + getName();
- profile = createProfile(profileId);
- planner = createPlanner();
- engine = createEngine();
-
- }
-
- public void testRemoveIUProperty() {
- ProfileChangeRequest req1 = new ProfileChangeRequest(profile);
- req1.addInstallableUnits(new IInstallableUnit[] {a1});
- req1.setInstallableUnitProfileProperty(a1, "FOO", "BAR");
- req1.setInstallableUnitProfileProperty(b1, "FOO", "BAR");
- ProvisioningPlan pp1 = planner.getProvisioningPlan(req1, null, null);
- assertEquals(IStatus.OK, pp1.getStatus().getSeverity());
- IStatus s = engine.perform(profile, new DefaultPhaseSet(), pp1.getOperands(), null, null);
- System.out.println(s);
- Collector c = getProfile(profileId).query(new IUProfilePropertyQuery(getProfile(profileId), "FOO", null), new Collector(), null);
- assertEquals(1, c.size());
-
- ProfileChangeRequest req2 = new ProfileChangeRequest(profile);
- req2.removeInstallableUnitProfileProperty(b1, "FOO");
- ProvisioningPlan pp2 = planner.getProvisioningPlan(req2, null, null);
- assertEquals(1, pp2.getOperands().length);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/IUPropertyRemoval.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/IUPropertyRemoval.java
deleted file mode 100644
index 73038cb..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/IUPropertyRemoval.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class IUPropertyRemoval extends AbstractProvisioningTest {
- private IInstallableUnit a1;
- private IInstallableUnit b1;
- private IProfile profile;
- private IPlanner planner;
- private IEngine engine;
- private String profileId;
-
- protected void setUp() throws Exception {
- super.setUp();
- a1 = createIU("A", new Version("1.0.0"), createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "B1", new VersionRange("[1.0.0, 2.0.0)"), null));
-
- b1 = createIU("B1", new Version("1.0.0"), true);
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, b1});
-
- profileId = "TestProfile." + getName();
- profile = createProfile(profileId);
- planner = createPlanner();
- engine = createEngine();
-
- }
-
- public void testRemoveIUProperty() {
- ProfileChangeRequest req1 = new ProfileChangeRequest(profile);
- req1.addInstallableUnits(new IInstallableUnit[] {a1});
- req1.setInstallableUnitProfileProperty(a1, "FOO", "BAR");
- req1.setInstallableUnitProfileProperty(b1, "FOO", "BAR");
- ProvisioningPlan pp1 = planner.getProvisioningPlan(req1, null, null);
- assertEquals(IStatus.OK, pp1.getStatus().getSeverity());
- engine.perform(profile, new DefaultPhaseSet(), pp1.getOperands(), null, null);
- Collector res = getProfile(profileId).query(new IUProfilePropertyQuery(getProfile(profileId), "FOO", null), new Collector(), null);
- assertEquals(2, res.size());
-
- ProfileChangeRequest req2 = new ProfileChangeRequest(profile);
- req2.removeInstallableUnitProfileProperty(b1, "FOO");
- ProvisioningPlan pp2 = planner.getProvisioningPlan(req2, null, null);
- assertEquals(1, pp2.getOperands().length);
- engine.perform(getProfile(profileId), new DefaultPhaseSet(), pp2.getOperands(), null, null);
- Collector res2 = getProfile(profileId).query(new IUProfilePropertyQuery(getProfile(profileId), "FOO", null), new Collector(), null);
- assertEquals(1, res2.size());
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/IUWithFilter.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/IUWithFilter.java
deleted file mode 100644
index a458a9f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/IUWithFilter.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class IUWithFilter extends AbstractProvisioningTest {
- IInstallableUnit a1;
-
- IPlanner planner;
- IProfile profile;
-
- protected void setUp() throws Exception {
- super.setUp();
- MetadataFactory.InstallableUnitDescription iud = new MetadataFactory.InstallableUnitDescription();
- iud.setId("A");
- iud.setVersion(new Version("1.0.0"));
- iud.setRequiredCapabilities(createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.0.0]"), null));
- iud.setApplicabilityFilter("(invalid=true)");
- iud.setFilter("(invalid=true)");
- a1 = MetadataFactory.createInstallableUnit(iud);
- createTestMetdataRepository(new IInstallableUnit[] {a1});
- profile = createProfile(IUWithFilter.class.getName());
- planner = createPlanner();
- }
-
- public void testInstall() {
- ProfileChangeRequest req = new ProfileChangeRequest(profile);
- req.addInstallableUnits(new IInstallableUnit[] {a1});
- assertEquals(IStatus.ERROR, planner.getProvisioningPlan(req, null, null).getStatus().getSeverity());
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/IUWithFilter2.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/IUWithFilter2.java
deleted file mode 100644
index 9102be9..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/IUWithFilter2.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class IUWithFilter2 extends AbstractProvisioningTest {
- IInstallableUnit a1, a2;
- IInstallableUnit b1;
-
- IPlanner planner;
- IProfile profile;
-
- protected void setUp() throws Exception {
- super.setUp();
- RequiredCapability[] reqs = new RequiredCapability[1];
- reqs[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.0.0]"), null, false, false);
- a1 = createIU("A", reqs);
-
- RequiredCapability[] reqsA2 = new RequiredCapability[1];
- reqsA2[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.0.0]"), null, true, false);
- a2 = createIU("A", reqsA2);
-
- b1 = createIU("B", new Version("1.0.0"), "(invalid=true)", NO_PROVIDES);
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, a2, b1});
- profile = createProfile(IUWithFilter2.class.getName());
- planner = createPlanner();
- }
-
- public void testInstallA1() {
- ProfileChangeRequest req = new ProfileChangeRequest(profile);
- req.addInstallableUnits(new IInstallableUnit[] {a1});
- assertEquals(IStatus.ERROR, planner.getProvisioningPlan(req, null, null).getStatus().getSeverity());
- }
-
- public void testInstallA2() {
- ProfileChangeRequest req = new ProfileChangeRequest(profile);
- req.addInstallableUnits(new IInstallableUnit[] {a2});
- assertEquals(IStatus.OK, planner.getProvisioningPlan(req, null, null).getStatus().getSeverity());
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/InclusionRuleTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/InclusionRuleTest.java
deleted file mode 100644
index 7a36465..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/InclusionRuleTest.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.osgi.framework.Version;
-
-public class InclusionRuleTest extends AbstractProvisioningTest {
- IInstallableUnit a1;
- IInstallableUnit a2;
- IInstallableUnit b1;
- IProfile profile1;
- IProfile profile2;
- IProfile profile3;
- IProfile profile4;
- IPlanner planner;
- IEngine engine;
-
- protected void setUp() throws Exception {
- super.setUp();
- a1 = createIU("A", new Version("1.0.0"), true);
-
- a2 = createIU("A", new Version("2.0.0"), true);
-
- b1 = createIU("B", new Version("1.0.0"), true);
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, a2});
-
- planner = createPlanner();
- engine = createEngine();
- }
-
- public void testMultipleInstallations() {
- profile1 = createProfile("TestProfile." + getName());
- ProfileChangeRequest req = new ProfileChangeRequest(profile1);
- req.addInstallableUnits(new IInstallableUnit[] {a1});
- ProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
- assertEquals(IStatus.OK, plan.getStatus().getSeverity());
- engine.perform(profile1, new DefaultPhaseSet(), plan.getOperands(), null, null);
- assertProfileContainsAll("A1 is missing", profile1, new IInstallableUnit[] {a1});
- assertEquals(profile1.query(InstallableUnitQuery.ANY, new Collector(), null).size(), 1);
-
- //Make a1 optional.
- ProfileChangeRequest req2 = new ProfileChangeRequest(profile1);
- req2.setInstallableUnitInclusionRules(a1, PlannerHelper.createOptionalInclusionRule(a1));
- ProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
- assertEquals(IStatus.OK, plan2.getStatus().getSeverity());
- engine.perform(profile1, new DefaultPhaseSet(), plan2.getOperands(), null, null);
- assertProfileContainsAll("A1 is missing", profile1, new IInstallableUnit[] {a1});
- assertEquals(profile1.query(InstallableUnitQuery.ANY, new Collector(), null).size(), 1);
-
- //Install b1 (this should not change anything for a1)
- ProfileChangeRequest req3 = new ProfileChangeRequest(profile1);
- req3.addInstallableUnits(new IInstallableUnit[] {b1});
- ProvisioningPlan plan3 = planner.getProvisioningPlan(req3, null, null);
- assertEquals(IStatus.OK, plan3.getStatus().getSeverity());
- engine.perform(profile1, new DefaultPhaseSet(), plan3.getOperands(), null, null);
- assertProfileContainsAll("A1 or B1 is missing", profile1, new IInstallableUnit[] {a1, b1});
- assertEquals(profile1.query(InstallableUnitQuery.ANY, new Collector(), null).size(), 2);
-
- //Add a2, this removes a1.
- ProfileChangeRequest req4 = new ProfileChangeRequest(profile1);
- req4.addInstallableUnits(new IInstallableUnit[] {a2});
- ProvisioningPlan plan4 = planner.getProvisioningPlan(req4, null, null);
- assertEquals(IStatus.OK, plan4.getStatus().getSeverity());
- engine.perform(profile1, new DefaultPhaseSet(), plan4.getOperands(), null, null);
- assertProfileContainsAll("A2 is missing", profile1, new IInstallableUnit[] {a2});
- assertNotIUs(new IInstallableUnit[] {a1}, profile1.query(InstallableUnitQuery.ANY, new Collector(), null).iterator());
- assertEquals(profile1.query(InstallableUnitQuery.ANY, new Collector(), null).size(), 2);
-
- //Try to add a1 again. This will fail because since a1 has been uninstalled in the previous step and we no longer know about its optional inclusion
- ProfileChangeRequest req5 = new ProfileChangeRequest(profile1);
- req5.addInstallableUnits(new IInstallableUnit[] {a1});
- ProvisioningPlan plan5 = planner.getProvisioningPlan(req5, null, null);
- assertEquals(IStatus.ERROR, plan5.getStatus().getSeverity());
- }
-
- public void testRemoveInclusionRule() {
- profile2 = createProfile("TestProfile2." + getName());
- //Install a1
- ProfileChangeRequest req = new ProfileChangeRequest(profile2);
- req.addInstallableUnits(new IInstallableUnit[] {a1});
- ProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
- assertEquals(IStatus.OK, plan.getStatus().getSeverity());
- engine.perform(profile2, new DefaultPhaseSet(), plan.getOperands(), null, null);
- assertProfileContainsAll("A1 is missing", profile2, new IInstallableUnit[] {a1});
- assertEquals(profile2.query(InstallableUnitQuery.ANY, new Collector(), null).size(), 1);
-
- //Make a1 optional.
- ProfileChangeRequest req2 = new ProfileChangeRequest(profile2);
- req2.setInstallableUnitInclusionRules(a1, PlannerHelper.createOptionalInclusionRule(a1));
- ProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
- assertEquals(IStatus.OK, plan2.getStatus().getSeverity());
- engine.perform(profile2, new DefaultPhaseSet(), plan2.getOperands(), null, null);
- assertProfileContainsAll("A1 is missing", profile2, new IInstallableUnit[] {a1});
- assertEquals(profile2.query(InstallableUnitQuery.ANY, new Collector(), null).size(), 1);
-
- //Install b1 (this should not change anything for a1)
- ProfileChangeRequest req3 = new ProfileChangeRequest(profile2);
- req3.addInstallableUnits(new IInstallableUnit[] {b1});
- ProvisioningPlan plan3 = planner.getProvisioningPlan(req3, null, null);
- assertEquals(IStatus.OK, plan3.getStatus().getSeverity());
- engine.perform(profile2, new DefaultPhaseSet(), plan3.getOperands(), null, null);
- assertProfileContainsAll("A1 or B1 is missing", profile2, new IInstallableUnit[] {a1, b1});
- assertEquals(profile2.query(InstallableUnitQuery.ANY, new Collector(), null).size(), 2);
-
- //Remove the optional inclusion rule from a1. a1 and b1 are still here
- ProfileChangeRequest req5 = new ProfileChangeRequest(profile2);
- req5.removeInstallableUnitInclusionRules(a1);
- ProvisioningPlan plan5 = planner.getProvisioningPlan(req5, null, null);
- assertEquals(IStatus.OK, plan5.getStatus().getSeverity());
- engine.perform(profile2, new DefaultPhaseSet(), plan5.getOperands(), null, null);
- assertProfileContainsAll("A1 or B1 is missing", profile2, new IInstallableUnit[] {a1, b1});
- assertEquals(profile2.query(InstallableUnitQuery.ANY, new Collector(), null).size(), 2);
- }
-
- public void testRemoveIUandInclusionRule() {
- profile3 = createProfile("TestProfile3." + getName());
- ProfileChangeRequest req = new ProfileChangeRequest(profile3);
- req.addInstallableUnits(new IInstallableUnit[] {a1});
- ProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
- assertEquals(IStatus.OK, plan.getStatus().getSeverity());
- engine.perform(profile3, new DefaultPhaseSet(), plan.getOperands(), null, null);
- assertProfileContainsAll("A1 is missing", profile3, new IInstallableUnit[] {a1});
- assertEquals(profile3.query(InstallableUnitQuery.ANY, new Collector(), null).size(), 1);
-
- //Make a1 optional.
- ProfileChangeRequest req2 = new ProfileChangeRequest(profile3);
- req2.setInstallableUnitInclusionRules(a1, PlannerHelper.createOptionalInclusionRule(a1));
- ProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
- assertEquals(IStatus.OK, plan2.getStatus().getSeverity());
- engine.perform(profile3, new DefaultPhaseSet(), plan2.getOperands(), null, null);
- assertProfileContainsAll("A1 is missing", profile3, new IInstallableUnit[] {a1});
- assertEquals(profile3.query(InstallableUnitQuery.ANY, new Collector(), null).size(), 1);
-
- //Install b1 (this should not change anything for a1)
- ProfileChangeRequest req3 = new ProfileChangeRequest(profile3);
- req3.addInstallableUnits(new IInstallableUnit[] {b1});
- ProvisioningPlan plan3 = planner.getProvisioningPlan(req3, null, null);
- assertEquals(IStatus.OK, plan3.getStatus().getSeverity());
- engine.perform(profile3, new DefaultPhaseSet(), plan3.getOperands(), null, null);
- assertProfileContainsAll("A1 or B1 is missing", profile3, new IInstallableUnit[] {a1, b1});
- assertEquals(profile3.query(InstallableUnitQuery.ANY, new Collector(), null).size(), 2);
-
- //Remove the a1 and its inclusion rule
- ProfileChangeRequest req5 = new ProfileChangeRequest(profile3);
- req5.removeInstallableUnits(new IInstallableUnit[] {a1});
- req5.removeInstallableUnitInclusionRules(a1);
- ProvisioningPlan plan5 = planner.getProvisioningPlan(req5, null, null);
- assertEquals(IStatus.OK, plan5.getStatus().getSeverity());
- engine.perform(profile3, new DefaultPhaseSet(), plan5.getOperands(), null, null);
- assertProfileContainsAll("bB1 is missing", profile3, new IInstallableUnit[] {b1});
- assertEquals(profile3.query(InstallableUnitQuery.ANY, new Collector(), null).size(), 1);
- }
-
- public void testAdditionWithInclusionRule() {
- profile4 = createProfile("TestProfile4." + getName());
- //Try to Install a1 and a2
- ProfileChangeRequest req5 = new ProfileChangeRequest(profile4);
- req5.addInstallableUnits(new IInstallableUnit[] {a1, a2});
- ProvisioningPlan plan5 = planner.getProvisioningPlan(req5, null, null);
- assertEquals(IStatus.ERROR, plan5.getStatus().getSeverity());
-
- //Install a1 and a2 marking a1 optional
- ProfileChangeRequest req = new ProfileChangeRequest(profile4);
- req.addInstallableUnits(new IInstallableUnit[] {a1, a2});
- req.setInstallableUnitInclusionRules(a1, PlannerHelper.createOptionalInclusionRule(a1));
- ProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
- assertEquals(IStatus.OK, plan.getStatus().getSeverity());
- engine.perform(profile4, new DefaultPhaseSet(), plan.getOperands(), null, null);
- assertProfileContainsAll("A2 is missing", profile4, new IInstallableUnit[] {a2});
- assertEquals(profile4.query(InstallableUnitQuery.ANY, new Collector(), null).size(), 1);
-
- //Make a1 optional, this is a no-op since a1 is not in the system
- ProfileChangeRequest req2 = new ProfileChangeRequest(profile4);
- req2.setInstallableUnitInclusionRules(a1, PlannerHelper.createOptionalInclusionRule(a1));
- ProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
- assertEquals(IStatus.OK, plan2.getStatus().getSeverity());
- engine.perform(profile4, new DefaultPhaseSet(), plan2.getOperands(), null, null);
- assertProfileContainsAll("A2 is missing", profile4, new IInstallableUnit[] {a2});
- assertEquals(profile4.query(InstallableUnitQuery.ANY, new Collector(), null).size(), 1);
-
- //Install a1, this is expected to fail
- ProfileChangeRequest req3 = new ProfileChangeRequest(profile4);
- req3.addInstallableUnits(new IInstallableUnit[] {a1});
- ProvisioningPlan plan3 = planner.getProvisioningPlan(req3, null, null);
- assertEquals(IStatus.ERROR, plan3.getStatus().getSeverity());
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/InclusionRuleTest2.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/InclusionRuleTest2.java
deleted file mode 100644
index 62a1529..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/InclusionRuleTest2.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class InclusionRuleTest2 extends AbstractProvisioningTest {
- IInstallableUnit a1;
- IInstallableUnit a2;
- IProfile profile;
- IPlanner planner;
- IEngine engine;
-
- protected void setUp() throws Exception {
- super.setUp();
- a1 = createIU("A", new Version("1.0.0"), true);
-
- createIU("A", new Version("2.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, true, MetadataFactory.createUpdateDescriptor("A", VersionRange.emptyRange, 0, "foo bar"));
- a2 = createIU("A", new Version("2.0.0"), true);
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, a2});
-
- profile = createProfile("TestProfile." + getName());
- planner = createPlanner();
- engine = createEngine();
- }
-
- public void testChangeIUProperty() {
- //Add into the profile the version a1;
- ProfileChangeRequest req = new ProfileChangeRequest(profile);
- req.addInstallableUnits(new IInstallableUnit[] {a1});
- req.setInstallableUnitProfileProperty(a1, IInstallableUnit.PROP_PROFILE_ROOT_IU, Boolean.TRUE.toString());
- ProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
- assertEquals(IStatus.OK, plan.getStatus().getSeverity());
- engine.perform(profile, new DefaultPhaseSet(), plan.getOperands(), null, null);
- assertProfileContainsAll("A1 is missing", profile, new IInstallableUnit[] {a1});
-
- IProfileRegistry profileRegistry = (IProfileRegistry) ServiceHelper.getService(TestActivator.getContext(), IProfileRegistry.class.getName());
- profile = profileRegistry.getProfile(profile.getProfileId());
- Collector c = profile.query(new IUProfilePropertyQuery(profile, IInstallableUnit.PROP_PROFILE_ROOT_IU, Boolean.TRUE.toString()), new Collector(), null);
- assertEquals(c.size(), 1);
-
- System.gc();
- ProfileChangeRequest req2 = ProfileChangeRequest.createByProfileId(profile.getProfileId());
- req2.removeInstallableUnits(new IInstallableUnit[] {a1});
- req2.addInstallableUnits(new IInstallableUnit[] {a2});
- // req2.setInstallableUnitProfileProperty(a2, IInstallableUnit.PROP_PROFILE_ROOT_IU, Boolean.TRUE.toString());
- ProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
- assertEquals(IStatus.OK, plan2.getStatus().getSeverity());
- assertInstallOperand(plan2, a2);
- engine.perform(profile, new DefaultPhaseSet(), plan2.getOperands(), null, null);
- assertProfileContains("A2 is missing", profile, new IInstallableUnit[] {a2});
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MinimalInstall.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MinimalInstall.java
deleted file mode 100644
index fd07607..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MinimalInstall.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class MinimalInstall extends AbstractProvisioningTest {
- IInstallableUnit a1;
- IInstallableUnit b1;
- IInstallableUnit b11;
- IInstallableUnit c;
-
- IProfile profile;
- IPlanner planner;
-
- protected void setUp() throws Exception {
- super.setUp();
- a1 = createIU("A", new Version("1.0.0"), createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "B1", new VersionRange("[1.0.0, 2.0.0)"), null));
-
- b1 = createIU("B1", new Version("1.0.0"), true);
-
- b11 = createIU("B1", new Version("1.1.0"), createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.0.0, 3.0.0)"), null), NO_PROPERTIES, true);
-
- c = createIU("C", new Version(2, 0, 0), true);
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, b1, b11, c});
-
- profile = createProfile("TestProfile." + getName());
- planner = createPlanner();
-
- }
-
- public void testInstallA1() {
- ProfileChangeRequest req = new ProfileChangeRequest(profile);
- req.addInstallableUnits(new IInstallableUnit[] {a1});
- assertEquals(IStatus.OK, planner.getProvisioningPlan(req, null, null).getStatus().getSeverity());
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingDependency.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingDependency.java
deleted file mode 100644
index 0771abe..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingDependency.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class MissingDependency extends AbstractProvisioningTest {
- IInstallableUnit a1;
- IInstallableUnit b1;
- private IProfile profile;
- private IPlanner planner;
-
- protected void setUp() throws Exception {
- super.setUp();
- a1 = createIU("A", new Version("1.0.0"), true);
-
- //Missing non optional dependency
- RequiredCapability[] req = new RequiredCapability[1];
- req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, false, false, true);
- b1 = createIU("B", new Version("1.0.0"), req);
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, b1});
-
- profile = createProfile("TestProfile." + getName());
- planner = createPlanner();
- }
-
- public void testContradiction() {
- ProfileChangeRequest req = new ProfileChangeRequest(profile);
- req.addInstallableUnits(new IInstallableUnit[] {a1, b1});
- ProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
- assertEquals(IStatus.ERROR, plan.getStatus().getSeverity());
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingDependency2.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingDependency2.java
deleted file mode 100644
index b646c27..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingDependency2.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class MissingDependency2 extends AbstractProvisioningTest {
- IInstallableUnit a1;
- IInstallableUnit b1;
- private IProfile profile;
- private IPlanner planner;
-
- protected void setUp() throws Exception {
- super.setUp();
- RequiredCapability[] reqA = new RequiredCapability[1];
- reqA[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, true);
- a1 = createIU("A", new Version("1.0.0"), reqA);
-
- //Missing optional dependency
- RequiredCapability[] req = new RequiredCapability[1];
- req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, true, false, true);
- b1 = createIU("B", new Version("1.0.0"), req);
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, b1});
-
- profile = createProfile("TestProfile." + getName());
- planner = createPlanner();
- }
-
- public void testContradiction() {
- ProfileChangeRequest req = new ProfileChangeRequest(profile);
- req.addInstallableUnits(new IInstallableUnit[] {a1});
- ProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
- assertEquals(IStatus.OK, plan.getStatus().getSeverity());
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingDependency3.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingDependency3.java
deleted file mode 100644
index 32d85ad..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingDependency3.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class MissingDependency3 extends AbstractProvisioningTest {
- IInstallableUnit a1;
- IInstallableUnit b1;
- private IProfile profile;
- private IPlanner planner;
-
- //This tests that A can still be resolved and installed
- protected void setUp() throws Exception {
- super.setUp();
- RequiredCapability[] reqA = new RequiredCapability[1];
- reqA[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, true, false, true);
- a1 = createIU("A", new Version("1.0.0"), reqA);
-
- //Missing dependency
- RequiredCapability[] req = new RequiredCapability[1];
- req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, false, false, true);
- b1 = createIU("B", new Version("1.0.0"), req);
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, b1});
-
- profile = createProfile("TestProfile." + getName());
- planner = createPlanner();
- }
-
- public void testContradiction() {
- ProfileChangeRequest req = new ProfileChangeRequest(profile);
- req.addInstallableUnits(new IInstallableUnit[] {a1});
- ProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
- assertEquals(IStatus.OK, plan.getStatus().getSeverity());
- assertInstallOperand(plan, a1);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingNonGreedyRequirement.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingNonGreedyRequirement.java
deleted file mode 100644
index af462ac..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingNonGreedyRequirement.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class MissingNonGreedyRequirement extends AbstractProvisioningTest {
- private IInstallableUnit a1;
- private IInstallableUnit b1;
- private IInstallableUnit c1;
- private IProfile profile;
- private IPlanner planner;
-
- protected void setUp() throws Exception {
- super.setUp();
- b1 = createIU("B", new Version("1.0.0"), true);
-
- c1 = createIU("C", new Version("1.0.0"), true);
-
- RequiredCapability[] reqB = new RequiredCapability[2];
- reqB[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false);
- reqB[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, true, false, true);
- a1 = createIU("A", new Version("1.0.0"), reqB);
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, b1, c1});
-
- profile = createProfile("TestProfile." + getName());
- planner = createPlanner();
- }
-
- public void testInstall() {
- //The planner returns an error because the requirement from A on B is non greedy and no one brings in B
- ProfileChangeRequest req = new ProfileChangeRequest(profile);
- req.addInstallableUnits(new IInstallableUnit[] {a1});
- ProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
- assertEquals(IStatus.ERROR, plan.getStatus().getSeverity());
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingNonGreedyRequirement2.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingNonGreedyRequirement2.java
deleted file mode 100644
index dd13479..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingNonGreedyRequirement2.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class MissingNonGreedyRequirement2 extends AbstractProvisioningTest {
- private IInstallableUnit a1;
- private IInstallableUnit c1;
- private IProfile profile;
- private IPlanner planner;
-
- protected void setUp() throws Exception {
- super.setUp();
- c1 = createIU("C", new Version("1.0.0"), true);
-
- RequiredCapability[] reqB = new RequiredCapability[2];
- reqB[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false);
- reqB[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, true, false, true);
- a1 = createIU("A", new Version("1.0.0"), reqB);
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, c1});
-
- profile = createProfile("TestProfile." + getName());
- planner = createPlanner();
- }
-
- public void testInstall() {
- //The planner returns an error because the requirement from A on B is non greedy and no one brings in B.
- ProfileChangeRequest req = new ProfileChangeRequest(profile);
- req.addInstallableUnits(new IInstallableUnit[] {a1});
- ProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
- assertEquals(IStatus.ERROR, plan.getStatus().getSeverity());
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptional.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptional.java
deleted file mode 100644
index 3f7ae5c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptional.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class MissingOptional extends AbstractProvisioningTest {
- private IInstallableUnit a1;
- private IInstallableUnit b1;
- private IInstallableUnit d;
- private IProfile profile;
- private IPlanner planner;
-
- protected void setUp() throws Exception {
- super.setUp();
- a1 = createIU("A", new Version("1.0.0"), true);
- b1 = createIU("B", new Version("1.0.0"), true);
-
- RequiredCapability[] req = new RequiredCapability[3];
- req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, true);
- req[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, true, false, true);
- req[2] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, true, false, true);
- d = createIU("D", req);
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, b1, d});
-
- profile = createProfile("TestProfile." + getName());
- planner = createPlanner();
- }
-
- public void testInstallation() {
- //Ensure that D's installation does not fail because of C's absence
- ProfileChangeRequest req = new ProfileChangeRequest(profile);
- req.addInstallableUnits(new IInstallableUnit[] {d});
- ProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
- assertEquals(IStatus.OK, plan.getStatus().getSeverity());
- assertInstallOperand(plan, a1);
- assertInstallOperand(plan, b1); //THIS May not be in
- assertInstallOperand(plan, d);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptionalNonGreedyRequirement.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptionalNonGreedyRequirement.java
deleted file mode 100644
index 0b9a9b9..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptionalNonGreedyRequirement.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class MissingOptionalNonGreedyRequirement extends AbstractProvisioningTest {
- private IInstallableUnit a1;
- private IInstallableUnit b1;
- private IProfile profile;
- private IPlanner planner;
-
- protected void setUp() throws Exception {
- super.setUp();
- b1 = createIU("B", new Version("1.0.0"), true);
-
- RequiredCapability[] reqB = new RequiredCapability[1];
- reqB[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, true, false, false);
- a1 = createIU("A", new Version("1.0.0"), reqB);
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, b1});
-
- profile = createProfile("TestProfile." + getName());
- planner = createPlanner();
- }
-
- public void testInstall() {
- //The plan does not contains B because the requirement from A on B is non greedy and no one brings in B
- ProfileChangeRequest req = new ProfileChangeRequest(profile);
- req.addInstallableUnits(new IInstallableUnit[] {a1});
- ProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
- assertEquals(IStatus.OK, plan.getStatus().getSeverity());
- assertInstallOperand(plan, a1);
- assertNoOperand(plan, b1);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptionalWithDependencies.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptionalWithDependencies.java
deleted file mode 100644
index d5dfdc7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptionalWithDependencies.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class MissingOptionalWithDependencies extends AbstractProvisioningTest {
- private IInstallableUnit a1;
- private IInstallableUnit b1;
- private IInstallableUnit d;
- private IProfile profile;
- private IPlanner planner;
-
- protected void setUp() throws Exception {
- super.setUp();
- a1 = createIU("A", new Version("1.0.0"), true);
-
- //B's dependency is missing
- RequiredCapability[] reqB = new RequiredCapability[2];
- reqB[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, true, false, true);
- reqB[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, true);
- b1 = createIU("B", new Version("1.0.0"), reqB);
-
- RequiredCapability[] req = new RequiredCapability[2];
- req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, true);
- req[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, true);
- d = createIU("D", req);
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, b1, d});
-
- profile = createProfile("TestProfile." + getName());
- planner = createPlanner();
- }
-
- public void testInstallation() {
- //Ensure that D's installation does not fail because of C's absence
- ProfileChangeRequest req = new ProfileChangeRequest(profile);
- req.addInstallableUnits(new IInstallableUnit[] {d});
- ProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
- assertEquals(IStatus.OK, plan.getStatus().getSeverity());
- assertInstallOperand(plan, a1);
- assertInstallOperand(plan, b1);
- assertInstallOperand(plan, d);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptionalWithDependencies2.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptionalWithDependencies2.java
deleted file mode 100644
index 8ab96ee..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptionalWithDependencies2.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class MissingOptionalWithDependencies2 extends AbstractProvisioningTest {
- private IInstallableUnit a1;
- private IInstallableUnit b1;
- private IInstallableUnit c1;
- private IInstallableUnit c2;
- private IInstallableUnit d;
- private IProfile profile;
- private IPlanner planner;
-
- protected void setUp() throws Exception {
- super.setUp();
- a1 = createIU("A", new Version("1.0.0"), true);
- c1 = createIU("C", new Version("1.0.0"), true);
- c2 = createIU("C", new Version("2.0.0"), true);
-
- //B's dependency on C can not be satisfied
- RequiredCapability[] reqB = new RequiredCapability[2];
- reqB[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.0.0, 1.0.0]"), null, true, false, true);
- reqB[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, true);
- b1 = createIU("B", new Version("1.0.0"), reqB);
-
- RequiredCapability[] req = new RequiredCapability[3];
- req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, true);
- req[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, true);
- req[2] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[2.0.0, 2.0.0]"), null, false, false, true);
- d = createIU("D", req);
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, b1, c1, c2, d});
-
- profile = createProfile("TestProfile." + getName());
- planner = createPlanner();
- }
-
- public void testInstallation() {
- //Ensure that D's installation does not fail because of C's absence
- ProfileChangeRequest req = new ProfileChangeRequest(profile);
- req.addInstallableUnits(new IInstallableUnit[] {d});
- ProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
- assertEquals(IStatus.OK, plan.getStatus().getSeverity());
- assertInstallOperand(plan, d);
- assertInstallOperand(plan, a1);
- assertInstallOperand(plan, b1);
- assertInstallOperand(plan, c2);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptionalWithDependencies3.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptionalWithDependencies3.java
deleted file mode 100644
index 7e427d0..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptionalWithDependencies3.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class MissingOptionalWithDependencies3 extends AbstractProvisioningTest {
- private IInstallableUnit a1;
- private IInstallableUnit b1;
- private IInstallableUnit c1;
- private IInstallableUnit c2;
- private IInstallableUnit d;
- private IProfile profile;
- private IPlanner planner;
-
- protected void setUp() throws Exception {
- super.setUp();
- a1 = createIU("A", new Version("1.0.0"), true);
- c1 = createIU("C", new Version("1.0.0"), true);
- c2 = createIU("C", new Version("2.0.0"), true);
-
- //B's dependency on C can not be satisfied
- RequiredCapability[] reqB = new RequiredCapability[2];
- reqB[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.0.0, 1.0.0]"), null, true, false, true);
- reqB[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, true);
- b1 = createIU("B", new Version("1.0.0"), reqB);
-
- RequiredCapability[] req = new RequiredCapability[3];
- req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, true);
- req[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, true, false, true);
- req[2] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[2.0.0, 2.0.0]"), null, false, false, true);
- d = createIU("D", req);
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, b1, c1, c2, d});
-
- profile = createProfile("TestProfile." + getName());
- planner = createPlanner();
- }
-
- public void testInstallation() {
- //Ensure that D's installation does not fail because of C's absence
- ProfileChangeRequest req = new ProfileChangeRequest(profile);
- req.addInstallableUnits(new IInstallableUnit[] {d});
- ProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
- assertEquals(IStatus.OK, plan.getStatus().getSeverity());
- assertInstallOperand(plan, a1);
- assertInstallOperand(plan, b1);
- assertInstallOperand(plan, d);
- assertInstallOperand(plan, c2);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MultipleProvider.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MultipleProvider.java
deleted file mode 100644
index da387ab..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MultipleProvider.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class MultipleProvider extends AbstractProvisioningTest {
- IInstallableUnit a1;
- IInstallableUnit b1;
- IInstallableUnit b11;
- IInstallableUnit b12;
- IInstallableUnit b13;
- IInstallableUnit b14;
-
- IPlanner planner;
- IProfile profile;
-
- protected void setUp() throws Exception {
- super.setUp();
- a1 = createIU("A", new Version("1.0.0"), createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "B1", new VersionRange("[1.0.0, 2.0.0)"), null));
-
- b1 = createIU("B1", new Version("1.0.0"), true);
-
- b11 = createIU("B1", new Version("1.1.0"), true);
-
- b12 = createIU("B1", new Version("1.2.0"), true);
-
- b13 = createIU("B1", new Version("1.3.0"), true);
-
- b14 = createIU("B1", new Version("1.4.0"), true);
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, b1, b11, b12, b13, b14});
-
- profile = createProfile("TestProfile." + getName());
- planner = createPlanner();
-
- }
-
- public void testInstall() {
- ProfileChangeRequest req = new ProfileChangeRequest(profile);
- req.addInstallableUnits(new IInstallableUnit[] {a1});
- assertEquals(IStatus.OK, planner.getProvisioningPlan(req, null, null).getStatus().getSeverity());
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MultipleSingleton.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MultipleSingleton.java
deleted file mode 100644
index 6cac84b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MultipleSingleton.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class MultipleSingleton extends AbstractProvisioningTest {
- IInstallableUnit a1;
- IInstallableUnit a2;
- IInstallableUnit a3;
- IInstallableUnit a4;
- IInstallableUnit u, v, w, x, y, z;
-
- IPlanner planner;
- IProfile profile;
-
- protected void setUp() throws Exception {
- super.setUp();
- a1 = createIU("A", new Version("1.0.0"), true);
-
- a2 = createIU("A", new Version("2.0.0"), true);
-
- a3 = createIU("A", new Version("3.0.0"), false);
-
- a4 = createIU("A", new Version("4.0.0"), false);
-
- x = createIU("X", new Version(2, 0, 0), createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 4.1.0)"), null));
-
- RequiredCapability c1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.0.0]"), null, false, false);
- RequiredCapability c2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[2.0.0, 2.0.0]"), null, false, false);
- y = createIU("Y", new Version(2, 0, 0), new RequiredCapability[] {c1, c2});
-
- RequiredCapability c3 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[3.0.0, 3.0.0]"), null, false, false);
- RequiredCapability c4 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[4.0.0, 4.0.0]"), null, false, false);
- z = createIU("Z", new Version(2, 0, 0), new RequiredCapability[] {c3, c4});
-
- RequiredCapability c5 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.0.0]"), null, false, false);
- RequiredCapability c6 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[3.0.0, 3.0.0]"), null, false, false);
- w = createIU("W", new Version(2, 0, 0), new RequiredCapability[] {c5, c6});
-
- RequiredCapability c7 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 2.0.0]"), null, false, false);
- RequiredCapability c8 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[3.0.0, 4.0.0]"), null, false, false);
- v = createIU("V", new Version(2, 0, 0), new RequiredCapability[] {c7});
- u = createIU("U", new Version(2, 0, 0), new RequiredCapability[] {c8});
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, a2, a3, a4, w, x, y, z});
-
- profile = createProfile("TestProfile.MultipleSingleton" + getName());
- planner = createPlanner();
-
- }
-
- public void test1() {
- ProfileChangeRequest req = new ProfileChangeRequest(profile);
- req.addInstallableUnits(new IInstallableUnit[] {x});
- assertEquals(IStatus.OK, planner.getProvisioningPlan(req, null, null).getStatus().getSeverity());
- }
-
- public void test2() {
- ProfileChangeRequest req = new ProfileChangeRequest(profile);
- req.addInstallableUnits(new IInstallableUnit[] {y});
- assertEquals(IStatus.ERROR, planner.getProvisioningPlan(req, null, null).getStatus().getSeverity());
- }
-
- public void test3() {
- //Test that we can install A3 and A4 together
- ProfileChangeRequest req = new ProfileChangeRequest(profile);
- req.addInstallableUnits(new IInstallableUnit[] {z});
- assertEquals(IStatus.OK, planner.getProvisioningPlan(req, null, null).getStatus().getSeverity());
- }
-
- public void test4() {
- //Ensure that A1 and A3 can't be installed together since one is singleton and the other not
- ProfileChangeRequest req = new ProfileChangeRequest(profile);
- req.addInstallableUnits(new IInstallableUnit[] {w});
- assertEquals(IStatus.ERROR, planner.getProvisioningPlan(req, null, null).getStatus().getSeverity());
- }
-
- public void test5b() {
- //Validate the setup
- ProfileChangeRequest req = new ProfileChangeRequest(profile);
- req.addInstallableUnits(new IInstallableUnit[] {u});
- assertEquals(IStatus.OK, planner.getProvisioningPlan(req, null, null).getStatus().getSeverity());
- }
-
- public void test5c() {
- //Validate the setup
- ProfileChangeRequest req = new ProfileChangeRequest(profile);
- req.addInstallableUnits(new IInstallableUnit[] {v});
- assertEquals(IStatus.OK, planner.getProvisioningPlan(req, null, null).getStatus().getSeverity());
- }
-
- public void test5() {
- //Ensure
- ProfileChangeRequest req = new ProfileChangeRequest(profile);
- req.addInstallableUnits(new IInstallableUnit[] {u, v});
- assertEquals(IStatus.ERROR, planner.getProvisioningPlan(req, null, null).getStatus().getSeverity());
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/NoRequirements.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/NoRequirements.java
deleted file mode 100644
index 0707f04..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/NoRequirements.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class NoRequirements extends AbstractProvisioningTest {
- IInstallableUnit a1;
-
- IPlanner planner;
- IProfile profile;
-
- protected void setUp() throws Exception {
- super.setUp();
- a1 = createIU("A", new Version("1.0.0"), createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.0.0]"), null));
- createTestMetdataRepository(new IInstallableUnit[] {a1});
- profile = createProfile(NoRequirements.class.getName());
- planner = createPlanner();
- }
-
- public void testInstall() {
- ProfileChangeRequest req = new ProfileChangeRequest(profile);
- req.addInstallableUnits(new IInstallableUnit[] {a1});
- assertEquals(IStatus.OK, planner.getProvisioningPlan(req, null, null).getStatus().getSeverity());
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PP2ShouldFailToInstall.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PP2ShouldFailToInstall.java
deleted file mode 100644
index 24ebff2..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PP2ShouldFailToInstall.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.engine.IEngine;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class PP2ShouldFailToInstall extends AbstractProvisioningTest {
- private IInstallableUnit p2Feature;
- private IInstallableUnit p1;
- private IInstallableUnit p2;
- private IInstallableUnitPatch pp1;
- private IInstallableUnitPatch pp2;
- private IInstallableUnit p2b;
- private IInstallableUnit p1b;
- private IProfile profile1;
- private IPlanner planner;
- private IEngine engine;
-
- protected void setUp() throws Exception {
- super.setUp();
- p2Feature = createIU("p2.feature", new Version(1, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "P1", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "P2", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)});
- p1 = createIU("P1", new Version(1, 0, 0), true);
- p2 = createIU("P2", new Version(1, 0, 0), true);
- p1b = createIU("P1", new Version(1, 1, 1), true);
- p2b = createIU("P2", new Version(1, 1, 1), true);
-
- RequirementChange changepp1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "P1", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "P1", new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true));
- RequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "p2.feature", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true);
- RequiredCapability[][] scopepp1 = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "p2.feature", new VersionRange("[1.0.0,1.0.0]"), null, false, false)}};
- pp1 = createIUPatch("PP1", new Version("3.0.0"), true, new RequirementChange[] {changepp1}, scopepp1, lifeCyclepp1);
-
- RequirementChange changepp2 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "P2", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "P2", new VersionRange("[3.1.1, 3.1.1]"), null, false, false, true));
- RequiredCapability lifeCyclepp2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "p2.feature", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true);
- RequiredCapability[][] scopepp2 = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "p2.feature", new VersionRange("[1.0.0, 1.0.0]"), null, false, false)}};
- pp2 = createIUPatch("PP2", new Version("5.0.0"), true, new RequirementChange[] {changepp2}, scopepp2, lifeCyclepp2);
-
- createTestMetdataRepository(new IInstallableUnit[] {p2Feature, p1, p2, p1b, p2b, pp1, pp2});
-
- profile1 = createProfile("TestProfile." + getName());
- planner = createPlanner();
- engine = createEngine();
-
- if (!install(profile1, new IInstallableUnit[] {p2Feature}, true, planner, engine).isOK())
- fail("Setup failed");
-
- if (install(profile1, new IInstallableUnit[] {pp1}, true, planner, engine).getSeverity() == IStatus.ERROR)
- fail("Setup failed while installing patch");
-
- if (install(profile1, new IInstallableUnit[] {pp2}, true, planner, engine).getSeverity() == IStatus.ERROR)
- fail("Setup failed while installing patch");
-
- assertProfileContainsAll("Profile setup incorrectly", profile1, new IInstallableUnit[] {p2Feature, p1b, p2b, pp1, pp2});
- }
-
- public void testUninstall() {
- System.out.println(uninstall(profile1, new IInstallableUnit[] {pp1}, planner, engine));
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchFailingToInstall.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchFailingToInstall.java
deleted file mode 100644
index 324d404..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchFailingToInstall.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.engine.IEngine;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class PatchFailingToInstall extends AbstractProvisioningTest {
- private IInstallableUnit p2Feature;
- private IInstallableUnit p1;
- private IInstallableUnit p2;
- private IInstallableUnitPatch pp1;
- private IInstallableUnitPatch pp2;
- private IInstallableUnit p2b;
- private IInstallableUnit p1b;
- private IProfile profile1;
- private IPlanner planner;
- private IEngine engine;
-
- protected void setUp() throws Exception {
- super.setUp();
- p2Feature = createIU("p2.feature", new Version(1, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "P1", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "P2", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)});
- p1 = createIU("P1", new Version(1, 0, 0), true);
- p2 = createIU("P2", new Version(1, 0, 0), true);
- p1b = createIU("P1", new Version(1, 1, 1), true);
- p2b = createIU("P2", new Version(1, 1, 1), true);
-
- RequirementChange changepp1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
- RequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "p2.feature", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true);
- RequiredCapability[][] scopepp1 = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "P1", new VersionRange("[1.1.1,1.1.1]"), null, false, false)}};
- pp1 = createIUPatch("PP1", new Version("3.0.0"), true, new RequirementChange[] {changepp1}, scopepp1, lifeCyclepp1);
-
- RequirementChange changepp2 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
- RequiredCapability lifeCyclepp2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "p2.feature", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true);
- RequiredCapability[][] scopepp2 = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "P2", new VersionRange("[1.1.1,1.1.1]"), null, false, false)}};
- pp2 = createIUPatch("PP2", new Version("5.0.0"), true, new RequirementChange[] {changepp2}, scopepp2, lifeCyclepp2);
-
- createTestMetdataRepository(new IInstallableUnit[] {p2Feature, p1, p2, p1b, p2b, pp1, pp2});
-
- profile1 = createProfile("TestProfile." + getName());
- planner = createPlanner();
- engine = createEngine();
-
- if (!install(profile1, new IInstallableUnit[] {p2Feature}, true, planner, engine).isOK())
- fail("Setup failed");
-
- if (install(profile1, new IInstallableUnit[] {pp1}, true, planner, engine).getSeverity() == IStatus.ERROR)
- fail("Setup failed while installing patch");
-
- if (install(profile1, new IInstallableUnit[] {pp2}, true, planner, engine).getSeverity() == IStatus.ERROR)
- fail("Setup failed while installing patch");
-
- fail("this should likely fail since the scope does not match anything");
- assertProfileContainsAll("Profile setup incorrectly", profile1, new IInstallableUnit[] {p2Feature, p1, p2, pp1, pp2});
- }
-
- public void testUninstall() {
- System.out.println(uninstall(profile1, new IInstallableUnit[] {pp1}, planner, engine));
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest1.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest1.java
deleted file mode 100644
index 76f18e3..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest1.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.IEngine;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class PatchTest1 extends AbstractProvisioningTest {
- IInstallableUnit a1;
- IInstallableUnit b1;
- IInstallableUnitPatch p1;
-
- IProfile profile1;
- IPlanner planner;
- IEngine engine;
-
- protected void setUp() throws Exception {
- super.setUp();
- a1 = createIU("A", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)});
- b1 = createIU("B", new Version(1, 2, 0), true);
- RequirementChange change = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
- p1 = createIUPatch("P", new Version("1.0.0"), true, new RequirementChange[] {change}, new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null);
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, b1, p1});
-
- profile1 = createProfile("TestProfile." + getName());
- planner = createPlanner();
- engine = createEngine();
- }
-
- public void testInstall() {
- //The requirement from A to B is broken because there is no B satisifying. Therefore A can only install if the P is installed as well
- ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
- req1.addInstallableUnits(new IInstallableUnit[] {a1, p1});
- ProvisioningPlan plan1 = planner.getProvisioningPlan(req1, null, null);
- assertEquals(IStatus.OK, plan1.getStatus().getSeverity());
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest10.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest10.java
deleted file mode 100644
index 484e1f0..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest10.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.IEngine;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class PatchTest10 extends AbstractProvisioningTest {
- IInstallableUnit a1;
- IInstallableUnit b1;
- IInstallableUnit b2;
- IInstallableUnit b3;
- IInstallableUnitPatch p1;
- IInstallableUnitPatch pp1;
-
- IProfile profile1;
- IPlanner planner;
- IEngine engine;
-
- protected void setUp() throws Exception {
- super.setUp();
- a1 = createIU("A", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)});
- b1 = createIU("B", new Version(1, 0, 0), true);
- b2 = createIU("B", new Version(1, 2, 0), true);
- b3 = createIU("B", new Version(1, 3, 0), true);
- RequirementChange change = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.2.0, 1.2.0]"), null, false, false, true));
- p1 = createIUPatch("P", new Version("1.0.0"), true, new RequirementChange[] {change}, new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null);
-
- RequirementChange anotherChangeB = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.3.0, 1.3.0]"), null, false, false, true));
- pp1 = createIUPatch("PP", new Version("1.0.0"), true, new RequirementChange[] {anotherChangeB}, new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null);
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, b1, b2, b3, p1, pp1});
-
- profile1 = createProfile("TestProfile." + getName());
- planner = createPlanner();
- engine = createEngine();
- }
-
- public void testConflictingPatches() {
- //a1 and p1 can be installed together
- ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
- req1.addInstallableUnits(new IInstallableUnit[] {a1, p1});
- ProvisioningPlan plan1 = planner.getProvisioningPlan(req1, null, null);
- assertEquals(IStatus.OK, plan1.getStatus().getSeverity());
- assertInstallOperand(plan1, a1);
- assertInstallOperand(plan1, p1);
- assertInstallOperand(plan1, b2);
-
- //a1 and pp1 can be installed together
- ProfileChangeRequest req2 = new ProfileChangeRequest(profile1);
- req2.addInstallableUnits(new IInstallableUnit[] {a1, pp1});
- ProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
- assertEquals(IStatus.OK, plan2.getStatus().getSeverity());
- assertInstallOperand(plan2, a1);
- assertInstallOperand(plan2, pp1);
- assertInstallOperand(plan2, b3);
-
- //a1, p1, and pp1 can not be installed together
- ProfileChangeRequest req3 = new ProfileChangeRequest(profile1);
- req3.addInstallableUnits(new IInstallableUnit[] {a1, p1, pp1});
- ProvisioningPlan plan3 = planner.getProvisioningPlan(req3, null, null);
- assertEquals(IStatus.ERROR, plan3.getStatus().getSeverity());
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest11.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest11.java
deleted file mode 100644
index b5926c6..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest11.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.IEngine;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class PatchTest11 extends AbstractProvisioningTest {
- IInstallableUnit a1;
- IInstallableUnit b1;
- IInstallableUnit b2;
- IInstallableUnitPatch p1;
-
- IProfile profile1;
- IPlanner planner;
- IEngine engine;
-
- protected void setUp() throws Exception {
- super.setUp();
- a1 = createIU("A", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true, true)});
- b1 = createIU("B", new Version(1, 0, 0), true);
- b2 = createIU("B", new Version(1, 2, 0), true);
- RequirementChange change = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), "foo=bar", false, false, true));
- p1 = createIUPatch("P", new Version("1.0.0"), true, new RequirementChange[] {change}, new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null);
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, b1, b2, p1});
-
- profile1 = createProfile("TestProfile." + getName());
- planner = createPlanner();
- engine = createEngine();
- }
-
- public void testInstallBogusInstallFilterInPatch() {
- //P1 changes the requirement from A on B to be filtered (the filter evaluates to false): A requires B [1.0.0, 1.0.0] becomes when the patch is applied A requires B [1.1.0, 1.3.0) if "foo=bar"
- //The result is a bit counter intuitive but correct. Only A1 and P1 are installed. No be get installed since the dependency on B is filtered out.
- ProfileChangeRequest req2 = new ProfileChangeRequest(profile1);
- req2.addInstallableUnits(new IInstallableUnit[] {a1, p1});
- req2.setInstallableUnitInclusionRules(p1, PlannerHelper.createOptionalInclusionRule(p1));
- ProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
- assertTrue(IStatus.ERROR != plan2.getStatus().getSeverity());
- assertNoOperand(plan2, b1);
- assertNoOperand(plan2, b2);
- assertInstallOperand(plan2, a1);
- assertInstallOperand(plan2, p1);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest12.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest12.java
deleted file mode 100644
index 3684dbe..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest12.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.IEngine;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class PatchTest12 extends AbstractProvisioningTest {
- IInstallableUnit a1;
- IInstallableUnit b1;
- IInstallableUnit b2;
- IInstallableUnitPatch p1;
-
- IProfile profile1;
- IPlanner planner;
- IEngine engine;
-
- protected void setUp() throws Exception {
- super.setUp();
- a1 = createIU("A", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true, true)});
- b1 = createIU("B", new Version(1, 0, 0), true);
- b2 = createIU("B", new Version(1, 2, 0), true);
- RequirementChange change = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.4.0, 1.5.0)"), null, false, true, true));
- p1 = createIUPatch("P", new Version("1.0.0"), true, new RequirementChange[] {change}, new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null);
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, b1, b2, p1});
-
- profile1 = createProfile("TestProfile." + getName());
- planner = createPlanner();
- engine = createEngine();
- }
-
- public void testInstallBogusInstallFilterInPatch() {
- //Try to install a1 and p1 optionally
- //p1 ends up being not installed because the new requirements that it sets on A for B can not be met (no B are matching).
- //the only thing that ends up being installed are A 1.0.0 and B 1.0.0
- ProfileChangeRequest req2 = new ProfileChangeRequest(profile1);
- req2.addInstallableUnits(new IInstallableUnit[] {a1, p1});
- req2.setInstallableUnitInclusionRules(p1, PlannerHelper.createOptionalInclusionRule(p1));
- ProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
- assertTrue(IStatus.ERROR != plan2.getStatus().getSeverity());
- assertNoOperand(plan2, p1);
- assertNoOperand(plan2, b2);
- assertNoOperand(plan2, p1);
- assertInstallOperand(plan2, a1);
- assertInstallOperand(plan2, b1);
-
- //Try to install a1 and p1. This should fail because the patch adds an invalid filter
- ProfileChangeRequest req3 = new ProfileChangeRequest(profile1);
- req3.addInstallableUnits(new IInstallableUnit[] {a1, p1});
- ProvisioningPlan plan3 = planner.getProvisioningPlan(req3, null, null);
- assertTrue(IStatus.ERROR == plan3.getStatus().getSeverity());
-
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest13.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest13.java
deleted file mode 100644
index 938aadd..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest13.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.IEngine;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class PatchTest13 extends AbstractProvisioningTest {
- IInstallableUnit a1;
- IInstallableUnit b1;
- IInstallableUnit d1;
- IInstallableUnit c1;
- IInstallableUnitPatch p1;
-
- IProfile profile1;
- IPlanner planner;
- IEngine engine;
-
- protected void setUp() throws Exception {
- super.setUp();
- a1 = createIU("A", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)});
- b1 = createIU("B", new Version(1, 0, 0), true);
- d1 = createIU("D", new Version(1, 0, 0), true);
- c1 = createIU("C", new Version(1, 0, 0), true);
- RequirementChange change = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", new VersionRange("[1.0.0, 1.3.0)"), null, false, false, true));
- p1 = createIUPatch("P", new Version("1.0.0"), true, new RequirementChange[] {change}, new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null);
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, b1, c1, d1, p1});
-
- profile1 = createProfile("TestProfile." + getName());
- planner = createPlanner();
- engine = createEngine();
- }
-
- public void testInstall() {
- ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
- req1.addInstallableUnits(new IInstallableUnit[] {a1, p1});
- ProvisioningPlan plan1 = planner.getProvisioningPlan(req1, null, null);
- assertTrue(IStatus.ERROR != plan1.getStatus().getSeverity());
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest1b.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest1b.java
deleted file mode 100644
index dbb91f7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest1b.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.IEngine;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class PatchTest1b extends AbstractProvisioningTest {
- IInstallableUnit a1;
- IInstallableUnit b1;
- IInstallableUnit b2;
- IInstallableUnitPatch p1;
-
- IProfile profile1;
- IPlanner planner;
- IEngine engine;
-
- protected void setUp() throws Exception {
- super.setUp();
- a1 = createIU("A", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)});
- b1 = createIU("B", new Version(1, 0, 0), true);
- b2 = createIU("B", new Version(1, 2, 0), true);
- RequirementChange change = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
- p1 = createIUPatch("P", new Version("1.0.0"), true, new RequirementChange[] {change}, new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null);
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, b1, b2, p1});
-
- profile1 = createProfile("TestProfile." + getName());
- planner = createPlanner();
- engine = createEngine();
- }
-
- public void testInstall() {
- //A requires B 1.0, the installation of the P will result in B 1.2 to be installed
- ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
- req1.addInstallableUnits(new IInstallableUnit[] {a1, p1});
- ProvisioningPlan plan1 = planner.getProvisioningPlan(req1, null, null);
- assertTrue(IStatus.ERROR != plan1.getStatus().getSeverity());
- assertInstallOperand(plan1, a1);
- assertInstallOperand(plan1, p1);
- assertInstallOperand(plan1, b2);
- assertNoOperand(plan1, b1);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest1c.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest1c.java
deleted file mode 100644
index 33ea1ab..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest1c.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.IEngine;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class PatchTest1c extends AbstractProvisioningTest {
- IInstallableUnit a1;
- IInstallableUnit b1;
- IInstallableUnit b2;
- IInstallableUnit b3;
- IInstallableUnitPatch p1;
-
- IProfile profile1;
- IPlanner planner;
- IEngine engine;
-
- protected void setUp() throws Exception {
- super.setUp();
- a1 = createIU("A", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)});
- b1 = createIU("B", new Version(1, 0, 0), true);
- b2 = createIU("B", new Version(1, 2, 0), true);
- b3 = createIU("B", new Version(1, 3, 0), true);
- RequirementChange change = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.2.0, 1.2.0]"), null, false, false, true));
- p1 = createIUPatch("P", new Version("1.0.0"), true, new RequirementChange[] {change}, new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null);
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, b1, b2, p1});
-
- profile1 = createProfile("TestProfile." + getName());
- planner = createPlanner();
- engine = createEngine();
- }
-
- public void testInstall() {
- //A requires B [1.0, 1.1), the installation of P will result in B 1.2 to be installed
- ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
- req1.addInstallableUnits(new IInstallableUnit[] {a1, p1});
- ProvisioningPlan plan1 = planner.getProvisioningPlan(req1, null, null);
- assertTrue(IStatus.ERROR != plan1.getStatus().getSeverity());
- assertInstallOperand(plan1, a1);
- assertInstallOperand(plan1, p1);
- assertInstallOperand(plan1, b2);
- assertNoOperand(plan1, b1);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest2.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest2.java
deleted file mode 100644
index 1b2323b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest2.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.IEngine;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class PatchTest2 extends AbstractProvisioningTest {
- IInstallableUnit a1;
- IInstallableUnit b1;
- IInstallableUnitPatch p1;
- IInstallableUnitPatch p2;
- IInstallableUnitPatch p3;
- IInstallableUnitPatch p4;
- IInstallableUnitPatch p5;
- IInstallableUnitPatch p6;
- IInstallableUnitPatch p7;
-
- IProfile profile1;
- IPlanner planner;
- IEngine engine;
-
- protected void setUp() throws Exception {
- super.setUp();
- ProvidedCapability[] cap = new ProvidedCapability[] {MetadataFactory.createProvidedCapability("foo", "bar", new Version(1, 0, 0))};
- a1 = createIU("A", new Version("1.0.0"), null, new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, false)}, cap, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false, null);
- b1 = createIU("B", new Version(1, 2, 0), true);
- RequirementChange change = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
- p1 = createIUPatch("P", new Version("1.0.0"), true, new RequirementChange[] {change}, new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.1.0]"), null, false, false, false)}}, null);
- p2 = createIUPatch("P", new Version("1.0.0"), true, new RequirementChange[] {change}, new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.3.0, 1.5.0]"), null, false, false, false)}}, null);
- p3 = createIUPatch("P", new Version("1.0.0"), true, new RequirementChange[] {change}, new RequiredCapability[][] { {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.1.0]"), null, false, false, false)}, {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.3.0, 1.5.0]"), null, false, false, false)}}, null);
- p4 = createIUPatch("P", new Version("1.0.0"), true, new RequirementChange[] {change}, new RequiredCapability[][] { {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.6.0, 1.7.0]"), null, false, false, false)}, {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.3.0, 1.5.0]"), null, false, false, false)}}, null);
- p5 = createIUPatch("P", new Version("1.0.0"), true, new RequirementChange[] {change}, new RequiredCapability[][] {{MetadataFactory.createRequiredCapability("foo", "bar", new VersionRange("[1.0.0, 2.0.0)"), null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.5.0]"), null, false, false, false)}}, null);
- p6 = createIUPatch("P", new Version("1.0.0"), true, new RequirementChange[] {change}, new RequiredCapability[][] {}, null);
- p7 = createIUPatch("P", new Version("1.0.0"), true, new RequirementChange[] {change}, null, null);
- createTestMetdataRepository(new IInstallableUnit[] {a1, b1, p1, p2, p3, p4, p5, p6});
-
- profile1 = createProfile("TestProfile." + getName());
- planner = createPlanner();
- engine = createEngine();
- }
-
- public void testPatchScope() {
- //p6 applies to all IUs therefore A's installation succeed
- ProfileChangeRequest req8 = new ProfileChangeRequest(profile1);
- req8.addInstallableUnits(new IInstallableUnit[] {a1, p6});
- ProvisioningPlan plan8 = planner.getProvisioningPlan(req8, null, null);
- assertEquals(IStatus.OK, plan8.getStatus().getSeverity());
-
- //p7 does not apply therefore A should not be installable
- ProfileChangeRequest req7 = new ProfileChangeRequest(profile1);
- req7.addInstallableUnits(new IInstallableUnit[] {a1, p7});
- ProvisioningPlan plan7 = planner.getProvisioningPlan(req7, null, null);
- assertEquals(IStatus.ERROR, plan7.getStatus().getSeverity());
-
- //p5 does not causes a1 to resolve therefore the application fails
- ProfileChangeRequest req6 = new ProfileChangeRequest(profile1);
- req6.addInstallableUnits(new IInstallableUnit[] {a1, p5});
- ProvisioningPlan plan6 = planner.getProvisioningPlan(req6, null, null);
- assertEquals(IStatus.OK, plan6.getStatus().getSeverity());
-
- //Ensure that p1 causes a1 to resolve
- ProfileChangeRequest req2 = new ProfileChangeRequest(profile1);
- req2.addInstallableUnits(new IInstallableUnit[] {a1, p1});
- ProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
- assertEquals(IStatus.OK, plan2.getStatus().getSeverity());
-
- //p2 does not causes a1 to resolve therefore the application fails
- ProfileChangeRequest req3 = new ProfileChangeRequest(profile1);
- req3.addInstallableUnits(new IInstallableUnit[] {a1, p2});
- ProvisioningPlan plan3 = planner.getProvisioningPlan(req3, null, null);
- assertEquals(IStatus.ERROR, plan3.getStatus().getSeverity());
-
- //Ensure that p3 causes a1 to resolve since it has two scopes where one is applicable
- ProfileChangeRequest req4 = new ProfileChangeRequest(profile1);
- req4.addInstallableUnits(new IInstallableUnit[] {a1, p3});
- ProvisioningPlan plan4 = planner.getProvisioningPlan(req4, null, null);
- assertEquals(IStatus.OK, plan4.getStatus().getSeverity());
-
- //p4 does not causes a1 to resolve therefore the application fails
- ProfileChangeRequest req5 = new ProfileChangeRequest(profile1);
- req5.addInstallableUnits(new IInstallableUnit[] {a1, p4});
- ProvisioningPlan plan5 = planner.getProvisioningPlan(req5, null, null);
- assertEquals(IStatus.ERROR, plan5.getStatus().getSeverity());
-
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest3.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest3.java
deleted file mode 100644
index be383f5..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest3.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class PatchTest3 extends AbstractProvisioningTest {
- IInstallableUnit f1;
- IInstallableUnit f2;
- IInstallableUnit a1;
- IInstallableUnit a3;
- IInstallableUnit b1, b2;
- IInstallableUnitPatch p1;
-
- IProfile profile1;
- IPlanner planner;
- IEngine engine;
-
- protected void setUp() throws Exception {
- super.setUp();
- f1 = createIU("F", new Version(1, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.1.0]"), null, false, false, true)});
- f2 = createIU("F", new Version(2, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[3.0.0, 4.0.0)"), null, false, false, true)});
- ProvidedCapability[] cap = new ProvidedCapability[] {MetadataFactory.createProvidedCapability("foo", "bar", new Version(1, 0, 0))};
- a1 = createIU("A", new Version("1.0.0"), null, new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, false)}, cap, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false, null);
- a3 = createIU("A", new Version(3, 0, 0), true);
- b1 = createIU("B", new Version(1, 0, 0), true);
- b2 = createIU("B", new Version(2, 0, 0), true);
- RequirementChange change = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[2.0.0, 2.1.0)"), null, false, false, true));
- RequiredCapability lifeCycle = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "F", new VersionRange("[1.0.0, 1.1.0)"), null, false, false, false);
- p1 = createIUPatch("P", new Version("1.0.0"), true, new RequirementChange[] {change}, new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.1.0]"), null, false, false, false)}}, lifeCycle);
- createTestMetdataRepository(new IInstallableUnit[] {a1, b1, b2, p1, a3, f1, f2});
-
- profile1 = createProfile("TestProfile." + getName());
- planner = createPlanner();
- engine = createEngine();
- }
-
- public void testCompleteScenario() {
- // Install a1
- ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
- req1.addInstallableUnits(new IInstallableUnit[] {f1});
- ProvisioningPlan plan1 = planner.getProvisioningPlan(req1, null, null);
- assertEquals(IStatus.OK, plan1.getStatus().getSeverity());
- assertInstallOperand(plan1, b1);
- assertInstallOperand(plan1, a1);
- assertInstallOperand(plan1, f1);
- engine.perform(profile1, new DefaultPhaseSet(), plan1.getOperands(), null, null);
- assertProfileContainsAll("A1 is missing", profile1, new IInstallableUnit[] {a1});
- assertProfileContainsAll("B1 is missing", profile1, new IInstallableUnit[] {b1});
- assertProfileContainsAll("B1 is missing", profile1, new IInstallableUnit[] {f1});
-
- //Install p1, this should cause b1 to be uninstalled and b2 to be used instead
- ProfileChangeRequest req2 = new ProfileChangeRequest(profile1);
- req2.addInstallableUnits(new IInstallableUnit[] {p1});
- req2.setInstallableUnitInclusionRules(p1, PlannerHelper.createOptionalInclusionRule(p1));
- ProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
- assertTrue(IStatus.ERROR != plan2.getStatus().getSeverity());
- assertInstallOperand(plan2, p1);
- assertInstallOperand(plan2, b2);
- engine.perform(profile1, new DefaultPhaseSet(), plan2.getOperands(), null, null);
- assertProfileContainsAll("A1 is missing", profile1, new IInstallableUnit[] {a1});
- assertProfileContainsAll("B2 is missing", profile1, new IInstallableUnit[] {b2});
- assertProfileContainsAll("P1 is missing", profile1, new IInstallableUnit[] {p1});
- assertProfileContainsAll("P1 is missing", profile1, new IInstallableUnit[] {f1});
-
- //Try to uninstall p1, this causes b1 to come back and b2 to go away
- ProfileChangeRequest req3 = new ProfileChangeRequest(profile1);
- req3.removeInstallableUnits(new IInstallableUnit[] {p1});
- ProvisioningPlan plan3 = planner.getProvisioningPlan(req3, null, null);
- assertTrue(IStatus.ERROR != plan3.getStatus().getSeverity());
- assertInstallOperand(plan3, b1);
- assertUninstallOperand(plan3, b2);
- assertUninstallOperand(plan3, p1);
-
- //Try to uninstall f should not be blocked by p1 since it is installed optionally
- ProfileChangeRequest req4 = new ProfileChangeRequest(profile1);
- req4.removeInstallableUnits(new IInstallableUnit[] {f1});
- ProvisioningPlan plan4 = planner.getProvisioningPlan(req4, null, null);
- assertTrue(IStatus.ERROR != plan4.getStatus().getSeverity());
- assertUninstallOperand(plan4, b2);
- assertUninstallOperand(plan4, a1);
- assertUninstallOperand(plan4, f1);
- assertUninstallOperand(plan4, p1);
-
- //update from f1 to f2. This should cause p1 to go away
- ProfileChangeRequest req5 = new ProfileChangeRequest(profile1);
- req5.removeInstallableUnits(new IInstallableUnit[] {f1});
- req5.addInstallableUnits(new IInstallableUnit[] {f2});
- ProvisioningPlan plan5 = planner.getProvisioningPlan(req5, null, null);
- assertTrue(IStatus.ERROR != plan5.getStatus().getSeverity());
- assertUninstallOperand(plan5, b2);
- assertUninstallOperand(plan5, a1);
- assertUninstallOperand(plan5, f1);
- assertUninstallOperand(plan5, p1);
- assertInstallOperand(plan5, f2);
- assertInstallOperand(plan5, a3);
- engine.perform(profile1, new DefaultPhaseSet(), plan5.getOperands(), null, null);
- assertProfileContainsAll("", profile1, new IInstallableUnit[] {f2, a3});
-
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest4.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest4.java
deleted file mode 100644
index 62b45e8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest4.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class PatchTest4 extends AbstractProvisioningTest {
- IInstallableUnit f1;
- IInstallableUnit a1;
- IInstallableUnit b1;
- IInstallableUnit b2;
- IInstallableUnit c1;
- IInstallableUnit d1;
- IInstallableUnit d2;
-
- IInstallableUnitPatch p1;
- IInstallableUnitPatch p2;
-
- IProfile profile1;
- IPlanner planner;
- IEngine engine;
-
- protected void setUp() throws Exception {
- super.setUp();
- f1 = createIU("F", new Version(1, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, false, false, true)});
- a1 = createIU("A", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, false, true)});
- b1 = createIU("B", new Version(1, 0, 0), true);
- c1 = createIU("C", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", new VersionRange("[1.0.0, 1.1.0)"), null, false, false, true)});
- d1 = createIU("D", new Version(1, 0, 0), true);
- b2 = createIU("B", new Version(2, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", new VersionRange("[2.0.0, 3.1.0)"), null, false, false, true)});
- d2 = createIU("D", new Version(2, 0, 0), true);
-
- RequirementChange changeA = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[2.0.0, 2.1.0)"), null, false, false, true));
- RequirementChange changeC = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", new VersionRange("[2.0.0, 2.1.0)"), null, false, false, true));
-
- RequiredCapability lifeCycle = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "F", VersionRange.emptyRange, null, false, false, false);
- RequiredCapability[][] scope = new RequiredCapability[][] { {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.1.0]"), null, false, false, false)}, {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.0.0, 1.1.0]"), null, false, false, false)}};
- p1 = createIUPatch("P", new Version("1.0.0"), true, new RequirementChange[] {changeA, changeC}, scope, lifeCycle);
- p2 = createIUPatch("P", new Version("2.0.0"), true, new RequirementChange[] {changeA, changeC}, new RequiredCapability[0][0], lifeCycle);
- createTestMetdataRepository(new IInstallableUnit[] {f1, a1, b1, b2, c1, d1, d2, p1});
-
- profile1 = createProfile("TestProfile." + getName());
- planner = createPlanner();
- engine = createEngine();
- }
-
- public void testCompleteScenario() {
- // Install f1
- ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
- req1.addInstallableUnits(new IInstallableUnit[] {f1});
- ProvisioningPlan plan1 = planner.getProvisioningPlan(req1, null, null);
- assertEquals(IStatus.OK, plan1.getStatus().getSeverity());
- assertInstallOperand(plan1, b1);
- assertInstallOperand(plan1, a1);
- assertInstallOperand(plan1, f1);
- engine.perform(profile1, new DefaultPhaseSet(), plan1.getOperands(), null, null);
- assertProfileContainsAll("A1 is missing", profile1, new IInstallableUnit[] {a1});
- assertProfileContainsAll("B1 is missing", profile1, new IInstallableUnit[] {b1});
- assertProfileContainsAll("C1 is missing", profile1, new IInstallableUnit[] {c1});
- assertProfileContainsAll("D1 is missing", profile1, new IInstallableUnit[] {d1});
-
- //Install p1, this will cause C2 and D2 to be installed
- ProfileChangeRequest req2 = new ProfileChangeRequest(profile1);
- req2.addInstallableUnits(new IInstallableUnit[] {p1});
- req2.setInstallableUnitInclusionRules(p1, PlannerHelper.createOptionalInclusionRule(p1));
- ProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
- assertTrue(IStatus.ERROR != plan2.getStatus().getSeverity());
- assertInstallOperand(plan2, b2);
- assertInstallOperand(plan2, d2);
- engine.perform(profile1, new DefaultPhaseSet(), plan2.getOperands(), null, null);
- assertProfileContainsAll("A1 is missing", profile1, new IInstallableUnit[] {a1});
- assertProfileContainsAll("B2 is missing", profile1, new IInstallableUnit[] {b2});
- assertProfileContainsAll("P1 is missing", profile1, new IInstallableUnit[] {p1});
- assertProfileContainsAll("C1 is missing", profile1, new IInstallableUnit[] {c1});
- assertProfileContainsAll("D2 is missing", profile1, new IInstallableUnit[] {d2});
- assertProfileContainsAll("F1 is missing", profile1, new IInstallableUnit[] {f1});
- }
-
- public void OfftestCompleteScenario2() {
- //This test when no scopes are specified
- // Install f1
- ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
- req1.addInstallableUnits(new IInstallableUnit[] {f1});
- ProvisioningPlan plan1 = planner.getProvisioningPlan(req1, null, null);
- assertEquals(IStatus.OK, plan1.getStatus().getSeverity());
- assertInstallOperand(plan1, b1);
- assertInstallOperand(plan1, a1);
- assertInstallOperand(plan1, f1);
- engine.perform(profile1, new DefaultPhaseSet(), plan1.getOperands(), null, null);
- assertProfileContainsAll("A1 is missing", profile1, new IInstallableUnit[] {a1});
- assertProfileContainsAll("B1 is missing", profile1, new IInstallableUnit[] {b1});
- assertProfileContainsAll("C1 is missing", profile1, new IInstallableUnit[] {c1});
- assertProfileContainsAll("D1 is missing", profile1, new IInstallableUnit[] {d1});
-
- //Install p2, this should cause b1 to be uninstalled and b2 to be used instead
- ProfileChangeRequest req2 = new ProfileChangeRequest(profile1);
- req2.addInstallableUnits(new IInstallableUnit[] {p2});
- req2.setInstallableUnitInclusionRules(p1, PlannerHelper.createOptionalInclusionRule(p1));
- ProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
- assertTrue(IStatus.ERROR != plan2.getStatus().getSeverity());
- assertInstallOperand(plan2, b2);
- assertInstallOperand(plan2, d2);
- engine.perform(profile1, new DefaultPhaseSet(), plan2.getOperands(), null, null);
- assertProfileContainsAll("A1 is missing", profile1, new IInstallableUnit[] {a1});
- assertProfileContainsAll("B2 is missing", profile1, new IInstallableUnit[] {b2});
- assertProfileContainsAll("P1 is missing", profile1, new IInstallableUnit[] {p1});
- assertProfileContainsAll("C1 is missing", profile1, new IInstallableUnit[] {c1});
- assertProfileContainsAll("D2 is missing", profile1, new IInstallableUnit[] {d2});
- assertProfileContainsAll("F1 is missing", profile1, new IInstallableUnit[] {f1});
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest5.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest5.java
deleted file mode 100644
index b5b698e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest5.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.IEngine;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class PatchTest5 extends AbstractProvisioningTest {
- IInstallableUnit a1;
- IInstallableUnit f1;
- IInstallableUnit top;
- IInstallableUnit b1;
- IInstallableUnitPatch p1;
-
- IProfile profile1;
- IPlanner planner;
- IEngine engine;
-
- protected void setUp() throws Exception {
- super.setUp();
- top = createIU("TOP", new Version(1, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "F", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)});
- f1 = createIU("F", new Version(1, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)});
- a1 = createIU("A", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)});
- b1 = createIU("B", new Version(1, 2, 0), true);
- RequirementChange change = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
- RequiredCapability lifeCycle = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "F", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true);
- RequiredCapability[][] scope = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0,1.0.0]"), null, false, false)}};
- p1 = createIUPatch("P", new Version("1.0.0"), true, new RequirementChange[] {change}, scope, lifeCycle);
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, b1, f1, top, p1});
-
- profile1 = createProfile("TestProfile." + getName());
- planner = createPlanner();
- engine = createEngine();
- }
-
- public void testInstall() {
- ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
- req1.addInstallableUnits(new IInstallableUnit[] {top});
- ProvisioningPlan plan1 = planner.getProvisioningPlan(req1, null, null);
- assertEquals(IStatus.ERROR, plan1.getStatus().getSeverity());
-
- ProfileChangeRequest req2 = new ProfileChangeRequest(profile1);
- req2.addInstallableUnits(new IInstallableUnit[] {top, p1});
- ProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
- assertEquals(IStatus.OK, plan2.getStatus().getSeverity());
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest6.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest6.java
deleted file mode 100644
index 599a7a4..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest6.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.IEngine;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class PatchTest6 extends AbstractProvisioningTest {
- IInstallableUnit a1;
- IInstallableUnit b1;
- IInstallableUnit c1;
- IInstallableUnit d1;
-
- IInstallableUnitPatch p1;
- IInstallableUnitPatch pp1;
-
- IProfile profile1;
- IPlanner planner;
- IEngine engine;
-
- protected void setUp() throws Exception {
- super.setUp();
- a1 = createIU("A", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)});
- b1 = createIU("B", new Version(1, 2, 0), true);
-
- c1 = createIU("C", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)});
- d1 = createIU("D", new Version(1, 2, 0), true);
-
- RequirementChange changeA = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
- RequiredCapability[][] scopeP1 = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, false)}};
- RequiredCapability[] reqOnPP = new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "PP", new VersionRange("[1.0.0, 2.0.0)"), null, false, false, true)};
- p1 = createIUPatch("P", new Version("1.0.0"), null, reqOnPP, NO_PROVIDES, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false, null, new RequirementChange[] {changeA}, scopeP1, null);
-
- RequirementChange changeC = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
- RequiredCapability[][] scopePP1 = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, false, false, false)}};
- pp1 = createIUPatch("PP", new Version("1.0.0"), true, new RequirementChange[] {changeC}, scopePP1, null);
- createTestMetdataRepository(new IInstallableUnit[] {a1, b1, c1, d1, p1, pp1});
-
- profile1 = createProfile("TestProfile." + getName());
- planner = createPlanner();
- engine = createEngine();
- }
-
- public void testInstall() {
- //Confirm that a1 and c1 can't be installed
- ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
- req1.addInstallableUnits(new IInstallableUnit[] {a1, c1});
- ProvisioningPlan plan1 = planner.getProvisioningPlan(req1, null, null);
- assertEquals(IStatus.ERROR, plan1.getStatus().getSeverity());
-
- //Verify that the installation of c1 and pp1 succeed
- ProfileChangeRequest req2 = new ProfileChangeRequest(profile1);
- req2.addInstallableUnits(new IInstallableUnit[] {c1, pp1});
- ProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
- assertEquals(IStatus.OK, plan2.getStatus().getSeverity());
-
- //Verify that p1 can be installed alone (kind of meaningless)
- ProfileChangeRequest req3 = new ProfileChangeRequest(profile1);
- req3.addInstallableUnits(new IInstallableUnit[] {p1});
- ProvisioningPlan plan3 = planner.getProvisioningPlan(req3, null, null);
- assertEquals(IStatus.OK, plan3.getStatus().getSeverity());
-
- //Install a1 and p1.
- ProfileChangeRequest req4 = new ProfileChangeRequest(profile1);
- req4.addInstallableUnits(new IInstallableUnit[] {a1, p1});
- ProvisioningPlan plan4 = planner.getProvisioningPlan(req4, null, null);
- assertEquals(IStatus.OK, plan4.getStatus().getSeverity());
- assertInstallOperand(plan4, a1);
- assertInstallOperand(plan4, p1);
- assertInstallOperand(plan4, pp1);
- assertInstallOperand(plan4, b1);
-
- //Install a1, c1 and p1.
- ProfileChangeRequest req5 = new ProfileChangeRequest(profile1);
- req5.addInstallableUnits(new IInstallableUnit[] {a1, c1, p1});
- ProvisioningPlan plan5 = planner.getProvisioningPlan(req5, null, null);
- assertEquals(IStatus.OK, plan5.getStatus().getSeverity());
- assertInstallOperand(plan4, a1);
- assertInstallOperand(plan4, p1);
- assertInstallOperand(plan4, b1);
- assertInstallOperand(plan4, pp1);
- assertInstallOperand(plan5, d1);
- assertInstallOperand(plan5, c1);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest7.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest7.java
deleted file mode 100644
index 6e166ba..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest7.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.IEngine;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class PatchTest7 extends AbstractProvisioningTest {
- // IInstallableUnit a1;
- // IInstallableUnit b1;
- IInstallableUnit c1;
- // IInstallableUnit x1;
- IInstallableUnit y1;
- IInstallableUnit y2;
- IInstallableUnit f1;
-
- // IInstallableUnitPatch p1;
- IInstallableUnitPatch pp1;
-
- IProfile profile1;
- IPlanner planner;
- IEngine engine;
-
- protected void setUp() throws Exception {
- super.setUp();
- // x1 = createIU("X", new Version(1, 2, 0), true);
- y1 = createIU("Y", new Version(1, 0, 0), true);
- y2 = createIU("Y", new Version(1, 2, 0), true);
- // a1 = createIU("A", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "X", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)});
- // b1 = createIU("B", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "X", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)});
- c1 = createIU("C", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "Y", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)});
-
- RequiredCapability[] req = new RequiredCapability[1];
- // req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.1.0)"), null, false, true);
- // req[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true);
- req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.0.0, 1.1.0)"), null, false, true);
- f1 = createIU("F", new Version(1, 0, 0), req);
-
- // RequirementChange changeX = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "X", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "X", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
- // RequiredCapability[][] scope = new RequiredCapability[0][0]; //new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, false)}};
- // p1 = createIUPatch("P", new Version("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false, null, new RequirementChange[] {changeX}, scope, null);
-
- RequirementChange changeY = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "Y", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "Y", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
- RequiredCapability[][] scopePP = new RequiredCapability[0][0]; //new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, false, false, false)}};
- pp1 = createIUPatch("PP", new Version("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false, null, new RequirementChange[] {changeY}, scopePP, null);
-
- // createTestMetdataRepository(new IInstallableUnit[] {a1, b1, c1, x1, y1, y2, f1, p1, pp1});
- createTestMetdataRepository(new IInstallableUnit[] {c1, y1, y2, f1, pp1});
-
- profile1 = createProfile("TestProfile." + getName());
- planner = createPlanner();
- engine = createEngine();
- }
-
- public void testGeneralScope() {
- // //Confirm that f1 can't be installed
- // ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
- // req1.addInstallableUnits(new IInstallableUnit[] {f1});
- // ProvisioningPlan plan1 = planner.getProvisioningPlan(req1, null, null);
- // assertEquals(IStatus.ERROR, plan1.getStatus().getSeverity());
- //
- // //Verify that the installation of f1 and p1 succeed
- // ProfileChangeRequest req2 = new ProfileChangeRequest(profile1);
- // req2.addInstallableUnits(new IInstallableUnit[] {f1, p1});
- // ProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
- // assertEquals(IStatus.WARNING, plan2.getStatus().getSeverity());
- // assertInstallOperand(plan2, f1);
- // assertInstallOperand(plan2, a1);
- // assertInstallOperand(plan2, b1);
- // assertInstallOperand(plan2, c1);
- // assertInstallOperand(plan2, x1);
- // assertInstallOperand(plan2, y1);
- // assertInstallOperand(plan2, p1);
-
- //Verify that the installation of f1 and p1 succeed
- ProfileChangeRequest req3 = new ProfileChangeRequest(profile1);
- req3.addInstallableUnits(new IInstallableUnit[] {f1, pp1});
- ProvisioningPlan plan3 = planner.getProvisioningPlan(req3, null, null);
- assertEquals(IStatus.OK, plan3.getStatus().getSeverity());
- assertInstallOperand(plan3, f1);
- // assertInstallOperand(plan3, a1);
- // assertInstallOperand(plan3, b1);
- assertInstallOperand(plan3, c1);
- // assertInstallOperand(plan3, x1);
- assertInstallOperand(plan3, y2);
- // assertInstallOperand(plan3, p1);
- assertInstallOperand(plan3, pp1);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest7b.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest7b.java
deleted file mode 100644
index 0d39cc4..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest7b.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.IEngine;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class PatchTest7b extends AbstractProvisioningTest {
- IInstallableUnit a1;
- IInstallableUnit b1;
- IInstallableUnit c1;
- IInstallableUnit x1;
- IInstallableUnit y1;
- IInstallableUnit y2;
- IInstallableUnit f1;
-
- IInstallableUnitPatch p1;
- IInstallableUnitPatch pp1;
-
- IProfile profile1;
- IPlanner planner;
- IEngine engine;
-
- protected void setUp() throws Exception {
- super.setUp();
- x1 = createIU("X", new Version(1, 2, 0), true);
- y1 = createIU("Y", new Version(1, 0, 0), true);
- y2 = createIU("Y", new Version(1, 2, 0), true);
- a1 = createIU("A", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "X", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)});
- b1 = createIU("B", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "X", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)});
- c1 = createIU("C", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "Y", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)});
-
- RequiredCapability[] req = new RequiredCapability[3];
- req[2] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.1.0)"), null, false, true);
- req[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true);
- req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.0.0, 1.1.0)"), null, false, true);
- f1 = createIU("F", new Version(1, 0, 0), req);
-
- RequirementChange changeX = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "X", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "X", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
- RequiredCapability[][] scope = new RequiredCapability[0][0]; //new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, false)}};
- p1 = createIUPatch("P", new Version("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false, null, new RequirementChange[] {changeX}, scope, null);
-
- RequirementChange changeY = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "Y", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "Y", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
- RequiredCapability[][] scopePP = new RequiredCapability[0][0]; //new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, false, false, false)}};
- pp1 = createIUPatch("PP", new Version("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false, null, new RequirementChange[] {changeY}, scopePP, null);
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, b1, c1, x1, y1, y2, f1, p1, pp1});
- // createTestMetdataRepository(new IInstallableUnit[] {c1, y1, y2, f1, pp1});
-
- profile1 = createProfile("TestProfile." + getName());
- planner = createPlanner();
- engine = createEngine();
- }
-
- public void testGeneralScope() {
- //Confirm that f1 can't be installed
- // ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
- // req1.addInstallableUnits(new IInstallableUnit[] {f1});
- // ProvisioningPlan plan1 = planner.getProvisioningPlan(req1, null, null);
- // assertEquals(IStatus.ERROR, plan1.getStatus().getSeverity());
-
- //Verify that the installation of f1 and p1 succeed
- ProfileChangeRequest req2 = new ProfileChangeRequest(profile1);
- req2.addInstallableUnits(new IInstallableUnit[] {f1, p1});
- ProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
- assertEquals(IStatus.OK, plan2.getStatus().getSeverity());
- assertInstallOperand(plan2, f1);
- assertInstallOperand(plan2, a1);
- assertInstallOperand(plan2, b1);
- assertInstallOperand(plan2, c1);
- assertInstallOperand(plan2, x1);
- assertInstallOperand(plan2, y1);
- assertInstallOperand(plan2, p1);
-
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest8.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest8.java
deleted file mode 100644
index 37f5571..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest8.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.IEngine;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class PatchTest8 extends AbstractProvisioningTest {
- IInstallableUnit a1;
- IInstallableUnit a2;
- IInstallableUnit b1;
- IInstallableUnit b2;
- IInstallableUnit c2;
- IInstallableUnit f1;
-
- IInstallableUnitPatch p1;
- IInstallableUnitPatch r1;
-
- IProfile profile1;
- IPlanner planner;
- IEngine engine;
-
- protected void setUp() throws Exception {
- super.setUp();
- a1 = createIU("A", new Version(1, 0, 0), true);
- a2 = createIU("A", new Version("2.0.0"), true);
- b1 = createIU("B", new Version("1.0.0"), true);
- b2 = createIU("B", new Version("2.0.0"), true);
- c2 = createIU("C", new Version("2.0.0"), true);
-
- RequiredCapability[] req = new RequiredCapability[3];
- req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.1.0)"), null, false, true);
- req[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true);
- req[2] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[2.0.0, 3.1.0)"), null, false, true);
- f1 = createIU("F", new Version(1, 0, 0), req);
-
- RequirementChange changeA = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[2.0.0, 3.0.0)"), null, false, false, true));
- RequiredCapability[][] scope = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "F", VersionRange.emptyRange, null, false, false, false)}};
- p1 = createIUPatch("P", new Version("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false, null, new RequirementChange[] {changeA}, scope, null);
-
- RequirementChange changeB = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[2.0.0, 3.0.0)"), null, false, false, true));
- RequiredCapability[][] scopePP = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "F", VersionRange.emptyRange, null, false, false, false)}};
- r1 = createIUPatch("R", new Version("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false, null, new RequirementChange[] {changeB}, scopePP, null);
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, a2, b1, b2, c2, f1, p1, r1});
-
- profile1 = createProfile("TestProfile." + getName());
- planner = createPlanner();
- engine = createEngine();
- }
-
- public void testOneIUWithMultiplePatchesApplyingOnIt() {
- // //Confirm that f1 can't be installed
- // ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
- // req1.addInstallableUnits(new IInstallableUnit[] {f1});
- // ProvisioningPlan plan1 = planner.getProvisioningPlan(req1, null, null);
- // assertEquals(IStatus.ERROR, plan1.getStatus().getSeverity());
- //
- // //Verify that the installation of f1 and p1 succeed
- // ProfileChangeRequest req2 = new ProfileChangeRequest(profile1);
- // req2.addInstallableUnits(new IInstallableUnit[] {f1, p1});
- // ProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
- // assertEquals(IStatus.WARNING, plan2.getStatus().getSeverity());
- // assertInstallOperand(plan2, f1);
- // assertInstallOperand(plan2, a1);
- // assertInstallOperand(plan2, b1);
- // assertInstallOperand(plan2, c1);
- // assertInstallOperand(plan2, x1);
- // assertInstallOperand(plan2, y1);
- // assertInstallOperand(plan2, p1);
-
- //Verify that the installation of f1 and p1 succeed
- ProfileChangeRequest req3 = new ProfileChangeRequest(profile1);
- req3.addInstallableUnits(new IInstallableUnit[] {f1, p1, r1});
- ProvisioningPlan plan3 = planner.getProvisioningPlan(req3, null, null);
- assertEquals(IStatus.OK, plan3.getStatus().getSeverity());
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest9.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest9.java
deleted file mode 100644
index 8910c19..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest9.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.IEngine;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class PatchTest9 extends AbstractProvisioningTest {
- IInstallableUnit a1;
- IInstallableUnit b1;
- IInstallableUnit b2;
- IInstallableUnit c1;
- IInstallableUnitPatch p1;
- IInstallableUnitPatch pp1;
-
- IProfile profile1;
- IPlanner planner;
- IEngine engine;
-
- protected void setUp() throws Exception {
- super.setUp();
- a1 = createIU("A", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)});
- b1 = createIU("B", new Version(1, 0, 0), true);
- b2 = createIU("B", new Version(1, 2, 0), true);
- c1 = createIU("C", new Version(1, 0, 0), true);
- RequirementChange changeB = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
- RequirementChange changeC = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
- p1 = createIUPatch("P", new Version("1.0.0"), true, new RequirementChange[] {changeB, changeC}, new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null);
-
- RequirementChange anotherChangeC = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.1.0, 1.3.0)"), null, true, false, true));
- pp1 = createIUPatch("P", new Version("1.0.0"), true, new RequirementChange[] {changeB, anotherChangeC}, new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null);
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, b1, b2, c1, p1, pp1});
-
- profile1 = createProfile("TestProfile." + getName());
- planner = createPlanner();
- engine = createEngine();
- }
-
- public void testPatchDoesNotApply() {
- //The application of the patch does not succeed because there is no C matching the requirement imposed by the patch
- ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
- req1.addInstallableUnits(new IInstallableUnit[] {a1, p1});
- ProvisioningPlan plan1 = planner.getProvisioningPlan(req1, null, null);
- assertEquals(IStatus.ERROR, plan1.getStatus().getSeverity());
- }
-
- public void testPatchApply() {
- //The application of the patch succeed because the dependency that PP puts on C is optional
- ProfileChangeRequest req2 = new ProfileChangeRequest(profile1);
- req2.addInstallableUnits(new IInstallableUnit[] {a1, pp1});
- ProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
- assertEquals(IStatus.OK, plan2.getStatus().getSeverity());
- assertInstallOperand(plan2, a1);
- assertInstallOperand(plan2, pp1);
- assertInstallOperand(plan2, b2);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestMultiplePatch.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestMultiplePatch.java
deleted file mode 100644
index 572c4a0..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestMultiplePatch.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.engine.IEngine;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class PatchTestMultiplePatch extends AbstractProvisioningTest {
- private static final String PP2 = "PatchForIUP2";
- private static final String PP1 = "PatchForIUP1";
- private static final String P3 = "P3";
- private static final String P2 = "P2";
- private static final String P1 = "P1";
- private static final String P2_FEATURE = "p2.feature";
- private IInstallableUnit p2Feature;
- private IInstallableUnit p1;
- private IInstallableUnit p2;
- private IInstallableUnit p3;
- private IInstallableUnitPatch pp1;
- private IInstallableUnitPatch pp2;
- private IInstallableUnit p2b;
- private IInstallableUnit p1b;
- private IProfile profile1;
- private IPlanner planner;
- private IEngine engine;
-
- protected void setUp() throws Exception {
- super.setUp();
- p2Feature = createIU(P2_FEATURE, new Version(1, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P3, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)});
- p1 = createIU(P1, new Version(1, 0, 0), true);
- p2 = createIU(P2, new Version(1, 0, 0), true);
- p1b = createIU(P1, new Version(1, 1, 1), true);
- p2b = createIU(P2, new Version(1, 1, 1), true);
- p3 = createIU(P3, new Version(1, 0, 0), true);
-
- RequirementChange changepp1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true));
- RequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true);
- RequiredCapability[][] scopepp1 = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0,1.0.0]"), null, false, false)}};
- pp1 = createIUPatch(PP1, new Version("3.0.0"), true, new RequirementChange[] {changepp1}, scopepp1, lifeCyclepp1);
-
- RequirementChange changepp2 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true));
- RequiredCapability lifeCyclepp2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true);
- RequiredCapability[][] scopepp2 = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false)}};
- pp2 = createIUPatch(PP2, new Version("5.0.0"), true, new RequirementChange[] {changepp2}, scopepp2, lifeCyclepp2);
-
- createTestMetdataRepository(new IInstallableUnit[] {p2Feature, p1, p2, p3, p1b, p2b, pp1, pp2});
-
- profile1 = createProfile("TestProfile." + getName());
- planner = createPlanner();
- engine = createEngine();
-
- }
-
- //Here we test that some of the dependencies are not being patched
- public void testInstall() {
- install(profile1, new IInstallableUnit[] {p2Feature, pp1, pp2}, true, planner, engine);
- assertProfileContainsAll("Profile setup incorrectly", profile1, new IInstallableUnit[] {p2Feature, p1b, p2b, pp1, pp2, p3});
- }
-
- public void testInstall2() {
- install(profile1, new IInstallableUnit[] {p2Feature}, true, planner, engine);
- install(profile1, new IInstallableUnit[] {pp1}, true, planner, engine);
- install(profile1, new IInstallableUnit[] {pp2}, true, planner, engine);
- assertProfileContainsAll("Profile setup incorrectly", profile1, new IInstallableUnit[] {p2Feature, p1b, p2b, pp1, pp2, p3});
-
- uninstall(profile1, new IInstallableUnit[] {pp2}, planner, engine);
- assertProfileContainsAll("Profile setup incorrectly", profile1, new IInstallableUnit[] {p2Feature, p1b, p2, pp1, p3});
-
- uninstall(profile1, new IInstallableUnit[] {pp1}, planner, engine);
- assertProfileContainsAll("Profile setup incorrectly", profile1, new IInstallableUnit[] {p2Feature, p1, p2, p3});
- }
-
- public void testInstall3() {
- install(profile1, new IInstallableUnit[] {p2Feature}, true, planner, engine);
- install(profile1, new IInstallableUnit[] {pp1}, true, planner, engine);
- assertProfileContainsAll("Profile setup incorrectly", profile1, new IInstallableUnit[] {p2Feature, p1b, p2, pp1, p3});
-
- uninstall(profile1, new IInstallableUnit[] {pp1}, planner, engine);
- assertProfileContainsAll("Profile setup incorrectly", profile1, new IInstallableUnit[] {p2Feature, p1, p2, p3});
- }
-
- public void testInstall4() {
- install(profile1, new IInstallableUnit[] {p2Feature}, true, planner, engine);
- install(profile1, new IInstallableUnit[] {pp2}, true, planner, engine);
- assertProfileContainsAll("Profile setup incorrectly", profile1, new IInstallableUnit[] {p2Feature, p1, p2b, pp2, p3});
-
- uninstall(profile1, new IInstallableUnit[] {pp2}, planner, engine);
- assertProfileContainsAll("Profile setup incorrectly", profile1, new IInstallableUnit[] {p2Feature, p1, p2, p3});
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestOptional.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestOptional.java
deleted file mode 100644
index f503933..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestOptional.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.engine.IEngine;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class PatchTestOptional extends AbstractProvisioningTest {
- private static final String PP1 = "PatchForIUP1";
- private static final String P2 = "P2";
- private static final String P1 = "P1";
- private static final String P2_FEATURE = "p2.feature";
- private IInstallableUnit p2Feature;
- private IInstallableUnit p1;
- private IInstallableUnit p2;
- private IInstallableUnitPatch pp1;
- private IInstallableUnit p2b;
- private IInstallableUnit p1b;
- private IProfile profile1;
- private IPlanner planner;
- private IEngine engine;
-
- protected void setUp() throws Exception {
- super.setUp();
- p2Feature = createIU(P2_FEATURE, new Version(1, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)});
- p1 = createIU(P1, new Version(1, 0, 0), true);
- p2 = createIU(P2, new Version(1, 0, 0), true);
- p1b = createIU(P1, new Version(1, 1, 1), true);
- p2b = createIU(P2, new Version(1, 1, 1), true);
-
- RequirementChange changepp1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, true, false, true));
- RequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true);
- RequiredCapability[][] scopepp1 = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0,1.0.0]"), null, false, false)}};
- pp1 = createIUPatch(PP1, new Version("3.0.0"), true, new RequirementChange[] {changepp1}, scopepp1, lifeCyclepp1);
-
- createTestMetdataRepository(new IInstallableUnit[] {p2Feature, p1, p2, p1b, p2b, pp1});
-
- profile1 = createProfile("TestProfile." + getName());
- planner = createPlanner();
- engine = createEngine();
-
- if (!install(profile1, new IInstallableUnit[] {p2Feature}, true, planner, engine).isOK())
- fail("Setup failed");
- }
-
- public void testInstallPatchSettingAnOptionalDependency() {
- //The patch changes the requirement from A to B to be an optional requirement
- install(profile1, new IInstallableUnit[] {pp1}, true, planner, engine);
- assertProfileContainsAll("Profile setup incorrectly", profile1, new IInstallableUnit[] {p2Feature, pp1, p1b, p2});
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestOptional2.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestOptional2.java
deleted file mode 100644
index 9b00914..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestOptional2.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.engine.IEngine;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class PatchTestOptional2 extends AbstractProvisioningTest {
- private static final String PP1 = "PatchForIUP1";
- private static final String P2 = "P2";
- private static final String P1 = "P1";
- private static final String P2_FEATURE = "p2.feature";
- private IInstallableUnit p2Feature;
- private IInstallableUnit p1;
- private IInstallableUnit p2;
- private IInstallableUnitPatch pp1;
- private IInstallableUnit p2b;
- private IProfile profile1;
- private IPlanner planner;
- private IEngine engine;
-
- protected void setUp() throws Exception {
- super.setUp();
- p2Feature = createIU(P2_FEATURE, new Version(1, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)});
- p1 = createIU(P1, new Version(1, 0, 0), true);
- p2 = createIU(P2, new Version(1, 0, 0), true);
- p2b = createIU(P2, new Version(1, 1, 1), true);
-
- RequirementChange changepp1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, true, false, true));
- RequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true);
- RequiredCapability[][] scopepp1 = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0,1.0.0]"), null, false, false)}};
- pp1 = createIUPatch(PP1, new Version("3.0.0"), true, new RequirementChange[] {changepp1}, scopepp1, lifeCyclepp1);
-
- createTestMetdataRepository(new IInstallableUnit[] {p2Feature, p1, p2, p2b, pp1});
-
- profile1 = createProfile("TestProfile." + getName());
- planner = createPlanner();
- engine = createEngine();
-
- if (!install(profile1, new IInstallableUnit[] {p2Feature}, true, planner, engine).isOK())
- fail("Setup failed");
- }
-
- public void testInstallPatchSettingAMissingOptionalDependency() {
- //The patch changes the requirement from p2Feature to P1 1.1.1. to be optional, but P1 1.1.1 is missing
- install(profile1, new IInstallableUnit[] {pp1}, true, planner, engine);
- assertProfileContainsAll("Profile setup incorrectly", profile1, new IInstallableUnit[] {p2Feature, pp1, p2});
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestOptional3.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestOptional3.java
deleted file mode 100644
index 1a3a29d..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestOptional3.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.engine.IEngine;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class PatchTestOptional3 extends AbstractProvisioningTest {
- private static final String PP1 = "PatchForIUP1";
- private static final String P2 = "P2";
- private static final String P1 = "P1";
- private static final String P2_FEATURE = "p2.feature";
- private IInstallableUnit p2Feature;
- private IInstallableUnit p1;
- private IInstallableUnit p2;
- private IInstallableUnitPatch pp1;
- private IInstallableUnit p2b;
- private IInstallableUnit p1b;
- private IProfile profile1;
- private IPlanner planner;
- private IEngine engine;
-
- protected void setUp() throws Exception {
- super.setUp();
- p2Feature = createIU(P2_FEATURE, new Version(1, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)});
- p1 = createIU(P1, new Version(1, 0, 0), true);
- p2 = createIU(P2, new Version(1, 0, 0), true);
- p2b = createIU(P2, new Version(1, 1, 1), true);
-
- RequirementChange changepp1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, true, false, true));
- RequirementChange changepp2 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true));
- RequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true);
- RequiredCapability[][] scopepp1 = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0,1.0.0]"), null, false, false)}};
- pp1 = createIUPatch(PP1, new Version("3.0.0"), true, new RequirementChange[] {changepp1, changepp2}, scopepp1, lifeCyclepp1);
-
- createTestMetdataRepository(new IInstallableUnit[] {p2Feature, p1, p2, p1b, p2b, pp1});
-
- profile1 = createProfile("TestProfile." + getName());
- planner = createPlanner();
- engine = createEngine();
-
- if (!install(profile1, new IInstallableUnit[] {p2Feature}, true, planner, engine).isOK())
- fail("Setup failed");
- }
-
- public void testInstallPatchSettingAMissingOptionalDependency() {
- //This verify that the non satisfiable but optional part of the patch does not prevent the application of the whole patch
- //The patch changes the requirement from p2Feature to P1 1.1.1 to be optional, but P1 1.1.1 is missing
- install(profile1, new IInstallableUnit[] {pp1}, true, planner, engine);
- assertProfileContainsAll("Profile setup incorrectly", profile1, new IInstallableUnit[] {p2Feature, pp1, p2b});
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUninstall.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUninstall.java
deleted file mode 100644
index 5f6e5a9..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUninstall.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.engine.IEngine;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class PatchTestUninstall extends AbstractProvisioningTest {
- private static final String PP2 = "PatchForIUP2";
- private static final String PP1 = "PatchForIUP1";
- private static final String P2 = "P2";
- private static final String P1 = "P1";
- private static final String P2_FEATURE = "p2.feature";
- private IInstallableUnit p2Feature;
- private IInstallableUnit p1;
- private IInstallableUnit p2;
- private IInstallableUnitPatch pp1;
- private IInstallableUnitPatch pp2;
- private IInstallableUnit p2b;
- private IInstallableUnit p1b;
- private IProfile profile1;
- private IPlanner planner;
- private IEngine engine;
-
- protected void setUp() throws Exception {
- super.setUp();
- p2Feature = createIU(P2_FEATURE, new Version(1, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)});
- p1 = createIU(P1, new Version(1, 0, 0), true);
- p2 = createIU(P2, new Version(1, 0, 0), true);
- p1b = createIU(P1, new Version(1, 1, 1), true);
- p2b = createIU(P2, new Version(1, 1, 1), true);
-
- RequirementChange changepp1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true));
- RequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true);
- RequiredCapability[][] scopepp1 = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0,1.0.0]"), null, false, false)}};
- pp1 = createIUPatch(PP1, new Version("3.0.0"), true, new RequirementChange[] {changepp1}, scopepp1, lifeCyclepp1);
-
- RequirementChange changepp2 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true));
- RequiredCapability lifeCyclepp2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true);
- RequiredCapability[][] scopepp2 = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false)}};
- pp2 = createIUPatch(PP2, new Version("5.0.0"), true, new RequirementChange[] {changepp2}, scopepp2, lifeCyclepp2);
-
- createTestMetdataRepository(new IInstallableUnit[] {p2Feature, p1, p2, p1b, p2b, pp1, pp2});
-
- profile1 = createProfile("TestProfile." + getName());
- planner = createPlanner();
- engine = createEngine();
-
- if (!install(profile1, new IInstallableUnit[] {p2Feature, pp1, pp2}, true, planner, engine).isOK())
- fail("Setup failed");
-
- assertProfileContainsAll("Profile setup incorrectly", profile1, new IInstallableUnit[] {p2Feature, p1b, p2b, pp1, pp2});
- }
-
- public void testUninstall() {
- System.out.println(uninstall(profile1, new IInstallableUnit[] {pp1}, planner, engine));
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate.java
deleted file mode 100644
index 7d0fe2b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.IEngine;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class PatchTestUpdate extends AbstractProvisioningTest {
- private static final String PP2 = "PatchForIUP2";
- private static final String PP1 = "PatchForIUP1";
- private static final String P2 = "P2";
- private static final String P1 = "P1";
- private static final String P2_FEATURE = "p2.feature";
- private IInstallableUnit p2Feature;
- private IInstallableUnit p2Feature20;
- private IInstallableUnit p1;
- private IInstallableUnit p2;
- private IInstallableUnitPatch pp1;
- private IInstallableUnitPatch pp2;
- private IInstallableUnit p2b;
- private IInstallableUnit p1b;
- private IProfile profile1;
- private IPlanner planner;
- private IEngine engine;
-
- protected void setUp() throws Exception {
- super.setUp();
- p2Feature = createIU(P2_FEATURE, new Version(1, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)});
- p1 = createIU(P1, new Version(1, 0, 0), true);
- p2 = createIU(P2, new Version(1, 0, 0), true);
- p1b = createIU(P1, new Version(1, 1, 1), true);
- p2b = createIU(P2, new Version(1, 1, 1), true);
-
- RequirementChange changepp1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true));
- RequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true);
- RequiredCapability[][] scopepp1 = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0,1.0.0]"), null, false, false)}};
- pp1 = createIUPatch(PP1, new Version("3.0.0"), true, new RequirementChange[] {changepp1}, scopepp1, lifeCyclepp1);
-
- RequirementChange changepp2 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true));
- RequiredCapability lifeCyclepp2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true);
- RequiredCapability[][] scopepp2 = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false)}};
- pp2 = createIUPatch(PP2, new Version("5.0.0"), true, new RequirementChange[] {changepp2}, scopepp2, lifeCyclepp2);
-
- p2Feature20 = createIU(P2_FEATURE, new Version(2, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)});
- createTestMetdataRepository(new IInstallableUnit[] {p2Feature, p1, p2, p1b, p2b, pp1, pp2, p2Feature20});
-
- profile1 = createProfile("TestProfile." + getName());
- planner = createPlanner();
- engine = createEngine();
-
- if (!install(profile1, new IInstallableUnit[] {p2Feature, pp1, pp2}, true, planner, engine).isOK())
- fail("Setup failed");
-
- assertProfileContainsAll("Profile setup incorrectly", profile1, new IInstallableUnit[] {p2Feature, p1b, p2b, pp1, pp2});
- }
-
- public void testUpdate() {
- //The update of the feature is expected to fail because the patches are installed without flexibility (strict mode)
- ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
- req1.addInstallableUnits(new IInstallableUnit[] {p2Feature20});
- req1.setInstallableUnitInclusionRules(p2Feature20, PlannerHelper.createStrictInclusionRule(p2Feature20));
- req1.removeInstallableUnits(new IInstallableUnit[] {p2Feature});
- ProvisioningPlan plan = planner.getProvisioningPlan(req1, null, null);
- assertEquals(IStatus.ERROR, plan.getStatus().getSeverity());
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate2.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate2.java
deleted file mode 100644
index 23c2cdc..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate2.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class PatchTestUpdate2 extends AbstractProvisioningTest {
- private static final String PP2 = "PatchForIUP2";
- private static final String PP1 = "PatchForIUP1";
- private static final String P2 = "P2";
- private static final String P1 = "P1";
- private static final String P2_FEATURE = "p2.feature";
- private IInstallableUnit p2Feature;
- private IInstallableUnit p2Feature20;
- private IInstallableUnit p1;
- private IInstallableUnit p2;
- private IInstallableUnitPatch pp1;
- private IInstallableUnitPatch pp2;
- private IInstallableUnit p2b;
- private IInstallableUnit p1b;
- private IProfile profile1;
- private IPlanner planner;
- private IEngine engine;
-
- protected void setUp() throws Exception {
- super.setUp();
- p2Feature = createIU(P2_FEATURE, new Version(1, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)});
- p1 = createIU(P1, new Version(1, 0, 0), true);
- p2 = createIU(P2, new Version(1, 0, 0), true);
- p1b = createIU(P1, new Version(1, 1, 1), true);
- p2b = createIU(P2, new Version(1, 1, 1), true);
-
- RequirementChange changepp1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true));
- RequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true);
- RequiredCapability[][] scopepp1 = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0,1.0.0]"), null, false, false)}};
- pp1 = createIUPatch(PP1, new Version("3.0.0"), true, new RequirementChange[] {changepp1}, scopepp1, lifeCyclepp1);
-
- RequirementChange changepp2 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true));
- RequiredCapability lifeCyclepp2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true);
- RequiredCapability[][] scopepp2 = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false)}};
- pp2 = createIUPatch(PP2, new Version("5.0.0"), true, new RequirementChange[] {changepp2}, scopepp2, lifeCyclepp2);
-
- p2Feature20 = createIU(P2_FEATURE, new Version(2, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true)});
- createTestMetdataRepository(new IInstallableUnit[] {p2Feature, p1, p2, p1b, p2b, pp1, pp2, p2Feature20});
-
- profile1 = createProfile("TestProfile." + getName());
- planner = createPlanner();
- engine = createEngine();
-
- if (!install(profile1, new IInstallableUnit[] {p2Feature}, true, planner, engine).isOK())
- fail("Setup failed");
-
- if (!install(profile1, new IInstallableUnit[] {pp1}, false, planner, engine).isOK())
- fail("Setup failed");
-
- assertProfileContainsAll("Profile setup incorrectly", profile1, new IInstallableUnit[] {p2Feature, p1b, p2, pp1});
- }
-
- public void testUpdate() {
- //The update of the feature is expected to work and to cause the uninstallation of the patch since it is installed optionally
- ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
- req1.addInstallableUnits(new IInstallableUnit[] {p2Feature20});
- req1.setInstallableUnitInclusionRules(p2Feature20, PlannerHelper.createStrictInclusionRule(p2Feature20));
- req1.removeInstallableUnits(new IInstallableUnit[] {p2Feature});
- ProvisioningPlan plan = planner.getProvisioningPlan(req1, null, null);
- assertEquals(true, IStatus.ERROR != plan.getStatus().getSeverity());
-
- engine.perform(profile1, new DefaultPhaseSet(), plan.getOperands(), null, null);
- assertProfileContains("The profile contains unexpected IUs", profile1, new IInstallableUnit[] {p2Feature20, p1b, p2b});
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate3.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate3.java
deleted file mode 100644
index 2932e64..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate3.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class PatchTestUpdate3 extends AbstractProvisioningTest {
- private static final String PP2 = "PatchForIUP2";
- private static final String PP1 = "PatchForIUP1";
- private static final String P2 = "P2";
- private static final String P1 = "P1";
- private static final String P2_FEATURE = "p2.feature";
- private IInstallableUnit p2Feature;
- private IInstallableUnit p2Feature20;
- private IInstallableUnit p1;
- private IInstallableUnit p2;
- private IInstallableUnitPatch pp1;
- private IInstallableUnitPatch pp2;
- private IInstallableUnit p2b;
- private IInstallableUnit p1b;
- private IProfile profile1;
- private IPlanner planner;
- private IEngine engine;
-
- protected void setUp() throws Exception {
- super.setUp();
- p2Feature = createIU(P2_FEATURE, new Version(1, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)});
- p1 = createIU(P1, new Version(1, 0, 0), true);
- p2 = createIU(P2, new Version(1, 0, 0), true);
- p1b = createIU(P1, new Version(1, 1, 1), true);
- p2b = createIU(P2, new Version(1, 1, 1), true);
-
- RequirementChange changepp1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true));
- RequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 3.0.0]"), null, false, false, true);
- RequiredCapability[][] scopepp1 = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 3.0.0]"), null, false, false)}};
- pp1 = createIUPatch(PP1, new Version("3.0.0"), true, new RequirementChange[] {changepp1}, scopepp1, lifeCyclepp1);
-
- RequirementChange changepp2 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true));
- RequiredCapability lifeCyclepp2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true);
- RequiredCapability[][] scopepp2 = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false)}};
- pp2 = createIUPatch(PP2, new Version("5.0.0"), true, new RequirementChange[] {changepp2}, scopepp2, lifeCyclepp2);
-
- p2Feature20 = createIU(P2_FEATURE, new Version(2, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)});
- createTestMetdataRepository(new IInstallableUnit[] {p2Feature, p1, p2, p1b, p2b, pp1, pp2, p2Feature20});
-
- profile1 = createProfile("TestProfile." + getName());
- planner = createPlanner();
- engine = createEngine();
-
- if (!install(profile1, new IInstallableUnit[] {p2Feature}, true, planner, engine).isOK())
- fail("Setup failed");
-
- if (!install(profile1, new IInstallableUnit[] {pp1}, false, planner, engine).isOK())
- fail("Setup failed");
-
- if (!install(profile1, new IInstallableUnit[] {pp2}, false, planner, engine).isOK())
- fail("Setup failed");
-
- assertProfileContainsAll("Profile setup incorrectly", profile1, new IInstallableUnit[] {p2Feature, pp1, p1b, pp2, p2b});
- }
-
- public void testUpdate() {
- //The update of the feature will cause the patch pp2 to be uninstalled because its lifecycle is no longer matched. pp1 stays because its lifecycle is still applicable
- ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
- req1.addInstallableUnits(new IInstallableUnit[] {p2Feature20});
- req1.setInstallableUnitInclusionRules(p2Feature20, PlannerHelper.createStrictInclusionRule(p2Feature20));
- req1.removeInstallableUnits(new IInstallableUnit[] {p2Feature});
- ProvisioningPlan plan = planner.getProvisioningPlan(req1, null, null);
- assertEquals(true, IStatus.ERROR != plan.getStatus().getSeverity());
-
- engine.perform(profile1, new DefaultPhaseSet(), plan.getOperands(), null, null);
- assertProfileContains("The profile contains unexpected IUs", profile1, new IInstallableUnit[] {p2Feature20, p1b, pp1, p2});
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest.java
deleted file mode 100644
index c578a3a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class SimpleOptionalTest extends AbstractProvisioningTest {
- //A dep B op, C, D op
- //X dep B
-
- private IInstallableUnit a1;
- private IInstallableUnit b1;
-
- private IProfile profile;
- private IPlanner planner;
-
- protected void setUp() throws Exception {
- super.setUp();
- b1 = createIU("B", new Version("1.0.0"), true);
-
- //B's dependency is missing
- RequiredCapability[] reqA = new RequiredCapability[1];
- reqA[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, true, false, true);
- a1 = createIU("A", new Version("1.0.0"), reqA);
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, b1});
-
- profile = createProfile("TestProfile." + getName());
- planner = createPlanner();
- }
-
- public void testInstallation() {
- //Ensure that D's installation does not fail because of C's absence
- ProfileChangeRequest req = new ProfileChangeRequest(profile);
- req.addInstallableUnits(new IInstallableUnit[] {a1});
- ProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
- assertEquals(IStatus.OK, plan.getStatus().getSeverity());
- assertInstallOperand(plan, a1);
- assertInstallOperand(plan, b1);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest2.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest2.java
deleted file mode 100644
index 3bbe964..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest2.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class SimpleOptionalTest2 extends AbstractProvisioningTest {
- private IInstallableUnit a1;
- private IInstallableUnit b1;
- private IInstallableUnit b2;
- private IInstallableUnit b3;
- private IInstallableUnit c1;
- private IInstallableUnit c2;
- private IInstallableUnit d1;
- private IInstallableUnit d2;
- private IInstallableUnit x1;
- private IInstallableUnit y1;
- private IInstallableUnit z1;
-
- private IProfile profile;
- private IPlanner planner;
-
- protected void setUp() throws Exception {
- super.setUp();
- b1 = createIU("B", new Version("1.0.0"), true);
- b2 = createIU("B", new Version("2.0.0"), true);
- b3 = createIU("B", new Version("3.0.0"), true);
-
- c1 = createIU("C", new Version("1.0.0"), true);
- c2 = createIU("C", new Version("2.0.0"), true);
-
- d1 = createIU("D", new Version("1.0.0"), true);
- d2 = createIU("D", new Version("2.0.0"), true);
-
- y1 = createIU("Y", new Version("1.0.0"), true);
-
- z1 = createIU("Z", new Version("1.0.0"), true);
-
- //B's dependency is missing
- RequiredCapability[] reqA = new RequiredCapability[3];
- reqA[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, true);
- reqA[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, true, false, true);
- reqA[2] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", VersionRange.emptyRange, null, true, false, true);
- a1 = createIU("A", new Version("1.0.0"), reqA);
-
- RequiredCapability[] req = new RequiredCapability[3];
- req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true);
- req[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "Y", VersionRange.emptyRange, null, false, false, true);
- req[2] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "Z", VersionRange.emptyRange, null, true, false, true);
- x1 = createIU("X", req);
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, b1, b2, b3, c1, c2, d1, d2, x1, z1, y1});
-
- profile = createProfile("TestProfile." + getName());
- planner = createPlanner();
- }
-
- public void testInstallation() {
- //Ensure that D's installation does not fail because of C's absence
- ProfileChangeRequest req = new ProfileChangeRequest(profile);
- req.addInstallableUnits(new IInstallableUnit[] {a1, x1});
- ProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
- assertEquals(IStatus.OK, plan.getStatus().getSeverity());
- assertInstallOperand(plan, a1);
- assertInstallOperand(plan, c2);
- assertInstallOperand(plan, d1);
- assertInstallOperand(plan, y1);
- assertInstallOperand(plan, z1);
- assertInstallOperand(plan, x1);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest3.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest3.java
deleted file mode 100644
index d8d1e23..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest3.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class SimpleOptionalTest3 extends AbstractProvisioningTest {
- private IInstallableUnit a1;
- private IInstallableUnit b1;
- private IInstallableUnit b2;
- private IInstallableUnit b3;
- private IInstallableUnit c1;
- private IInstallableUnit c2;
- private IInstallableUnit d1;
- private IInstallableUnit d2;
- private IInstallableUnit x1;
-
- private IProfile profile;
- private IPlanner planner;
-
- protected void setUp() throws Exception {
- super.setUp();
- b1 = createIU("B", new Version("1.0.0"), true);
- b2 = createIU("B", new Version("2.0.0"), true);
- b3 = createIU("B", new Version("3.0.0"), true);
-
- c1 = createIU("C", new Version("1.0.0"), true);
- c2 = createIU("C", new Version("2.0.0"), true);
-
- d1 = createIU("D", new Version("1.0.0"), true);
- d2 = createIU("D", new Version("2.0.0"), true);
-
- RequiredCapability[] reqA = new RequiredCapability[3];
- reqA[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, true, false, true);
- reqA[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, false, false, true);
- reqA[2] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", VersionRange.emptyRange, null, true, false, true);
- a1 = createIU("A", new Version("1.0.0"), reqA);
-
- RequiredCapability[] req = new RequiredCapability[1];
- req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 2.0.0]"), null, false, false, true);
- x1 = createIU("X", req);
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, b1, b2, b3, c1, c2, d1, d2, x1});
-
- profile = createProfile("TestProfile." + getName());
- planner = createPlanner();
- }
-
- public void testInstallation() {
- //Ensure that A and X1's installation does not fail because of C's absence
- ProfileChangeRequest req = new ProfileChangeRequest(profile);
- req.addInstallableUnits(new IInstallableUnit[] {a1, x1});
- ProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
- assertEquals(IStatus.OK, plan.getStatus().getSeverity());
- assertInstallOperand(plan, a1);
- assertInstallOperand(plan, c2);
- assertInstallOperand(plan, d2);
- assertInstallOperand(plan, x1);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest4.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest4.java
deleted file mode 100644
index b14ab5f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest4.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class SimpleOptionalTest4 extends AbstractProvisioningTest {
- //A dep B op, C, D op
- //X dep B
-
- private IInstallableUnit a1;
- private IInstallableUnit b1;
- private IInstallableUnit b2;
- private IInstallableUnit b3;
- private IInstallableUnit b4;
-
- private IProfile profile;
- private IPlanner planner;
-
- protected void setUp() throws Exception {
- super.setUp();
- b1 = createIU("B", new Version("1.0.0"), false);
- b2 = createIU("B", new Version("2.0.0"), false);
- b3 = createIU("B", new Version("3.0.0"), false);
- b4 = createIU("B", new Version("4.0.0"), false);
-
- //B's dependency is missing
- RequiredCapability[] reqA = new RequiredCapability[4];
- reqA[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0,1.0.0]"), null, true, false, true);
- reqA[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[2.0.0,2.0.0]"), null, true, false, true);
- reqA[2] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[3.0.0,3.0.0]"), null, true, false, true);
- reqA[3] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[4.0.0,4.0.0]"), null, true, false, true);
- a1 = createIU("A", new Version("1.0.0"), reqA);
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, b1, b2, b3, b4});
-
- profile = createProfile("TestProfile." + getName());
- planner = createPlanner();
- }
-
- public void testInstallation() {
- //Ensure that D's installation does not fail because of C's absence
- ProfileChangeRequest req = new ProfileChangeRequest(profile);
- req.addInstallableUnits(new IInstallableUnit[] {a1, b1});
- ProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
- assertEquals(IStatus.OK, plan.getStatus().getSeverity());
- assertInstallOperand(plan, a1);
- assertInstallOperand(plan, b1);
- assertInstallOperand(plan, b2);
- assertInstallOperand(plan, b3);
- assertInstallOperand(plan, b4);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleSingleton.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleSingleton.java
deleted file mode 100644
index b6e9ee8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleSingleton.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class SimpleSingleton extends AbstractProvisioningTest {
- IInstallableUnit a1;
- IInstallableUnit a2;
- IInstallableUnit a3;
- IInstallableUnit a4;
- IInstallableUnit u, v, w, x, y, z;
-
- IPlanner planner;
- IProfile profile;
-
- protected void setUp() throws Exception {
- super.setUp();
- a1 = createIU("A", new Version("1.0.0"), true);
-
- a2 = createIU("A", new Version("2.0.0"), true);
-
- RequiredCapability c1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.0.0]"), null, false, false);
- RequiredCapability c2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[2.0.0, 2.0.0]"), null, false, false);
- y = createIU("Y", new Version(2, 0, 0), new RequiredCapability[] {c1, c2});
-
- createTestMetdataRepository(new IInstallableUnit[] {a1, a2, y});
-
- profile = createProfile("TestProfile." + getName());
- planner = createPlanner();
-
- }
-
- public void test1() {
- ProfileChangeRequest req = new ProfileChangeRequest(profile);
- req.addInstallableUnits(new IInstallableUnit[] {y});
- assertEquals(IStatus.ERROR, planner.getProvisioningPlan(req, null, null).getStatus().getSeverity());
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/TwoVersionsOfWSDL.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/TwoVersionsOfWSDL.java
deleted file mode 100644
index f746bd5..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/TwoVersionsOfWSDL.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.IEngine;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.eclipse.osgi.service.resolver.VersionRange;
-
-public class TwoVersionsOfWSDL extends AbstractProvisioningTest {
- IInstallableUnit wsdl14;
- IInstallableUnit wsdl15;
- IProfile profile1;
- IPlanner planner;
- IEngine engine;
-
- protected void setUp() throws Exception {
- super.setUp();
- IMetadataRepositoryManager repoMan = (MetadataRepositoryManager) ServiceHelper.getService(TestActivator.getContext(), IMetadataRepositoryManager.class.getName());
- IMetadataRepository repo = repoMan.loadRepository(getTestData("repository for wsdl test", "testData/wsdlTestRepo/").toURL(), new NullProgressMonitor());
- wsdl15 = (IInstallableUnit) repo.query(new InstallableUnitQuery("javax.wsdl", new VersionRange("[1.5, 1.6)")), new Collector(), null).iterator().next();
- wsdl14 = (IInstallableUnit) repo.query(new InstallableUnitQuery("javax.wsdl", new VersionRange("[1.4, 1.5)")), new Collector(), null).iterator().next();
-
- profile1 = createProfile("TestProfile." + getName());
- planner = createPlanner();
- engine = createEngine();
- }
-
- public void testInstallTwoVersionsOptionaly() {
- //Ensure that p1 causes a1 to resolve
- ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
- req1.addInstallableUnits(new IInstallableUnit[] {wsdl15, wsdl14});
- req1.setInstallableUnitInclusionRules(wsdl15, PlannerHelper.createStrictInclusionRule(wsdl15));
- req1.setInstallableUnitInclusionRules(wsdl14, PlannerHelper.createStrictInclusionRule(wsdl14));
- ProvisioningPlan plan1 = planner.getProvisioningPlan(req1, null, null);
- assertEquals(IStatus.OK, plan1.getStatus().getSeverity());
- assertInstallOperand(plan1, wsdl15);
- assertInstallOperand(plan1, wsdl14);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/UninstallEverything.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/UninstallEverything.java
deleted file mode 100644
index c0782ee..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/UninstallEverything.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.IDirector;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.osgi.framework.Version;
-
-public class UninstallEverything extends AbstractProvisioningTest {
- IInstallableUnit a;
-
- IDirector director;
- IProfile profile;
-
- protected void setUp() throws Exception {
- super.setUp();
- a = createIU("A", new Version("1.0.0"));
- createTestMetdataRepository(new IInstallableUnit[] {a});
- profile = createProfile(Bug207319.class.getName());
- director = createDirector();
-
- }
-
- public void testEmpty() {
- ProfileChangeRequest req = new ProfileChangeRequest(profile);
- req.addInstallableUnits(new IInstallableUnit[] {a});
- assertEquals(IStatus.OK, director.provision(req, null, null).getSeverity());
- assertProfileContainsAll("A is missing", profile, new IInstallableUnit[] {a});
-
- ProfileChangeRequest req2 = new ProfileChangeRequest(profile);
- req2.removeInstallableUnits(new IInstallableUnit[] {a});
- assertEquals(IStatus.OK, director.provision(req2, null, null).getSeverity());
- assertNotIUs(new IInstallableUnit[] {a}, profile.query(InstallableUnitQuery.ANY, new Collector(), null).iterator());
-
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/simpleconfigurator/BundlesTxtTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/simpleconfigurator/BundlesTxtTest.java
deleted file mode 100644
index dc2b043..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/simpleconfigurator/BundlesTxtTest.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Red Hat, Inc. - tests
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.simpleconfigurator;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.jar.JarFile;
-import org.eclipse.equinox.p2.tests.*;
-import org.eclipse.equinox.p2.tests.embeddedequinox.EmbeddedEquinox;
-import org.osgi.framework.*;
-
-public class BundlesTxtTest extends AbstractProvisioningTest {
-
- static String BUNDLE_JAR_DIRECTORY = "bundlesTxt";
- int numBundles = -1;
- EmbeddedEquinox equinox = null;
- BundleContext equinoxContext = null;
- File[] bundleJars = null;
- File bundlesTxt = null;
-
- protected void setUp() throws Exception {
- super.setUp();
- }
-
- protected void tearDown() throws Exception {
- super.tearDown();
- equinox.shutdown();
- }
-
- public void testBundlesTxt() throws Exception {
- File simpleconfiguratorDataDir = TestData.getFile(BUNDLE_JAR_DIRECTORY, "");
- bundleJars = getBundleJars(simpleconfiguratorDataDir);
-
- numBundles = bundleJars.length;
-
- // Create a test bundles.info
- createBundlesTxt();
-
- // for demonstration purposes this is just using an install.area and configuration.area located
- // in the local bundle data area. For p2 testing you will want to point this to your own properties
- File installarea = TestActivator.context.getDataFile("eclipse");
- File configarea = new File(installarea, "configuration");
-
- File simpleConfiguratorBundle = getSimpleConfiguratorBundle();
- URL osgiBundle = getFrameworkBundle();
-
- Map frameworkProperties = new HashMap();
- // note that any properties you do not want to be inherited from the hosting Equinox will need
- // to be nulled out. Otherwise you will pick them up from the hosting env.
- frameworkProperties.put("osgi.framework", null);
- frameworkProperties.put("osgi.install.area", installarea.toURL().toExternalForm());
- frameworkProperties.put("osgi.configuration.area", configarea.toURL().toExternalForm());
- frameworkProperties.put("osgi.bundles", "reference:" + simpleConfiguratorBundle.toURL().toExternalForm() + "@1:start"); // should point to simple configurator
- frameworkProperties.put("org.eclipse.equinox.simpleconfigurator.configUrl", bundlesTxt.toURL().toExternalForm());
- try {
- equinox = new EmbeddedEquinox(frameworkProperties, new String[] {}, new URL[] {osgiBundle});
- equinoxContext = equinox.startFramework();
-
- // verify that loaded bundles should be
- Bundle[] bundlesInContext = equinoxContext.getBundles();
- // are all bundles in list of expected bundles?
- for (int i = 0; i < bundlesInContext.length; i++) {
- Bundle bundle = bundlesInContext[i];
- boolean found = false;
- Bundle notFoundBundle = bundle;
- for (int j = 0; j < bundleJars.length; j++) {
- File expectedBundleFile = bundleJars[j];
- String name = getManifestEntry(expectedBundleFile, Constants.BUNDLE_SYMBOLICNAME);
- String bundleName = bundle.getSymbolicName();
- if (bundleName.equalsIgnoreCase(name))
- found = true;
- }
- if (!found)
- fail("Bundle should not be present: " + notFoundBundle);
- }
-
- // TODO: should we check start levels?
-
- // verify that all bundles expected to be loaded are in fact loaded
- for (int i = 0; i < bundleJars.length; i++) {
- File bundle = bundleJars[i];
- String name = getManifestEntry(bundle, Constants.BUNDLE_SYMBOLICNAME);
- boolean loaded = false;
- for (int j = 0; j < bundlesInContext.length; j++) {
- Bundle loadedBundle = bundlesInContext[j];
- if (loadedBundle.getSymbolicName().equalsIgnoreCase(name))
- loaded = true;
- }
- if (!loaded)
- fail("Bundle expected to be loaded but is not: " + name);
- }
-
- assertEquals("Too many/too few bundles!!", numBundles, bundlesInContext.length);
- } finally {
- equinox.shutdown();
- }
- }
-
- private File getSimpleConfiguratorBundle() {
- for (int i = 0; i < bundleJars.length; i++) {
- File bundleJar = bundleJars[i];
- if (bundleJar.getName().startsWith("org.eclipse.equinox.simpleconfigurator"))
- return bundleJar;
- }
- return null;
- }
-
- private void createBundlesTxt() throws IOException {
- bundlesTxt = File.createTempFile("bundles", ".txt");
- bundlesTxt.deleteOnExit();
-
- BufferedWriter bundlesTxtOut = new BufferedWriter(new FileWriter(bundlesTxt));
-
- for (int i = 0; i < bundleJars.length; i++) {
- File bundleJar = bundleJars[i];
- bundlesTxtOut.write(getBundlesTxtEntry(bundleJar) + "\n");
- }
-
- bundlesTxtOut.close();
-
- // FileInputStream f = new FileInputStream(bundlesTxt);
- // BufferedInputStream b = new BufferedInputStream(f);
- // DataInputStream d = new DataInputStream(b);
- // while (d.available() != 0) {
- // System.out.println(d.readLine());
- // }
- }
-
- private String getBundlesTxtEntry(File bundleJar) throws IOException {
- String name = getManifestEntry(bundleJar, Constants.BUNDLE_SYMBOLICNAME);
- String version = getManifestEntry(bundleJar, Constants.BUNDLE_VERSION);
- // <name>,<version>,file:<file>,<startlevel>,true
- return name + "," + version + "," + "file:" + bundleJar.getAbsolutePath() + "," + getStartLevel(name) + ",true";
- }
-
- private String getManifestEntry(File bundleFile, String entry) {
- try {
- JarFile bundleJar = new JarFile(bundleFile);
- String value = bundleJar.getManifest().getMainAttributes().getValue(entry);
- if (value.indexOf(";") > -1) {
- String[] valueElements = value.split(";");
- return valueElements[0];
- } else
- return value;
- } catch (IOException e) {
- e.printStackTrace();
- return null;
- }
-
- }
-
- private URL getFrameworkBundle() {
- for (int i = 0; i < bundleJars.length; i++) {
- File bundleJar = bundleJars[i];
- if (bundleJar.getName().startsWith("org.eclipse.osgi"))
- try {
- return bundleJar.toURL();
- } catch (MalformedURLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- return null;
- }
-
- private int getStartLevel(String bundleName) {
- int startLevel = 4;
- // some special case start levels
- if (bundleName.matches("org.eclipse.osgi")) {
- startLevel = -1;
- } else if (bundleName.matches("org.eclipse.equinox.common")) {
- startLevel = 2;
- } else if (bundleName.matches("org.eclipse.equinox.simpleconfigurator")) {
- startLevel = 1;
- }
- return startLevel;
- }
-
- private File[] getBundleJars(File directory) {
- FilenameFilter bundleFilter = new FilenameFilter() {
- public boolean accept(File directoryName, String filename) {
- return !filename.startsWith(".") && !filename.equals("CVS");
- }
- };
- return directory.listFiles(bundleFilter);
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/simpleconfigurator/SimpleConfiguratorTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/simpleconfigurator/SimpleConfiguratorTests.java
deleted file mode 100644
index 01ffc7b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/simpleconfigurator/SimpleConfiguratorTests.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Red Hat, Inc. and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.simpleconfigurator;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class SimpleConfiguratorTests {
-
- public static Test suite() {
- TestSuite suite = new TestSuite("Tests for org.eclipse.equinox.simpleconfigurator");
- //$JUnit-BEGIN$
- suite.addTestSuite(BundlesTxtTest.class);
- //$JUnit-END$
- return suite;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/AllTests.java
deleted file mode 100644
index ecbbef0..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/AllTests.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.touchpoint.eclipse;
-
-import junit.framework.*;
-
-/**
- * Performs all automated director tests.
- */
-public class AllTests extends TestCase {
-
- public static Test suite() {
- TestSuite suite = new TestSuite(AllTests.class.getName());
- suite.addTestSuite(UtilTest.class);
- return suite;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/UtilTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/UtilTest.java
deleted file mode 100644
index 537d031..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/UtilTest.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.touchpoint.eclipse;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.util.Properties;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Activator;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.provisional.p2.core.location.AgentLocation;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-/**
- * @since 1.0
- */
-public class UtilTest extends AbstractProvisioningTest {
- /*
- * Constructor for the class.
- */
- public UtilTest(String name) {
- super(name);
- }
-
- /*
- * Run all the tests in this class.
- */
- public static Test suite() {
- return new TestSuite(UtilTest.class);
- }
-
- public void testDefaultBundlePool() throws MalformedURLException {
- IProfile profile = createProfile("test");
- AgentLocation agentLocation = (AgentLocation) ServiceHelper.getService(Activator.getContext(), AgentLocation.class.getName());
- assertEquals(agentLocation.getDataArea("org.eclipse.equinox.p2.touchpoint.eclipse").toExternalForm(), Util.getBundlePoolLocation(profile).toExternalForm());
- }
-
- public void testExplicitBundlePool() throws MalformedURLException {
- Properties props = new Properties();
- File cacheDir = new File(System.getProperty("java.io.tmpdir"), "cache");
- props.put(IProfile.PROP_CACHE, cacheDir.toString());
- IProfile profile = createProfile("test", null, props);
- assertEquals(cacheDir.toURL().toExternalForm(), Util.getBundlePoolLocation(profile).toExternalForm());
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/AllTests.java
deleted file mode 100644
index 9abea3d..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/AllTests.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.updatesite;
-
-import junit.framework.*;
-
-/**
- * Performs all automated director tests.
- */
-public class AllTests extends TestCase {
-
- public static Test suite() {
- TestSuite suite = new TestSuite(AllTests.class.getName());
- suite.addTestSuite(UpdateSiteTest.class);
- return suite;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/UpdateSiteTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/UpdateSiteTest.java
deleted file mode 100644
index ba9f4d7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/UpdateSiteTest.java
+++ /dev/null
@@ -1,487 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.updatesite;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.updatesite.UpdateSite;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepository;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-/**
- * @since 1.0
- */
-public class UpdateSiteTest extends AbstractProvisioningTest {
- /*
- * Constructor for the class.
- */
- public UpdateSiteTest(String name) {
- super(name);
- }
-
- /*
- * Run all the tests in this class.
- */
- public static Test suite() {
- return new TestSuite(UpdateSiteTest.class);
- }
-
- public void testRelativeSiteURL() {
- File site = getTestData("0.1", "/testData/updatesite/siteurl");
- UpdateSite updatesite = null;
- try {
- updatesite = UpdateSite.load(site.toURL(), getMonitor());
- } catch (ProvisionException e) {
- fail("0.2", e);
- } catch (MalformedURLException e) {
- fail("0.3", e);
- }
-
- try {
- int featureCount = updatesite.loadFeatures().length;
- assertEquals(1, featureCount);
- } catch (ProvisionException e) {
- fail("0.4", e);
- }
- }
-
- public void testAbsoluteSiteURL() {
- File site = getTestData("0.1", "/testData/updatesite/siteurl2");
- File siteDirectory = getTestData("0.1", "/testData/updatesite/siteurl2/siteurl/");
- UpdateSite updatesite = null;
- try {
- updatesite = UpdateSite.load(site.toURL(), getMonitor());
- updatesite.getSite().setLocationURLString(siteDirectory.toURL().toExternalForm());
- } catch (ProvisionException e) {
- fail("0.2", e);
- } catch (MalformedURLException e) {
- fail("0.3", e);
- }
-
- try {
- int featureCount = updatesite.loadFeatures().length;
- assertEquals(1, featureCount);
- } catch (ProvisionException e) {
- fail("0.4", e);
- }
- }
-
- public void testDefaultDigestURL() {
- File site = getTestData("0.1", "/testData/updatesite/digest");
- UpdateSite updatesite = null;
- try {
- updatesite = UpdateSite.load(site.toURL(), getMonitor());
- } catch (ProvisionException e) {
- fail("0.2", e);
- } catch (MalformedURLException e) {
- fail("0.3", e);
- }
-
- try {
- int featureCount = updatesite.loadFeatures().length;
- assertEquals(1, featureCount);
- } catch (ProvisionException e) {
- fail("0.4", e);
- }
- }
-
- public void testRelativeDigestURL() {
- File site = getTestData("0.1", "/testData/updatesite/digesturl");
- UpdateSite updatesite = null;
- try {
- updatesite = UpdateSite.load(site.toURL(), getMonitor());
- } catch (ProvisionException e) {
- fail("0.2", e);
- } catch (MalformedURLException e) {
- fail("0.3", e);
- }
-
- try {
- int featureCount = updatesite.loadFeatures().length;
- assertEquals(1, featureCount);
- } catch (ProvisionException e) {
- fail("0.4", e);
- }
- }
-
- public void testAbsoluteDigestURL() {
- File site = getTestData("0.1", "/testData/updatesite/digesturl2");
- File digestDirectory = getTestData("0.1", "/testData/updatesite/digesturl2/digesturl/");
- UpdateSite updatesite = null;
- try {
- updatesite = UpdateSite.load(site.toURL(), getMonitor());
- updatesite.getSite().setDigestURLString(digestDirectory.toURL().toExternalForm());
- } catch (ProvisionException e) {
- fail("0.2", e);
- } catch (MalformedURLException e) {
- fail("0.3", e);
- }
-
- try {
- int featureCount = updatesite.loadFeatures().length;
- assertEquals(1, featureCount);
- } catch (ProvisionException e) {
- fail("0.4", e);
- }
- }
-
- /*
- * Test in which we load an update site from a valid site.xml file. Handle
- * all the variations in the file.
- */
- public void testNoDigestGoodSite() {
- File site = getTestData("0.1", "/testData/updatesite/site");
- UpdateSite updatesite = null;
- try {
- updatesite = UpdateSite.load(site.toURL(), getMonitor());
- } catch (ProvisionException e) {
- fail("0.2", e);
- } catch (MalformedURLException e) {
- fail("0.3", e);
- }
- try {
- int featureCount = updatesite.loadFeatures().length;
- assertEquals(1, featureCount);
- } catch (ProvisionException e) {
- fail("0.4", e);
- }
- }
-
- public void testNoEndingSlashURL() {
- File base = getTestData("0.1", "/testData/updatesite");
- UpdateSite updatesite = null;
- try {
- URL siteURL = new URL(base.toURL(), "site");
- updatesite = UpdateSite.load(siteURL, getMonitor());
- } catch (ProvisionException e) {
- fail("0.2", e);
- } catch (MalformedURLException e) {
- fail("0.3", e);
- }
- try {
- int featureCount = updatesite.loadFeatures().length;
- assertEquals(1, featureCount);
- } catch (ProvisionException e) {
- fail("0.4", e);
- }
- }
-
- public void testSiteXMLURL() {
- File site = getTestData("0.1", "/testData/updatesite/site/site.xml");
- UpdateSite updatesite = null;
- try {
- updatesite = UpdateSite.load(site.toURL(), getMonitor());
- } catch (ProvisionException e) {
- fail("0.2", e);
- } catch (MalformedURLException e) {
- fail("0.3", e);
- }
- try {
- int featureCount = updatesite.loadFeatures().length;
- assertEquals(1, featureCount);
- } catch (ProvisionException e) {
- fail("0.4", e);
- }
- }
-
- public void testXXXSiteXXXXMLURL() {
- File site = getTestData("0.1", "/testData/updatesite/xxxsitexxx/xxxsitexxx.xml");
- UpdateSite updatesite = null;
- try {
- updatesite = UpdateSite.load(site.toURL(), getMonitor());
- } catch (ProvisionException e) {
- fail("0.2", e);
- } catch (MalformedURLException e) {
- fail("0.3", e);
- }
- try {
- int featureCount = updatesite.loadFeatures().length;
- assertEquals(1, featureCount);
- } catch (ProvisionException e) {
- fail("0.4", e);
- }
- }
-
- public void testBadXXXSiteXXXXMLURL() {
- File siteDir = getTestData("0.1", "/testData/updatesite/xxxsitexxx");
- File site = new File(siteDir, "site.xml");
- try {
- UpdateSite.load(site.toURL(), getMonitor());
- fail("0.2");
- } catch (ProvisionException e) {
- // expected
- } catch (MalformedURLException e) {
- fail("0.3", e);
- }
- }
-
- public void testBadDigestGoodSite() {
- File site = getTestData("0.1", "/testData/updatesite/baddigestgoodsite");
- UpdateSite updatesite = null;
- try {
- updatesite = UpdateSite.load(site.toURL(), getMonitor());
- } catch (ProvisionException e) {
- fail("0.2", e);
- } catch (MalformedURLException e) {
- fail("0.3", e);
- }
- try {
- updatesite.loadFeatures();
- } catch (ProvisionException e) {
- fail("0.4", e);
- }
- }
-
- public void testBadDigestBadSite() {
- File site = getTestData("0.1", "/testData/updatesite/baddigestbadsite");
- try {
- UpdateSite.load(site.toURL(), getMonitor());
- fail("0.2");
- } catch (ProvisionException e) {
- // expected
- } catch (MalformedURLException e) {
- fail("0.3", e);
- }
- }
-
- public void testBadSiteXML() {
- // handle the case where the site.xml doesn't parse correctly
- File site = getTestData("0.1", "/testData/updatesite/badSiteXML");
- try {
- UpdateSite.load(site.toURL(), getMonitor());
- fail("0.2");
- } catch (ProvisionException e) {
- // expected exception
- } catch (MalformedURLException e) {
- fail("0.3", e);
- }
- }
-
- /*
- * Test the case where we don't have a digest or site.xml.
- */
- public void testNoSite() {
- // ensure we have a validate, empty location
- File temp = getTempFolder();
- temp.mkdirs();
- try {
- UpdateSite.load(temp.toURL(), getMonitor());
- fail("0.2");
- } catch (ProvisionException e) {
- // we expect an exception
- } catch (MalformedURLException e) {
- fail("0.1", e);
- }
- }
-
- public void testNullSite() {
- try {
- assertNull("1.0", UpdateSite.load(null, getMonitor()));
- } catch (ProvisionException e) {
- fail("1.99", e);
- }
- }
-
- public void testBadFeatureURL() {
- File site = getTestData("0.1", "/testData/updatesite/badfeatureurl");
- UpdateSite updatesite = null;
- try {
- updatesite = UpdateSite.load(site.toURL(), getMonitor());
- } catch (ProvisionException e) {
- fail("0.2", e);
- } catch (MalformedURLException e) {
- fail("0.3", e);
- }
- try {
- int featureCount = updatesite.loadFeatures().length;
- assertEquals(0, featureCount);
- } catch (ProvisionException e) {
- fail("0.5");
- }
- }
-
- public void testGoodFeatureURL() {
- File site = getTestData("0.1", "/testData/updatesite/goodfeatureurl");
- UpdateSite updatesite = null;
- try {
- updatesite = UpdateSite.load(site.toURL(), getMonitor());
- } catch (ProvisionException e) {
- fail("0.2", e);
- } catch (MalformedURLException e) {
- fail("0.3", e);
- }
- try {
- int featureCount = updatesite.loadFeatures().length;
- assertEquals(1, featureCount);
- } catch (ProvisionException e) {
- fail("0.5");
- }
- }
-
- public void testIncludedFeature() {
- File site = getTestData("0.1", "/testData/updatesite/includedfeature");
- UpdateSite updatesite = null;
- try {
- updatesite = UpdateSite.load(site.toURL(), getMonitor());
- } catch (ProvisionException e) {
- fail("0.2", e);
- } catch (MalformedURLException e) {
- fail("0.3", e);
- }
- try {
- int featureCount = updatesite.loadFeatures().length;
- assertEquals(2, featureCount);
- } catch (ProvisionException e) {
- fail("0.5");
- }
- }
-
- public void testIncludedFeatureArchive() {
- File site = getTestData("0.1", "/testData/updatesite/includedfeaturearchive");
- UpdateSite updatesite = null;
- try {
- updatesite = UpdateSite.load(site.toURL(), getMonitor());
- } catch (ProvisionException e) {
- fail("0.2", e);
- } catch (MalformedURLException e) {
- fail("0.3", e);
- }
- try {
- int featureCount = updatesite.loadFeatures().length;
- assertEquals(2, featureCount);
- } catch (ProvisionException e) {
- fail("0.5");
- }
- }
-
- public void testBadIncludedFeatureArchive() {
- File site = getTestData("0.1", "/testData/updatesite/badincludedfeaturearchive");
- UpdateSite updatesite = null;
- try {
- updatesite = UpdateSite.load(site.toURL(), getMonitor());
- } catch (ProvisionException e) {
- fail("0.2", e);
- } catch (MalformedURLException e) {
- fail("0.3", e);
- }
- try {
- int featureCount = updatesite.loadFeatures().length;
- assertEquals(1, featureCount);
- } catch (ProvisionException e) {
- fail("0.5");
- }
- }
-
- public void testNoFeatureIdAndVersion() {
- File site = getTestData("0.1", "/testData/updatesite/nofeatureidandversion");
- UpdateSite updatesite = null;
- try {
- updatesite = UpdateSite.load(site.toURL(), getMonitor());
- } catch (ProvisionException e) {
- fail("0.2", e);
- } catch (MalformedURLException e) {
- fail("0.3", e);
- }
- try {
- int featureCount = updatesite.loadFeatures().length;
- assertEquals(2, featureCount);
- } catch (ProvisionException e) {
- fail("0.5");
- }
- }
-
- /**
- * Tests that a feature requiring a bundle with no range is converted correctly.
- */
- public void testBug243422() {
- IMetadataRepositoryManager repoMan = (IMetadataRepositoryManager) ServiceHelper.getService(TestActivator.getContext(), IMetadataRepositoryManager.class.getName());
- assertNotNull(repoMan);
- File site = getTestData("Update site", "/testData/updatesite/UpdateSite243422/");
- IMetadataRepository metadataRepo = null;
- try {
- metadataRepo = repoMan.loadRepository(site.toURL(), null);
- } catch (ProvisionException e) {
- fail("Can't load repository UpdateSite243422");
- } catch (MalformedURLException e) {
- fail("Can't load repository UpdateSite243422");
- }
- InstallableUnitQuery query = new InstallableUnitQuery("org.eclipse.jdt.astview.feature.feature.group", new Version("1.0.1"));
- Collector result = metadataRepo.query(query, new Collector(), null);
- assertEquals("1.0", 1, result.size());
- IInstallableUnit featureIU = (IInstallableUnit) result.iterator().next();
- RequiredCapability[] required = featureIU.getRequiredCapabilities();
- for (int i = 0; i < required.length; i++) {
- if (required[i].getName().equals("org.eclipse.ui.ide")) {
- assertEquals("2.0", VersionRange.emptyRange, required[i].getRange());
- }
- }
- }
-
- public void testShortenVersionNumberInFeature() {
- IArtifactRepositoryManager repoMan = (IArtifactRepositoryManager) ServiceHelper.getService(TestActivator.getContext(), IArtifactRepositoryManager.class.getName());
- assertNotNull(repoMan);
- File site = getTestData("Update site", "/testData/updatesite/240121/UpdateSite240121/");
- IArtifactRepository artifactRepo = null;
- try {
- artifactRepo = repoMan.loadRepository(site.toURL(), null);
- } catch (ProvisionException e) {
- fail("Can't load repository UpdateSite240121");
- } catch (MalformedURLException e) {
- fail("Can't load repository UpdateSite240121");
- }
- IArtifactKey[] keys = artifactRepo.getArtifactKeys();
- for (int i = 0; i < keys.length; i++) {
- if (keys[i].getId().equals("Plugin240121")) {
- FileOutputStream fos = null;
- try {
- File tmp;
- try {
- tmp = File.createTempFile("p2.test", "test");
- tmp.deleteOnExit();
- fos = new FileOutputStream(tmp);
- } catch (IOException e1) {
- fail("Can't create temp file");
- }
- IStatus status = artifactRepo.getArtifact(artifactRepo.getArtifactDescriptors(keys[i])[0], fos, new NullProgressMonitor());
- if (!status.isOK())
- fail("Can't get the expected artifact:" + keys[i]);
- } finally {
- if (fos != null)
- try {
- fos.close();
- } catch (IOException e) {
- //ignore
- }
- }
- }
- }
- }
-
- public void testMirrors() {
- // TODO test the case where the site.xml points to a mirror location
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/test.xml b/bundles/org.eclipse.equinox.p2.tests/test.xml
deleted file mode 100644
index 856774c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/test.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0"?>
-<project name="p2 Automated Tests" default="run" basedir=".">
-
- <!-- The property ${eclipse-home} should be passed into this script -->
- <!-- sets the properties eclipse-home, and library-file -->
- <property name="eclipse-home" value="${basedir}/../../" />
- <property name="library-file" value="${eclipse-home}/plugins/org.eclipse.test/library.xml" />
- <property name="p2_location" value="${eclipse-home}/p2_sniff_folder" />
- <property name="plugin-name" value="org.eclipse.equinox.p2.tests" />
-
- <!-- 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 />
- </target>
-
- <!-- This target holds code to cleanup the testing environment after the tests -->
- <!-- have been run. You can use this to delete temporary files that are created. -->
- <target name="cleanup">
- <delete dir="${p2_location}" quiet="true" />
- </target>
-
- <!-- This target runs the test suite. Any actions that need to happen after all -->
- <!-- the tests have been run should go here. -->
- <target name="run" depends="init,suite,cleanup">
- <ant target="collect" antfile="${library-file}" dir="${eclipse-home}">
- <property name="includes" value="org*.xml" />
- <property name="output-file" value="${plugin-name}.xml" />
- </ant>
- </target>
-
- <!-- This target runs the performance test suites. Any actions that need to happen after all -->
- <!-- the tests have been run should go here. -->
- <target name="performance" depends="init,performance-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>
-
- <target name="p2Tests" depends="init,cleanup">
- <ant target="core-test" antfile="${library-file}" dir="${eclipse-home}">
- <property name="data-dir" value="${p2_location}" />
- <property name="plugin-name" value="org.eclipse.equinox.p2.tests" />
- <property name="classname" value="org.eclipse.equinox.p2.tests.AutomatedTests" />
- </ant>
- </target>
-
- <!-- This target defines the tests that need to be run. -->
- <target name="suite" depends="p2Tests" />
-
- <!-- This target defines the performance tests that need to be run. -->
- <target name="performance-suite" depends="p2PerformanceTests" />
-
- <target name="p2PerformanceTests">
- <!-- TODO -->
- </target>
-</project>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/bundlesTxt/org.eclipse.equinox.common_3.4.0.v20070910.jar b/bundles/org.eclipse.equinox.p2.tests/testData/bundlesTxt/org.eclipse.equinox.common_3.4.0.v20070910.jar
deleted file mode 100644
index 60b2b76..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/bundlesTxt/org.eclipse.equinox.common_3.4.0.v20070910.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/bundlesTxt/org.eclipse.equinox.simpleconfigurator.jar b/bundles/org.eclipse.equinox.p2.tests/testData/bundlesTxt/org.eclipse.equinox.simpleconfigurator.jar
deleted file mode 100644
index 0454299..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/bundlesTxt/org.eclipse.equinox.simpleconfigurator.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/bundlesTxt/org.eclipse.osgi_3.4.0.v20071030.jar b/bundles/org.eclipse.equinox.p2.tests/testData/bundlesTxt/org.eclipse.osgi_3.4.0.v20071030.jar
deleted file mode 100644
index 558b01f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/bundlesTxt/org.eclipse.osgi_3.4.0.v20071030.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.eclipse.osgi.services_3.1.200.v20070605.jar b/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.eclipse.osgi.services_3.1.200.v20070605.jar
deleted file mode 100644
index f160614..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.eclipse.osgi.services_3.1.200.v20070605.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/META-INF/ECLIPSE.RSA b/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/META-INF/ECLIPSE.RSA
deleted file mode 100644
index 0e6fd7e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/META-INF/ECLIPSE.RSA
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/META-INF/ECLIPSE.SF b/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/META-INF/ECLIPSE.SF
deleted file mode 100644
index 02e74aa..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/META-INF/ECLIPSE.SF
+++ /dev/null
@@ -1,20 +0,0 @@
-Signature-Version: 1.0
-SHA1-Digest-Manifest-Main-Attributes: tPSlRd6sUMu8HGBrZzryEi7xoAI=
-Created-By: 1.5.0 (IBM Corporation)
-SHA1-Digest-Manifest: 7C3Xo2E7YjnnV3TxHcX11i4c5BA=
-
-Name: plugin.properties
-SHA1-Digest: 5XC7EdM8EOCa1VASp4M/bgut2mk=
-
-Name: about.html
-SHA1-Digest: 3FGlljWZwXaprsAxNVJWNShkOiQ=
-
-Name: about_files/cpl-v10.html
-SHA1-Digest: YZUV+BFnw6XLRdU0eCv1FYdy8cQ=
-
-Name: junit.jar
-SHA1-Digest: aNKD7gKxpBEj5sDv4cwzWeXRifQ=
-
-Name: META-INF/eclipse.inf
-SHA1-Digest: SAqY+5ITAL0mkdYeijlSRhyIaZk=
-
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/META-INF/MANIFEST.MF
deleted file mode 100644
index 7d16c7f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,31 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Version: 3.8.2.v200706111738
-Export-Package: junit.awtui;version="3.8.2",junit.extensions;version="
- 3.8.2",junit.framework;version="3.8.2",junit.runner;version="3.8.2",j
- unit.swingui;version="3.8.2",junit.swingui.icons;version="3.8.2",juni
- t.textui;version="3.8.2"
-Created-By: 2.3 (IBM Corporation)
-Bundle-SymbolicName: org.junit
-Bundle-Name: %pluginName
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Bundle-Localization: plugin
-Bundle-Vendor: %providerName
-Bundle-ClassPath: junit.jar
-Ant-Version: Apache Ant 1.7.0
-
-Name: plugin.properties
-SHA1-Digest: mL9yvXBmAAJi7G1tls7akuyPG+A=
-
-Name: about_files/cpl-v10.html
-SHA1-Digest: o0b19ceZ+HQHVX0Ops751AQVdwM=
-
-Name: about.html
-SHA1-Digest: iPsyJPEYGTQ+luOJhiJgUtDVYkE=
-
-Name: junit.jar
-SHA1-Digest: Y+KaCRbbBcmThxDeHAxhrzYGkyg=
-
-Name: META-INF/eclipse.inf
-SHA1-Digest: KyT9FF7C7t86NoBoa2kZT3ZJBfw=
-
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/META-INF/eclipse.inf b/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/META-INF/eclipse.inf
deleted file mode 100644
index 7864d3c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/META-INF/eclipse.inf
+++ /dev/null
@@ -1,3 +0,0 @@
-#Processed using Jarprocessor
-pack200.args = -E4
-pack200.conditioned = true
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/about.html b/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/about.html
deleted file mode 100644
index 70913ee..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/about.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>September 28, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-<h3>Third Party Content</h3>
-
-<p>The Content includes items that have been sourced from third parties as set out below. If you
-did not receive this Content directly from the Eclipse Foundation, the following is provided
-for informational purposes only, and you should look to the Redistributor’s license for
-terms and conditions of use.</p>
-
-<p>The Content includes items that have been sourced from third parties as follows:</p>
-
-<h4>JUnit 3.8.2</h4>
-
-<p>The plug-in is accompanied by software developed by JUnit.org. The JUnit 3.8.2 code included with the plug-in includes no modifications.
-Your use of JUnit 3.8.2 in both source and binary code form contained in the plug-in is subject to the terms and conditions of the
-Common Public License Version 1.0 ("CPL"). A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-The binary code is located in junit.jar and the source code is located in src.jar.</p>
-
-<p>i) IBM effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;</p>
-
-<p>ii) IBM effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;</p>
-
-<p>iii) IBM states that any provisions which differ from the CPL are offered by that IBM alone and not by any other party.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/about_files/cpl-v10.html b/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/about_files/cpl-v10.html
deleted file mode 100644
index 455e7b0..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/about_files/cpl-v10.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-<HEAD>
-<TITLE>Common Public License - v 1.0</TITLE>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" VLINK="#800000">
-
-
-<P ALIGN="CENTER"><B>Common Public License - v 1.0</B>
-<P><B></B><FONT SIZE="3"></FONT>
-<P><FONT SIZE="3"></FONT><FONT SIZE="2">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>1. DEFINITIONS</B></FONT>
-<P><FONT SIZE="2">"Contribution" means:</FONT>
-
-<UL><FONT SIZE="2">a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and<BR CLEAR="LEFT">
-b) in the case of each subsequent Contributor:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i) changes to the Program, and</FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) additions to the Program;</FONT></UL>
-
-
-<UL><FONT SIZE="2">where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. </FONT><FONT SIZE="2">A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. </FONT><FONT SIZE="2">Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program. </FONT></UL>
-
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Contributor" means any person or entity that distributes the Program.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program. </FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">"Program" means the Contributions distributed in accordance with this Agreement.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.</FONT>
-<P><FONT SIZE="2"><B></B></FONT>
-<P><FONT SIZE="2"><B>2. GRANT OF RIGHTS</B></FONT>
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">a) </FONT><FONT SIZE="2">Subject to the terms of this Agreement, each Contributor hereby grants</FONT><FONT SIZE="2"> Recipient a non-exclusive, worldwide, royalty-free copyright license to</FONT><FONT SIZE="2" COLOR="#FF0000"> </FONT><FONT SIZE="2">reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">b) Subject to the terms of this Agreement, each Contributor hereby grants </FONT><FONT SIZE="2">Recipient a non-exclusive, worldwide,</FONT><FONT SIZE="2" COLOR="#008000"> </FONT><FONT SIZE="2">royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2"><B>3. REQUIREMENTS</B></FONT>
-<P><FONT SIZE="2"><B></B>A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:</FONT>
-
-<UL><FONT SIZE="2">a) it complies with the terms and conditions of this Agreement; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">b) its license agreement:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i) effectively disclaims</FONT><FONT SIZE="2"> on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; </FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; </FONT></UL>
-
-
-<UL><FONT SIZE="2">iii)</FONT><FONT SIZE="2"> states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.</FONT><FONT SIZE="2" COLOR="#0000FF"> </FONT><FONT SIZE="2" COLOR="#FF0000"></FONT></UL>
-
-
-<UL><FONT SIZE="2" COLOR="#FF0000"></FONT><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2">When the Program is made available in source code form:</FONT>
-
-<UL><FONT SIZE="2">a) it must be made available under this Agreement; and </FONT></UL>
-
-
-<UL><FONT SIZE="2">b) a copy of this Agreement must be included with each copy of the Program. </FONT></UL>
-
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT><FONT SIZE="2">Contributors may not remove or alter any copyright notices contained within the Program. </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution. </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>4. COMMERCIAL DISTRIBUTION</B></FONT>
-<P><FONT SIZE="2">Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"></FONT><FONT SIZE="2"><B>5. NO WARRANTY</B></FONT>
-<P><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is</FONT><FONT SIZE="2"> solely responsible for determining the appropriateness of using and distributing </FONT><FONT SIZE="2">the Program</FONT><FONT SIZE="2"> and assumes all risks associated with its exercise of rights under this Agreement</FONT><FONT SIZE="2">, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, </FONT><FONT SIZE="2">programs or equipment, and unavailability or interruption of operations</FONT><FONT SIZE="2">. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"><B>6. DISCLAIMER OF LIABILITY</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES </FONT><FONT SIZE="2">(INCLUDING WITHOUT LIMITATION LOST PROFITS),</FONT><FONT SIZE="2"> HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>7. GENERAL</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to </FONT><FONT SIZE="2">publish new versions (including revisions) of this Agreement from time to </FONT><FONT SIZE="2">time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. </FONT><FONT SIZE="2">Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new </FONT><FONT SIZE="2">version. </FONT><FONT SIZE="2">Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, </FONT><FONT SIZE="2">by implication, estoppel or otherwise</FONT><FONT SIZE="2">.</FONT><FONT SIZE="2"> All rights in the Program not expressly granted under this Agreement are reserved.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-
-</BODY>
-
-</HTML>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/junit.jar b/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/junit.jar
deleted file mode 100644
index 7a21fc5..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/junit.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/plugin.properties b/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/plugin.properties
deleted file mode 100644
index edfb96b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-pluginName=JUnit Testing Framework
-providerName=Eclipse.org
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.eclipse.equinox.jsp.jasper.registry_1.0.0.v20070827.jar b/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.eclipse.equinox.jsp.jasper.registry_1.0.0.v20070827.jar
deleted file mode 100644
index fb110a7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.eclipse.equinox.jsp.jasper.registry_1.0.0.v20070827.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.eclipse.osgi.services_3.1.200.v20070605.jar b/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.eclipse.osgi.services_3.1.200.v20070605.jar
deleted file mode 100644
index f160614..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.eclipse.osgi.services_3.1.200.v20070605.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/META-INF/ECLIPSE.RSA b/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/META-INF/ECLIPSE.RSA
deleted file mode 100644
index 0e6fd7e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/META-INF/ECLIPSE.RSA
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/META-INF/ECLIPSE.SF b/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/META-INF/ECLIPSE.SF
deleted file mode 100644
index 02e74aa..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/META-INF/ECLIPSE.SF
+++ /dev/null
@@ -1,20 +0,0 @@
-Signature-Version: 1.0
-SHA1-Digest-Manifest-Main-Attributes: tPSlRd6sUMu8HGBrZzryEi7xoAI=
-Created-By: 1.5.0 (IBM Corporation)
-SHA1-Digest-Manifest: 7C3Xo2E7YjnnV3TxHcX11i4c5BA=
-
-Name: plugin.properties
-SHA1-Digest: 5XC7EdM8EOCa1VASp4M/bgut2mk=
-
-Name: about.html
-SHA1-Digest: 3FGlljWZwXaprsAxNVJWNShkOiQ=
-
-Name: about_files/cpl-v10.html
-SHA1-Digest: YZUV+BFnw6XLRdU0eCv1FYdy8cQ=
-
-Name: junit.jar
-SHA1-Digest: aNKD7gKxpBEj5sDv4cwzWeXRifQ=
-
-Name: META-INF/eclipse.inf
-SHA1-Digest: SAqY+5ITAL0mkdYeijlSRhyIaZk=
-
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/META-INF/MANIFEST.MF
deleted file mode 100644
index 7d16c7f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,31 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Version: 3.8.2.v200706111738
-Export-Package: junit.awtui;version="3.8.2",junit.extensions;version="
- 3.8.2",junit.framework;version="3.8.2",junit.runner;version="3.8.2",j
- unit.swingui;version="3.8.2",junit.swingui.icons;version="3.8.2",juni
- t.textui;version="3.8.2"
-Created-By: 2.3 (IBM Corporation)
-Bundle-SymbolicName: org.junit
-Bundle-Name: %pluginName
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Bundle-Localization: plugin
-Bundle-Vendor: %providerName
-Bundle-ClassPath: junit.jar
-Ant-Version: Apache Ant 1.7.0
-
-Name: plugin.properties
-SHA1-Digest: mL9yvXBmAAJi7G1tls7akuyPG+A=
-
-Name: about_files/cpl-v10.html
-SHA1-Digest: o0b19ceZ+HQHVX0Ops751AQVdwM=
-
-Name: about.html
-SHA1-Digest: iPsyJPEYGTQ+luOJhiJgUtDVYkE=
-
-Name: junit.jar
-SHA1-Digest: Y+KaCRbbBcmThxDeHAxhrzYGkyg=
-
-Name: META-INF/eclipse.inf
-SHA1-Digest: KyT9FF7C7t86NoBoa2kZT3ZJBfw=
-
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/META-INF/eclipse.inf b/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/META-INF/eclipse.inf
deleted file mode 100644
index 7864d3c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/META-INF/eclipse.inf
+++ /dev/null
@@ -1,3 +0,0 @@
-#Processed using Jarprocessor
-pack200.args = -E4
-pack200.conditioned = true
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/about.html b/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/about.html
deleted file mode 100644
index 70913ee..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/about.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>September 28, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-<h3>Third Party Content</h3>
-
-<p>The Content includes items that have been sourced from third parties as set out below. If you
-did not receive this Content directly from the Eclipse Foundation, the following is provided
-for informational purposes only, and you should look to the Redistributor’s license for
-terms and conditions of use.</p>
-
-<p>The Content includes items that have been sourced from third parties as follows:</p>
-
-<h4>JUnit 3.8.2</h4>
-
-<p>The plug-in is accompanied by software developed by JUnit.org. The JUnit 3.8.2 code included with the plug-in includes no modifications.
-Your use of JUnit 3.8.2 in both source and binary code form contained in the plug-in is subject to the terms and conditions of the
-Common Public License Version 1.0 ("CPL"). A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-The binary code is located in junit.jar and the source code is located in src.jar.</p>
-
-<p>i) IBM effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;</p>
-
-<p>ii) IBM effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;</p>
-
-<p>iii) IBM states that any provisions which differ from the CPL are offered by that IBM alone and not by any other party.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/about_files/cpl-v10.html b/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/about_files/cpl-v10.html
deleted file mode 100644
index 455e7b0..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/about_files/cpl-v10.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-<HEAD>
-<TITLE>Common Public License - v 1.0</TITLE>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" VLINK="#800000">
-
-
-<P ALIGN="CENTER"><B>Common Public License - v 1.0</B>
-<P><B></B><FONT SIZE="3"></FONT>
-<P><FONT SIZE="3"></FONT><FONT SIZE="2">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>1. DEFINITIONS</B></FONT>
-<P><FONT SIZE="2">"Contribution" means:</FONT>
-
-<UL><FONT SIZE="2">a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and<BR CLEAR="LEFT">
-b) in the case of each subsequent Contributor:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i) changes to the Program, and</FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) additions to the Program;</FONT></UL>
-
-
-<UL><FONT SIZE="2">where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. </FONT><FONT SIZE="2">A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. </FONT><FONT SIZE="2">Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program. </FONT></UL>
-
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Contributor" means any person or entity that distributes the Program.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program. </FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">"Program" means the Contributions distributed in accordance with this Agreement.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.</FONT>
-<P><FONT SIZE="2"><B></B></FONT>
-<P><FONT SIZE="2"><B>2. GRANT OF RIGHTS</B></FONT>
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">a) </FONT><FONT SIZE="2">Subject to the terms of this Agreement, each Contributor hereby grants</FONT><FONT SIZE="2"> Recipient a non-exclusive, worldwide, royalty-free copyright license to</FONT><FONT SIZE="2" COLOR="#FF0000"> </FONT><FONT SIZE="2">reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">b) Subject to the terms of this Agreement, each Contributor hereby grants </FONT><FONT SIZE="2">Recipient a non-exclusive, worldwide,</FONT><FONT SIZE="2" COLOR="#008000"> </FONT><FONT SIZE="2">royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2"><B>3. REQUIREMENTS</B></FONT>
-<P><FONT SIZE="2"><B></B>A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:</FONT>
-
-<UL><FONT SIZE="2">a) it complies with the terms and conditions of this Agreement; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">b) its license agreement:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i) effectively disclaims</FONT><FONT SIZE="2"> on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; </FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; </FONT></UL>
-
-
-<UL><FONT SIZE="2">iii)</FONT><FONT SIZE="2"> states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.</FONT><FONT SIZE="2" COLOR="#0000FF"> </FONT><FONT SIZE="2" COLOR="#FF0000"></FONT></UL>
-
-
-<UL><FONT SIZE="2" COLOR="#FF0000"></FONT><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2">When the Program is made available in source code form:</FONT>
-
-<UL><FONT SIZE="2">a) it must be made available under this Agreement; and </FONT></UL>
-
-
-<UL><FONT SIZE="2">b) a copy of this Agreement must be included with each copy of the Program. </FONT></UL>
-
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT><FONT SIZE="2">Contributors may not remove or alter any copyright notices contained within the Program. </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution. </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>4. COMMERCIAL DISTRIBUTION</B></FONT>
-<P><FONT SIZE="2">Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"></FONT><FONT SIZE="2"><B>5. NO WARRANTY</B></FONT>
-<P><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is</FONT><FONT SIZE="2"> solely responsible for determining the appropriateness of using and distributing </FONT><FONT SIZE="2">the Program</FONT><FONT SIZE="2"> and assumes all risks associated with its exercise of rights under this Agreement</FONT><FONT SIZE="2">, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, </FONT><FONT SIZE="2">programs or equipment, and unavailability or interruption of operations</FONT><FONT SIZE="2">. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"><B>6. DISCLAIMER OF LIABILITY</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES </FONT><FONT SIZE="2">(INCLUDING WITHOUT LIMITATION LOST PROFITS),</FONT><FONT SIZE="2"> HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>7. GENERAL</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to </FONT><FONT SIZE="2">publish new versions (including revisions) of this Agreement from time to </FONT><FONT SIZE="2">time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. </FONT><FONT SIZE="2">Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new </FONT><FONT SIZE="2">version. </FONT><FONT SIZE="2">Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, </FONT><FONT SIZE="2">by implication, estoppel or otherwise</FONT><FONT SIZE="2">.</FONT><FONT SIZE="2"> All rights in the Program not expressly granted under this Agreement are reserved.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-
-</BODY>
-
-</HTML>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/junit.jar b/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/junit.jar
deleted file mode 100644
index 7a21fc5..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/junit.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/plugin.properties b/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/plugin.properties
deleted file mode 100644
index edfb96b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-pluginName=JUnit Testing Framework
-providerName=Eclipse.org
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/enginerepo.jar b/bundles/org.eclipse.equinox.p2.tests/testData/enginerepo.jar
deleted file mode 100644
index ab23a24..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/enginerepo.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/extensionlocation/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/extensionlocation/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/META-INF/MANIFEST.MF
deleted file mode 100644
index eda0417..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/extensionlocation/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Created-By: 1.4.2 (IBM Corporation)
-Ant-Version: Apache Ant 1.7.0
-
-Name: feature.xml
-SHA1-Digest: YVpG2yV+fCKpxjgnc2P7scwrcNU=
-
-Name: feature.properties
-SHA1-Digest: UzM1MZnaZBzb5JHPQZE7wbydJWA=
-
-Name: license.html
-SHA1-Digest: YXfaVLayE8gaE0VWfKzUHsp6IyM=
-
-Name: META-INF/eclipse.inf
-SHA1-Digest: KyT9FF7C7t86NoBoa2kZT3ZJBfw=
-
-Name: eclipse_update_120.jpg
-SHA1-Digest: xstAqMgs/a5AsQXQZSdDQ79veOA=
-
-Name: epl-v10.html
-SHA1-Digest: pTOyybcpEe+Y8lkSVUtarMleXqE=
-
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/extensionlocation/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.properties b/bundles/org.eclipse.equinox.p2.tests/testData/extensionlocation/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.properties
deleted file mode 100644
index 203a722..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/extensionlocation/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.properties
+++ /dev/null
@@ -1,144 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse RCP
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Project Updates
-
-# "description" property - description of the feature
-description=Rich Client Platform
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2000, 2007 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
- IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
- - Content may be structured and packaged into modules to facilitate delivering,\n\
- extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
- plug-in fragments ("Fragments"), and features ("Features").\n\
- - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
- in a directory named "plugins".\n\
- - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
- Each Feature may be packaged as a sub-directory in a directory named "features".\n\
- Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
- numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
- - Features may also include other Features ("Included Features"). Within a Feature, files\n\
- named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
- - The top-level (root) directory\n\
- - Plug-in and Fragment directories\n\
- - Inside Plug-ins and Fragments packaged as JARs\n\
- - Sub-directories of the directory named "src" of certain Plug-ins\n\
- - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
- - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
- - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
- - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
- - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
- - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
- - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/extensionlocation/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.xml b/bundles/org.eclipse.equinox.p2.tests/testData/extensionlocation/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.xml
deleted file mode 100644
index 11ef188..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/extensionlocation/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.xml
+++ /dev/null
@@ -1,509 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
- id="org.eclipse.rcp"
- label="%featureName"
- version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG"
- provider-name="%providerName"
- plugin="org.eclipse.rcp"
- image="eclipse_update_120.jpg">
-
- <description>
- %description
- </description>
-
- <copyright>
- %copyright
- </copyright>
-
- <license url="%licenseURL">
- %license
- </license>
-
- <url>
- <update label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
- </url>
-
- <plugin
- id="com.ibm.icu"
- download-size="0"
- install-size="0"
- version="3.6.1.v20070417"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.core.commands"
- download-size="0"
- install-size="0"
- version="3.3.0.I20070605-0010"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.core.databinding"
- download-size="0"
- install-size="0"
- version="1.0.0.I20070606-0010"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.core.databinding.beans"
- download-size="0"
- install-size="0"
- version="1.0.0.I20070606-0010"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.core.jobs"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070423"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.core.expressions"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070606-0010"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.core.runtime"
- download-size="0"
- install-size="0"
- version="3.3.100.v20070530"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.core.runtime.compatibility.auth"
- download-size="0"
- install-size="0"
- version="3.2.100.v20070502"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.osgi"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070530"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.help"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070524"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.swt"
- download-size="0"
- install-size="0"
- version="3.3.0.v3346"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.jface"
- download-size="0"
- install-size="0"
- version="3.3.0.I20070606-0010"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.jface.databinding"
- download-size="0"
- install-size="0"
- version="1.1.0.I20070606-0010"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ui"
- download-size="0"
- install-size="0"
- version="3.3.0.I20070614-0800"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ui.workbench"
- download-size="0"
- install-size="0"
- version="3.3.0.I20070608-1100"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ui.carbon"
- os="macosx"
- ws="carbon"
- download-size="0"
- install-size="0"
- version="3.2.100.I20070605-0010"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.update.configurator"
- download-size="0"
- install-size="0"
- version="3.2.100.v20070615"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.swt.win32.win32.x86"
- os="win32"
- ws="win32"
- arch="x86"
- download-size="0"
- install-size="0"
- version="3.3.0.v3346"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.swt.wpf.win32.x86"
- os="win32"
- ws="wpf"
- arch="x86"
- download-size="0"
- install-size="0"
- version="3.3.0.v3346"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.swt.gtk.linux.x86"
- os="linux"
- ws="gtk"
- arch="x86"
- download-size="0"
- install-size="0"
- version="3.3.0.v3346"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.swt.gtk.linux.s390"
- os="linux"
- ws="gtk"
- arch="s390"
- download-size="0"
- install-size="0"
- version="0.0.0"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.swt.gtk.linux.s390x"
- os="linux"
- ws="gtk"
- arch="s390x"
- download-size="0"
- install-size="0"
- version="0.0.0"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.swt.gtk.solaris.sparc"
- os="solaris"
- ws="gtk"
- arch="sparc"
- download-size="0"
- install-size="0"
- version="3.3.0.v3346"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.swt.gtk.solaris.x86"
- os="solaris"
- ws="gtk"
- arch="x86"
- download-size="0"
- install-size="0"
- version="0.0.0"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.swt.gtk.linux.ppc"
- os="linux"
- ws="gtk"
- arch="ppc"
- download-size="0"
- install-size="0"
- version="3.3.0.v3346"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.swt.gtk.linux.x86_64"
- os="linux"
- ws="gtk"
- arch="x86_64"
- download-size="0"
- install-size="0"
- version="3.3.0.v3346"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.swt.carbon.macosx"
- os="macosx"
- ws="carbon"
- download-size="0"
- install-size="0"
- version="3.3.0.v3346"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.swt.motif.aix.ppc"
- os="aix"
- ws="motif"
- arch="ppc"
- download-size="0"
- install-size="0"
- version="3.3.0.v3346"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.swt.motif.hpux.PA_RISC"
- os="hpux"
- ws="motif"
- arch="PA_RISC"
- download-size="0"
- install-size="0"
- version="3.3.0.v3345a"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.swt.motif.linux.x86"
- os="linux"
- ws="motif"
- arch="x86"
- download-size="0"
- install-size="0"
- version="3.3.0.v3346"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.swt.gtk.linux.ia64"
- os="linux"
- ws="gtk"
- arch="ia64"
- download-size="0"
- install-size="0"
- version="3.3.0.HEAD"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.swt.motif.solaris.sparc"
- os="solaris"
- ws="motif"
- arch="sparc"
- download-size="0"
- install-size="0"
- version="3.3.0.v3346"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.swt.photon.qnx.x86"
- os="qnx"
- ws="photon"
- arch="x86"
- download-size="0"
- install-size="0"
- version="3.3.0.v3346"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.swt.motif.hpux.ia64_32"
- os="hpux"
- ws="motif"
- arch="ia64_32"
- download-size="0"
- install-size="0"
- version="3.3.0.HEAD"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.rcp"
- download-size="0"
- install-size="0"
- version="3.2.0.v20070612"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.core.contenttype"
- download-size="0"
- install-size="0"
- version="3.2.100.v20070319"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.app"
- download-size="0"
- install-size="0"
- version="1.0.0.v20070606"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.common"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070426"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.preferences"
- download-size="0"
- install-size="0"
- version="3.2.100.v20070522"
- unpack="false"/>
-
-
- <plugin
- id="org.eclipse.equinox.registry"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070522"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.launcher"
- download-size="0"
- install-size="0"
- version="1.0.0.v20070606"
- unpack="false"/>
- <plugin
- id="org.eclipse.equinox.launcher.gtk.solaris.sparc"
- os="solaris"
- ws="gtk"
- arch="sparc"
- download-size="0"
- install-size="0"
- version="1.0.0.v20070606"
- fragment="true"
- unpack="true"/>
- <plugin
- id="org.eclipse.equinox.launcher.carbon.macosx"
- os="macosx"
- ws="carbon"
- download-size="0"
- install-size="0"
- version="1.0.0.v20070606"
- fragment="true"
- unpack="true"/>
- <plugin
- id="org.eclipse.equinox.launcher.gtk.linux.ppc"
- os="linux"
- ws="gtk"
- arch="ppc"
- download-size="0"
- install-size="0"
- version="1.0.0.v20070606"
- fragment="true"
- unpack="true"/>
-
- <plugin
- id="org.eclipse.equinox.launcher.gtk.linux.x86"
- os="linux"
- ws="gtk"
- arch="x86"
- download-size="0"
- install-size="0"
- version="1.0.0.v20070606"
- fragment="true"
- unpack="true"/>
-
- <plugin
- id="org.eclipse.equinox.launcher.gtk.linux.s390"
- os="linux"
- ws="gtk"
- arch="s390"
- download-size="0"
- install-size="0"
- version="0.0.0"
- fragment="true"
- unpack="true"/>
-
- <plugin
- id="org.eclipse.equinox.launcher.gtk.linux.s390x"
- os="linux"
- ws="gtk"
- arch="s390x"
- download-size="0"
- install-size="0"
- version="0.0.0"
- fragment="true"
- unpack="true"/>
-
- <plugin
- id="org.eclipse.equinox.launcher.motif.linux.x86"
- os="linux"
- ws="motif"
- arch="x86"
- download-size="0"
- install-size="0"
- version="1.0.0.v20070524"
- fragment="true"
- unpack="true"/>
-
- <plugin
- id="org.eclipse.equinox.launcher.gtk.linux.x86_64"
- os="linux"
- ws="gtk"
- arch="x86_64"
- download-size="0"
- install-size="0"
- version="1.0.0.v20070606"
- fragment="true"
- unpack="true"/>
- <plugin
- id="org.eclipse.equinox.launcher.motif.aix.ppc"
- os="aix"
- ws="motif"
- arch="ppc"
- download-size="0"
- install-size="0"
- version="1.0.0.v20070524"
- fragment="true"
- unpack="true"/>
- <plugin
- id="org.eclipse.equinox.launcher.motif.hpux.PA_RISC"
- os="hpux"
- ws="motif"
- arch="PA_RISC"
- download-size="0"
- install-size="0"
- version="1.0.0.v20070219"
- fragment="true"
- unpack="true"/>
-
- <plugin
- id="org.eclipse.equinox.launcher.wpf.win32.x86"
- os="win32"
- ws="wpf"
- arch="x86"
- download-size="0"
- install-size="0"
- version="1.0.0.v20070523"
- fragment="true"
- unpack="true"/>
-
- <plugin
- id="org.eclipse.equinox.launcher.win32.win32.x86"
- os="win32"
- ws="win32"
- arch="x86"
- download-size="0"
- install-size="0"
- version="1.0.0.v20070523"
- fragment="true"
- unpack="true"/>
-</feature>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/extensionlocation/plugins/org.eclipse.osgi.services_3.1.200.v20070605.jar b/bundles/org.eclipse.equinox.p2.tests/testData/extensionlocation/plugins/org.eclipse.osgi.services_3.1.200.v20070605.jar
deleted file mode 100644
index f160614..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/extensionlocation/plugins/org.eclipse.osgi.services_3.1.200.v20070605.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/featureToIU/feature1.jar b/bundles/org.eclipse.equinox.p2.tests/testData/featureToIU/feature1.jar
deleted file mode 100644
index af1943d..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/featureToIU/feature1.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/featureToIU/feature2.jar b/bundles/org.eclipse.equinox.p2.tests/testData/featureToIU/feature2.jar
deleted file mode 100644
index 4702105..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/featureToIU/feature2.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/featureToIU/feature3.jar b/bundles/org.eclipse.equinox.p2.tests/testData/featureToIU/feature3.jar
deleted file mode 100644
index 5f94986..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/featureToIU/feature3.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/Europa/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/generator/Europa/site.xml
deleted file mode 100644
index a9bf017..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/Europa/site.xml
+++ /dev/null
@@ -1,483 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site digestURL="http://download.eclipse.org/releases/europa/" mirrorsURL="http://www.eclipse.org/downloads/download.php?file=/releases/europa/site.xml&format=xml&protocol=http" pack200="true">
-
- <description url="http://www.eclipse.org/europa/">
- This Europa Discovery Site contains a number of Eclipse based projects
- released simultaneously, June 2007.
- </description>
-
- <category-def label="C and C++ Developement" name="C and C++ Developement">
- <description>Integrated Developement for C and C++ programs.</description>
- </category-def>
- <category-def label="Charting and Reporting" name="Charting and Reporting">
- <description>Business Intelligence and Reporting Tools</description>
- </category-def>
- <category-def label="Collaboration Tools" name="Collaboration Tools">
- <description>
- Collaboration and integration tools for the Eclipse environment.
- </description>
- </category-def>
- <category-def label="Communications" name="Communications">
- <description>
- Real-time communications for Eclipse. To use applications (e.g. IM, real-time collab, etc.), both the Core API and Application features are required.
- </description>
- </category-def>
- <category-def label="Database Development" name="Database Development">
- <description>Tools to allow integration with and easy use of Databases.</description>
- </category-def>
- <category-def label="Graphical Editors and Frameworks" name="Graphical Editors and Frameworks">
- <description>A framework to create graphical editors.</description>
- </category-def>
- <category-def label="Java Development" name="Java Development">
- <description>
- Integrated development tools for Java Development, including plugin developement with Java, and J2EE applications.
- </description>
- </category-def>
- <category-def label="Models and Model Development" name="Models and Model Development">
- <description>
- Model creation and manipulation frameworks (e.g. EMF, GMF) and specific models (SDO, JEM, XSD Infoset).
- </description>
- </category-def>
- <category-def label="Remote Access and Device Development" name="Remote Access and Device Development">
- <description>Tools and Frameworks for accessing and managing remote computers or embedded devices</description>
- </category-def>
- <category-def label="SOA Development" name="SOA Development">
- <description>A platform and tools for developing
- Service-Oriented Component-based Applications.</description>
- </category-def>
- <category-def label="Testing and Performance" name="Testing and Performance">
- <description>Tools and Frameworks to improve performance and automatic testing.</description>
- </category-def>
- <category-def label="Web and JEE Development" name="Web and JEE Development">
- <description>A platform and tools for developing XML, WebServices, and JEE Applications.</description>
- </category-def>
- <category-def label="Programming Languages" name="Programming Languages">
- <description>
- Tools and Frameworks supporting programming languages for the Eclipse environment.
- </description>
- </category-def>
- <category-def label="Other Tools" name="Other Tools">
- <description>
- Other tools for the Eclipse environment.
- </description>
- </category-def>
- <category-def label="Enabling Features" name="Enabling Features">
- <description>
- These features provide functionality required by one or more projects, but do not provide end-user functionality by
- themselves.
- </description>
- </category-def>
-
- <feature id="org.eclipse.eclipsemonkey" patch="false" url="features/org.eclipse.eclipsemonkey_1.0.0.200706060947.jar" version="1.0.0.200706060947">
- <category name="Other Tools"/>
- </feature>
- <feature id="org.apache.batik" patch="false" url="features/org.apache.batik_1.6.0.v20061222-1222-0842283444-3444.jar" version="1.6.0.v20061222-1222-0842283444-3444">
- <category name="Enabling Features"/>
- </feature>
-
-
-
- <feature id="org.eclipse.platform" patch="false" url="features/org.eclipse.platform_3.3.2.R33x_v20071022-_19UEksF-G8Yc6bUv3Dz.jar" version="3.3.2.R33x_v20071022-_19UEksF-G8Yc6bUv3Dz">
- <category name="Enabling Features"/>
- </feature>
- <feature id="org.eclipse.cvs" patch="false" url="features/org.eclipse.cvs_1.0.1.R33x_r20070802-7C79_9_KKG-mDM9e3H5D.jar" version="1.0.1.R33x_r20070802-7C79_9_KKG-mDM9e3H5D">
- <category name="Collaboration Tools"/>
- </feature>
-
-
- <feature id="org.eclipse.equinox" patch="false" url="features/org.eclipse.equinox_3.3.1.R33x_r20070918-7n7LECgEKVsLIM1aGBO4b00.jar" version="3.3.1.R33x_r20070918-7n7LECgEKVsLIM1aGBO4b00">
- <category name="Enabling Features"/>
- </feature>
- <feature id="org.eclipse.birt" patch="false" url="features/org.eclipse.birt_2.2.1.v20070709-7M7M7A3OP2Mz-yAItil64r9z0tw0.jar" version="2.2.1.v20070709-7M7M7A3OP2Mz-yAItil64r9z0tw0">
- <category name="Charting and Reporting"/>
- </feature>
- <feature id="org.eclipse.birt.doc" patch="false" url="features/org.eclipse.birt.doc_2.2.1.v20070709-110-s332Aw31181_2_.jar" version="2.2.1.v20070709-110-s332Aw31181_2_">
- <category name="Charting and Reporting"/>
- </feature>
-
- <feature id="org.apache.derby.core" url="features/org.apache.derby.core_10.1.2.1.jar" version="10.1.2.1">
- <category name="Enabling Features"/>
- </feature>
-
- <feature id="com.lowagie.itext" url="features/com.lowagie.itext_1.5.2.v20070608-041-w31181821.jar" version="1.5.2.v20070608-041-w31181821">
- <category name="Enabling Features"/>
- </feature>
- <feature id="org.apache.commons.codec" url="features/org.apache.commons.codec_1.3.0.v20070907-02--w311817222849.jar" version="1.3.0.v20070907-02--w311817222849">
- <category name="Enabling Features"/>
- </feature>
- <feature id="org.mozilla.rhino" url="features/org.mozilla.rhino_1.6.0.v20070406-05--w31181821.jar" version="1.6.0.v20070406-05--w31181821">
- <category name="Enabling Features"/>
- </feature>
- <feature id="org.w3c.sac" url="features/org.w3c.sac_1.3.0.v20070406-02--w31181821.jar" version="1.3.0.v20070406-02--w31181821">
- <category name="Enabling Features"/>
- </feature>
- <feature id="org.eclipse.cdt" patch="false" url="features/org.eclipse.cdt_4.0.1.200709241202.jar" version="4.0.1.200709241202">
- <category name="C and C++ Developement"/>
- </feature>
- <feature id="org.eclipse.jdt" patch="false" url="features/org.eclipse.jdt_3.3.1.r331_v20070629-7o7jE72EDlXAbqAcnbmyg1rf8RIL.jar" version="3.3.1.r331_v20070629-7o7jE72EDlXAbqAcnbmyg1rf8RIL">
- <category name="Java Development"/>
- </feature>
- <feature id="org.eclipse.pde" patch="false" url="features/org.eclipse.pde_3.3.2.R33x_r20071022-7N7M4CYWLBCz-yHkMIuHN.jar" version="3.3.2.R33x_r20071022-7N7M4CYWLBCz-yHkMIuHN">
- <category name="Java Development"/>
- </feature>
-
- <feature id="org.eclipse.emf" patch="false" url="features/org.eclipse.emf_2.3.1.v200709252135.jar" version="2.3.1.v200709252135">
- <category name="Models and Model Development"/>
- </feature>
- <feature id="org.eclipse.emf.sdk" patch="false" url="features/org.eclipse.emf.sdk_2.3.1.v200709252135.jar" version="2.3.1.v200709252135">
- <category name="Models and Model Development"/>
- </feature>
- <feature id="org.eclipse.emf.ecore.sdo" patch="false" url="features/org.eclipse.emf.ecore.sdo_2.3.0.v200709252135.jar" version="2.3.0.v200709252135">
- <category name="Models and Model Development"/>
- </feature>
- <feature id="org.eclipse.emf.ecore.sdo.sdk" patch="false" url="features/org.eclipse.emf.ecore.sdo.sdk_2.3.0.v200709252135.jar" version="2.3.0.v200709252135">
- <category name="Models and Model Development"/>
- </feature>
- <feature id="org.eclipse.xsd" patch="false" url="features/org.eclipse.xsd_2.3.1.v200709252135.jar" version="2.3.1.v200709252135">
- <category name="Models and Model Development"/>
- </feature>
- <feature id="org.eclipse.xsd.sdk" patch="false" url="features/org.eclipse.xsd.sdk_2.3.1.v200709252135.jar" version="2.3.1.v200709252135">
- <category name="Models and Model Development"/>
- </feature>
-
- <feature id="org.eclipse.emf.common" patch="false" url="features/org.eclipse.emf.common_2.3.0.v200709252135.jar" version="2.3.0.v200709252135">
- <category name="Enabling Features"/>
- </feature>
- <feature id="org.eclipse.emf.common.ui" patch="false" url="features/org.eclipse.emf.common.ui_2.3.1.v200709252135.jar" version="2.3.1.v200709252135">
- <category name="Enabling Features"/>
- </feature>
- <feature id="org.eclipse.emf.ecore" patch="false" url="features/org.eclipse.emf.ecore_2.3.1.v200709252135.jar" version="2.3.1.v200709252135">
- <category name="Enabling Features"/>
- </feature>
- <feature id="org.eclipse.emf.ecore.edit" patch="false" url="features/org.eclipse.emf.ecore.edit_2.3.0.v200709252135.jar" version="2.3.0.v200709252135">
- <category name="Enabling Features"/>
- </feature>
- <feature id="org.eclipse.emf.edit" patch="false" url="features/org.eclipse.emf.edit_2.3.1.v200709252135.jar" version="2.3.1.v200709252135">
- <category name="Enabling Features"/>
- </feature>
- <feature id="org.eclipse.emf.edit.ui" patch="false" url="features/org.eclipse.emf.edit.ui_2.3.1.v200709252135.jar" version="2.3.1.v200709252135">
- <category name="Enabling Features"/>
- </feature>
- <feature id="org.eclipse.xsd.edit" patch="false" url="features/org.eclipse.xsd.edit_2.3.0.v200709252135.jar" version="2.3.0.v200709252135">
- <category name="Enabling Features"/>
- </feature>
-
- <feature id="org.eclipse.emf.emfqtv.all" patch="false" url="features/org.eclipse.emf.emfqtv.all_1.1.1.v200707252036-652_sIRHttoHhmdpTYReXV-2KEZZ.jar" version="1.1.1.v200707252036-652_sIRHttoHhmdpTYReXV-2KEZZ">
- <category name="Models and Model Development"/>
- </feature>
- <feature id="org.eclipse.emf.emfqtv.all.sdk" patch="false" url="features/org.eclipse.emf.emfqtv.all.sdk_1.1.1.v200707252036-7A7_3DjfUA5Xin8dz-9aGNVIHYlK.jar" version="1.1.1.v200707252036-7A7_3DjfUA5Xin8dz-9aGNVIHYlK">
- <category name="Models and Model Development"/>
- </feature>
- <feature id="org.eclipse.emf.query" patch="false" url="features/org.eclipse.emf.query_1.1.0.v200706071712-10-7w311817182823.jar" version="1.1.0.v200706071712-10-7w311817182823">
- <category name="Enabling Features"/>
- </feature>
- <feature id="org.eclipse.emf.query.ocl" patch="false" url="features/org.eclipse.emf.query.ocl_1.1.0.v200706071712-10-7w311817182823.jar" version="1.1.0.v200706071712-10-7w311817182823">
- <category name="Enabling Features"/>
- </feature>
- <feature id="org.eclipse.emf.validation" patch="false" url="features/org.eclipse.emf.validation_1.1.1.v200708161445-318Z9oA55P5O6O8IC_.jar" version="1.1.1.v200708161445-318Z9oA55P5O6O8IC_">
- <category name="Enabling Features"/>
- </feature>
- <feature id="org.eclipse.emf.validation.ocl" patch="false" url="features/org.eclipse.emf.validation.ocl_1.1.0.v200706071520-10-7w311817182631.jar" version="1.1.0.v200706071520-10-7w311817182631">
- <category name="Enabling Features"/>
- </feature>
- <feature id="org.eclipse.emf.transaction" patch="false" url="features/org.eclipse.emf.transaction_1.1.1.v200708231948-208Z8s733G3G5C5I9D.jar" version="1.1.1.v200708231948-208Z8s733G3G5C5I9D">
- <category name="Enabling Features"/>
- </feature>
- <feature id="org.eclipse.emf.workspace" patch="false" url="features/org.eclipse.emf.workspace_1.1.1.v200707252036-208Z8s733G3F5E6_8B.jar" version="1.1.1.v200707252036-208Z8s733G3F5E6_8B">
- <category name="Enabling Features"/>
- </feature>
-
- <feature id="org.eclipse.jet" patch="false" url="features/org.eclipse.jet_0.8.1.v20070913-17E19oA55P5V_8.jar" version="0.8.1.v20070913-17E19oA55P5V_8">
- <category name="Models and Model Development"/>
- </feature>
- <feature id="org.eclipse.jet.sdk" patch="false" url="features/org.eclipse.jet.sdk_0.8.1.v20070913-07U182TZ7cjWEGkBuJH.jar" version="0.8.1.v20070913-07U182TZ7cjWEGkBuJH">
- <category name="Models and Model Development"/>
- </feature>
-
- <feature id="org.eclipse.gmf.europa" patch="false" url="features/org.eclipse.gmf.europa_2.0.1.v20070809-0000-7X77__EIn-hz0YSfRy8HJNAMTFfk.jar" version="2.0.1.v20070809-0000-7X77__EIn-hz0YSfRy8HJNAMTFfk">
- <category name="Models and Model Development"/>
- </feature>
-
- <feature id="org.eclipse.eodm" patch="false" url="features/org.eclipse.eodm_0.9.1.v200710090302.jar" version="0.9.1.v200710090302">
- <category name="Models and Model Development"/>
- </feature>
- <feature id="org.eclipse.eodm.sdk" patch="false" url="features/org.eclipse.eodm.sdk_0.9.1.v200710090302.jar" version="0.9.1.v200710090302">
- <category name="Models and Model Development"/>
- </feature>
- <feature id="org.eclipse.ocl.all" patch="false" url="features/org.eclipse.ocl.all_1.1.1.v200707131415-3227_75ThLBBkBkFRGdQZ.jar" version="1.1.1.v200707131415-3227_75ThLBBkBkFRGdQZ">
- <category name="Models and Model Development"/>
- </feature>
- <feature id="org.eclipse.ocl.all.sdk" patch="false" url="features/org.eclipse.ocl.all.sdk_1.1.1.v200707131415-653_-JAYPRgmMdz-YXRDlgnKonBk.jar" version="1.1.1.v200707131415-653_-JAYPRgmMdz-YXRDlgnKonBk">
- <category name="Models and Model Development"/>
- </feature>
- <feature id="org.eclipse.ocl" patch="false" url="features/org.eclipse.ocl_1.1.1.v200707131415-3209oA55P5N7F8JDH.jar" version="1.1.1.v200707131415-3209oA55P5N7F8JDH">
- <category name="Enabling Features"/>
- </feature>
- <feature id="org.eclipse.ocl.uml" patch="false" url="features/org.eclipse.ocl.uml_1.1.1.v200707131415-1007w311818242526.jar" version="1.1.1.v200707131415-1007w311818242526">
- <category name="Enabling Features"/>
- </feature>
- <feature id="org.eclipse.emf.ocl" patch="false" url="features/org.eclipse.emf.ocl_1.1.1.v200709121956-1007w31181_232_67.jar" version="1.1.1.v200709121956-1007w31181_232_67">
- <category name="Enabling Features"/>
- </feature>
- <feature id="org.eclipse.uml2" patch="false" url="features/org.eclipse.uml2_2.1.1.v200708301222.jar" version="2.1.1.v200708301222">
- <category name="Models and Model Development"/>
- </feature>
- <feature id="org.eclipse.uml2.sdk" patch="false" url="features/org.eclipse.uml2.sdk_2.1.1.v200708301222.jar" version="2.1.1.v200708301222">
- <category name="Models and Model Development"/>
- </feature>
- <feature id="org.eclipse.uml2tools" patch="false" url="features/org.eclipse.uml2tools_0.7.1.v200710010534.jar" version="0.7.1.v200710010534">
- <category name="Models and Model Development"/>
- </feature>
- <feature id="org.eclipse.uml2tools.sdk" patch="false" url="features/org.eclipse.uml2tools.sdk_0.7.1.v200710010534.jar" version="0.7.1.v200710010534">
- <category name="Models and Model Development"/>
- </feature>
-
- <feature id="org.eclipse.tptp.birt" patch="false" url="features/org.eclipse.tptp.birt_4.4.1.v200706132116-7I7G_B-hthrMpLSZUYptCTz-cV-E.jar" version="4.4.1.v200706132116-7I7G_B-hthrMpLSZUYptCTz-cV-E">
- <category name="Testing and Performance"/>
- </feature>
- <feature id="org.eclipse.tptp.wtp" patch="false" url="features/org.eclipse.tptp.wtp_4.4.1.v200709261752-7748a-CIHlAZ8lIHAlCqJfJeRF.jar" version="4.4.1.v200709261752-7748a-CIHlAZ8lIHAlCqJfJeRF">
- <category name="Testing and Performance"/>
- </feature>
- <feature id="org.eclipse.tptp.monitoring.runtime" patch="false" url="features/org.eclipse.tptp.monitoring.runtime_4.4.1.v200706132116-7U7R_E-wavnIGH7KFhrm5z08Zs8T.jar" version="4.4.1.v200706132116-7U7R_E-wavnIGH7KFhrm5z08Zs8T">
- <category name="Testing and Performance"/>
- </feature>
- <feature id="org.eclipse.tptp.platform.runtime" patch="false" url="features/org.eclipse.tptp.platform.runtime_4.4.1.v200706132116-8I83EIX1JNK7dwt7tHntrj6xnH84.jar" version="4.4.1.v200706132116-8I83EIX1JNK7dwt7tHntrj6xnH84">
- <category name="Testing and Performance"/>
- </feature>
- <feature id="org.eclipse.tptp.test.runtime" patch="false" url="features/org.eclipse.tptp.test.runtime_4.3.101.v200709261752-7E7_Ak-QhKUAY67ta21mO89G_GXO.jar" version="4.3.101.v200709261752-7E7_Ak-QhKUAY67ta21mO89G_GXO">
- <category name="Testing and Performance"/>
- </feature>
- <feature id="org.eclipse.tptp.trace.runtime" patch="false" url="features/org.eclipse.tptp.trace.runtime_4.3.1.v200709261752-7E783-UUENBmM3RiQ4UxVz-eZD8.jar" version="4.3.1.v200709261752-7E783-UUENBmM3RiQ4UxVz-eZD8">
- <category name="Testing and Performance"/>
- </feature>
-
- <feature id="org.eclipse.wst.xml_ui.feature" url="features/org.eclipse.wst.xml_ui.feature_2.0.1.v200709110650-7A1ECGCnbckz0bnr5wCp8KNAjipR.jar" version="2.0.1.v200709110650-7A1ECGCnbckz0bnr5wCp8KNAjipR">
- <category name="Web and JEE Development"/>
- </feature>
- <feature id="org.eclipse.wst" patch="false" url="features/org.eclipse.wst_2.0.1.v200709110510-7C-778k0JWNr93WEIHvplSVojWel.jar" version="2.0.1.v200709110510-7C-778k0JWNr93WEIHvplSVojWel">
- <category name="Web and JEE Development"/>
- </feature>
- <feature id="org.eclipse.jst" patch="false" url="features/org.eclipse.jst_2.0.1.v200709110510-7B-68dDTNImaz0di_Tvks1JyDPVe.jar" version="2.0.1.v200709110510-7B-68dDTNImaz0di_Tvks1JyDPVe">
- <category name="Web and JEE Development"/>
- <category name="Java Development"/>
- </feature>
- <feature id="org.eclipse.jpt.feature" patch="false" url="features/org.eclipse.jpt.feature_1.0.1.v200709130000-77-5CYQCCz-D7LQCCCD.jar" version="1.0.1.v200709130000-77-5CYQCCz-D7LQCCCD">
- <category name="Web and JEE Development"/>
- <category name="Java Development"/>
- </feature>
-
- <feature id="org.eclipse.wst.common_ui.feature" url="features/org.eclipse.wst.common_ui.feature_2.0.1.v200709110622-7C5EH2E9RvTVnijrspVz0bgOmfz-.jar" version="2.0.1.v200709110622-7C5EH2E9RvTVnijrspVz0bgOmfz-">
- <category name="Enabling Features"/>
- </feature>
-
-
- <feature id="org.eclipse.gef" patch="false" url="features/org.eclipse.gef_3.3.1.v20070814.jar" version="3.3.1.v20070814">
- <category name="Graphical Editors and Frameworks"/>
- </feature>
-
- <feature id="org.eclipse.gef.sdk" patch="false" url="features/org.eclipse.gef.sdk_3.3.1.v20070814.jar" version="3.3.1.v20070814">
- <category name="Graphical Editors and Frameworks"/>
- </feature>
-
- <feature id="org.eclipse.datatools.connectivity.feature" patch="false" url="features/org.eclipse.datatools.connectivity.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
- <category name="Enabling Features"/>
- </feature>
- <feature id="org.eclipse.datatools.connectivity.oda.designer.feature" patch="false" url="features/org.eclipse.datatools.connectivity.oda.designer.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
- <category name="Enabling Features"/>
- </feature>
- <feature id="org.eclipse.datatools.connectivity.oda.feature" patch="false" url="features/org.eclipse.datatools.connectivity.oda.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
- <category name="Enabling Features"/>
- </feature>
- <feature id="org.eclipse.datatools.doc.user" patch="false" url="features/org.eclipse.datatools.doc.user_1.5.1.200710161.jar" version="1.5.1.200710161">
- <category name="Database Development"/>
- </feature>
- <feature id="org.eclipse.datatools.enablement.apache.derby.feature" patch="false" url="features/org.eclipse.datatools.enablement.apache.derby.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
- <category name="Enabling Features"/>
- </feature>
- <feature id="org.eclipse.datatools.enablement.feature" patch="false" url="features/org.eclipse.datatools.enablement.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
- <category name="Database Development"/>
- </feature>
- <feature id="org.eclipse.datatools.enablement.hsqldb.feature" patch="false" url="features/org.eclipse.datatools.enablement.hsqldb.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
- <category name="Enabling Features"/>
- </feature>
- <feature id="org.eclipse.datatools.enablement.ibm.feature" patch="false" url="features/org.eclipse.datatools.enablement.ibm.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
- <category name="Enabling Features"/>
- </feature>
- <feature id="org.eclipse.datatools.enablement.jdbc.feature" patch="false" url="features/org.eclipse.datatools.enablement.jdbc.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
- <category name="Enabling Features"/>
- </feature>
- <feature id="org.eclipse.datatools.enablement.jdt.feature" patch="false" url="features/org.eclipse.datatools.enablement.jdt.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
- <category name="Enabling Features"/>
- </feature>
- <feature id="org.eclipse.datatools.enablement.msft.feature" patch="false" url="features/org.eclipse.datatools.enablement.msft.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
- <category name="Enabling Features"/>
- </feature>
- <feature id="org.eclipse.datatools.enablement.mysql.feature" patch="false" url="features/org.eclipse.datatools.enablement.mysql.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
- <category name="Enabling Features"/>
- </feature>
- <feature id="org.eclipse.datatools.enablement.oda.designer.feature" patch="false" url="features/org.eclipse.datatools.enablement.oda.designer.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
- <category name="Enabling Features"/>
- </feature>
- <feature id="org.eclipse.datatools.enablement.oda.feature" patch="false" url="features/org.eclipse.datatools.enablement.oda.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
- <category name="Enabling Features"/>
- </feature>
- <feature id="org.eclipse.datatools.enablement.oracle.feature" patch="false" url="features/org.eclipse.datatools.enablement.oracle.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
- <category name="Enabling Features"/>
- </feature>
- <feature id="org.eclipse.datatools.enablement.postgresql.feature" patch="false" url="features/org.eclipse.datatools.enablement.postgresql.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
- <category name="Enabling Features"/>
- </feature>
- <feature id="org.eclipse.datatools.enablement.sybase.feature" patch="false" url="features/org.eclipse.datatools.enablement.sybase.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
- <category name="Enabling Features"/>
- </feature>
- <feature id="org.eclipse.datatools.intro" patch="false" url="features/org.eclipse.datatools.intro_1.5.1.200709261.jar" version="1.5.1.200709261">
- <category name="Database Development"/>
- </feature>
- <feature id="org.eclipse.datatools.modelbase.feature" patch="false" url="features/org.eclipse.datatools.modelbase.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
- <category name="Enabling Features"/>
- </feature>
- <feature id="org.eclipse.datatools.sdk.feature" patch="false" url="features/org.eclipse.datatools.sdk.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
- <category name="Database Development"/>
- </feature>
- <feature id="org.eclipse.datatools.sqldevtools.data.feature" patch="false" url="features/org.eclipse.datatools.sqldevtools.data.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
- <category name="Enabling Features"/>
- </feature>
- <feature id="org.eclipse.datatools.sqldevtools.ddl.feature" patch="false" url="features/org.eclipse.datatools.sqldevtools.ddl.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
- <category name="Enabling Features"/>
- </feature>
- <feature id="org.eclipse.datatools.sqldevtools.feature" patch="false" url="features/org.eclipse.datatools.sqldevtools.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
- <category name="Database Development"/>
- </feature>
- <feature id="org.eclipse.datatools.sqldevtools.parsers.feature" patch="false" url="features/org.eclipse.datatools.sqldevtools.parsers.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
- <category name="Enabling Features"/>
- </feature>
- <feature id="org.eclipse.datatools.sqldevtools.results.feature" patch="false" url="features/org.eclipse.datatools.sqldevtools.results.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
- <category name="Enabling Features"/>
- </feature>
-
- <feature id="org.eclipse.rse" patch="false" url="features/org.eclipse.rse_2.0.2.v20071030-7D-68mJIkR9WAviqV8z0U9vz-C.jar" version="2.0.2.v20071030-7D-68mJIkR9WAviqV8z0U9vz-C">
- <category name="Remote Access and Device Development"/>
- </feature>
- <feature id="org.eclipse.rse.sdk" patch="false" url="features/org.eclipse.rse.sdk_2.0.2.v20071030-7J-79E7ZoHPP5ZoeZ-oUe1z-wJnl.jar" version="2.0.2.v20071030-7J-79E7ZoHPP5ZoeZ-oUe1z-wJnl">
- <category name="Remote Access and Device Development"/>
- </feature>
- <feature id="org.eclipse.rse.remotecdt" patch="false" url="features/org.eclipse.rse.remotecdt_2.0.1.v20070926-4-18s733G3K5H.jar" version="2.0.1.v20070926-4-18s733G3K5H">
- <category name="Remote Access and Device Development"/>
- </feature>
- <feature id="org.eclipse.tm.terminal.sdk" patch="false" url="features/org.eclipse.tm.terminal.sdk_1.0.2.v20071030-7_-7CAvNKwNabWDLhQglhNDDmGSL.jar" version="1.0.2.v20071030-7_-7CAvNKwNabWDLhQglhNDDmGSL">
- <category name="Remote Access and Device Development"/>
- </feature>
- <feature id="org.eclipse.tm.discovery" patch="false" url="features/org.eclipse.tm.discovery_2.0.0.v20070611-7J--E8McIJNJCPr.jar" version="2.0.0.v20070611-7J--E8McIJNJCPr">
- <category name="Remote Access and Device Development"/>
- </feature>
-
- <feature id="org.eclipse.dd.dsf.sdk" patch="false" url="features/org.eclipse.dd.dsf.sdk_0.9.0.v20070615.jar" version="0.9.0.v20070615">
- <category name="Remote Access and Device Development"/>
- </feature>
- <feature id="org.eclipse.dd.dsf.gdb" patch="false" url="features/org.eclipse.dd.dsf.gdb_0.9.0.v20070615.jar" version="0.9.0.v20070615">
- <category name="Remote Access and Device Development"/>
- </feature>
- <feature id="org.eclipse.dd.debug.memory.renderings" patch="false" url="features/org.eclipse.dd.debug.memory.renderings_0.9.0.v20070615.jar" version="0.9.0.v20070615">
- <category name="Remote Access and Device Development"/>
- </feature>
- <feature id="org.eclipse.dd.ipxact" patch="false" url="features/org.eclipse.dd.ipxact_0.2.0.v20070615.jar" version="0.2.0.v20070615">
- <category name="Remote Access and Device Development"/>
- </feature>
-
- <feature id="org.eclipse.ecf.core" patch="false" url="features/org.eclipse.ecf.core_1.2.0.v20071019-1300.jar" version="1.2.0.v20071019-1300">
- <category name="Communications"/>
- </feature>
- <feature id="org.eclipse.ecf.examples" patch="false" url="features/org.eclipse.ecf.examples_1.2.0.v20071019-1300.jar" version="1.2.0.v20071019-1300">
- <category name="Communications"/>
- </feature>
-
- <feature id="org.eclipse.ajdt" patch="false" url="features/org.eclipse.ajdt_1.5.0.200706070619.jar" version="1.5.0.200706070619">
- <category name="Java Development"/>
- <category name="Programming Languages"/>
- </feature>
-
- <feature id="org.eclipse.dltk.core" patch="false" url="features/org.eclipse.dltk.core_0.9.1.r09_v20070920-08O2E8AWjpkOySy5VAPB.jar" version="0.9.1.r09_v20070920-08O2E8AWjpkOySy5VAPB">
- <category name="Enabling Features"/>
- </feature>
-
- <feature id="org.eclipse.dltk.ruby" patch="false" url="features/org.eclipse.dltk.ruby_0.9.1.r09_v20070920-07q2BMEkrz-IMCd7gEK.jar" version="0.9.1.r09_v20070920-07q2BMEkrz-IMCd7gEK">
- <category name="Programming Languages"/>
- </feature>
-
- <feature id="org.eclipse.dltk.tcl" patch="false" url="features/org.eclipse.dltk.tcl_0.9.1.r09_v20070920-07z1CQMUYXGgJt3K73.jar" version="0.9.1.r09_v20070920-07z1CQMUYXGgJt3K73">
- <category name="Programming Languages"/>
- </feature>
-
-
- <feature id="org.eclipse.buckminster.core.feature" url="features/org.eclipse.buckminster.core.feature_0.2.0.r3636.jar" version="0.2.0.r3636">
- <category name="Other Tools"/>
- </feature>
- <feature id="org.eclipse.buckminster.cvs.feature" url="features/org.eclipse.buckminster.cvs.feature_0.2.0.r3383.jar" version="0.2.0.r3383">
- <category name="Other Tools"/>
- </feature>
- <feature id="org.eclipse.buckminster.maven.feature" url="features/org.eclipse.buckminster.maven.feature_0.2.0.r3388.jar" version="0.2.0.r3388">
- <category name="Other Tools"/>
- </feature>
- <feature id="org.eclipse.buckminster.p4.feature" url="features/org.eclipse.buckminster.p4.feature_0.2.0.r3381.jar" version="0.2.0.r3381">
- <category name="Other Tools"/>
- </feature>
- <feature id="org.eclipse.buckminster.pde.feature" url="features/org.eclipse.buckminster.pde.feature_0.2.0.r3636.jar" version="0.2.0.r3636">
- <category name="Other Tools"/>
- </feature>
-
- <category-def label="Mylyn" name="Mylyn"/>
- <feature id="org.eclipse.mylyn_feature" url="features/org.eclipse.mylyn_feature_2.1.0.v20070927-0900.jar" version="2.1.0.v20070927-0900">
- <category name="Mylyn"/>
- </feature>
- <feature id="org.eclipse.mylyn.context_feature" url="features/org.eclipse.mylyn.context_feature_2.1.0.v20070927-0900.jar" version="2.1.0.v20070927-0900">
- <category name="Mylyn"/>
- </feature>
- <feature id="org.eclipse.mylyn.ide_feature" url="features/org.eclipse.mylyn.ide_feature_2.1.0.v20070927-0900.jar" version="2.1.0.v20070927-0900">
- <category name="Mylyn"/>
- </feature>
- <feature id="org.eclipse.mylyn.java_feature" url="features/org.eclipse.mylyn.java_feature_2.1.0.v20070927-0900.jar" version="2.1.0.v20070927-0900">
- <category name="Mylyn"/>
- </feature>
- <feature id="org.eclipse.mylyn.pde_feature" url="features/org.eclipse.mylyn.pde_feature_2.1.0.v20070927-0900.jar" version="2.1.0.v20070927-0900">
- <category name="Mylyn"/>
- </feature>
- <feature id="org.eclipse.mylyn.bugzilla_feature" url="features/org.eclipse.mylyn.bugzilla_feature_2.1.0.v20070927-0900.jar" version="2.1.0.v20070927-0900">
- <category name="Mylyn"/>
- </feature>
- <feature id="org.eclipse.mylyn.trac_feature" url="features/org.eclipse.mylyn.trac_feature_2.1.0.v20070927-0900.jar" version="2.1.0.v20070927-0900">
- <category name="Mylyn"/>
- </feature>
-
- <!-- SOA Tools -->
- <feature id="org.eclipse.stp.b2j.feature" url="features/org.eclipse.stp.b2j.feature_0.7.0.200710161054-07C-7733G535E53CA.jar" version="0.7.0.200710161054-07C-7733G535E53CA">
- <category name="SOA Development"/>
- </feature>
-
- <feature id="org.eclipse.stp.bpmn.feature" url="features/org.eclipse.stp.bpmn.feature_0.7.0.200710161054-07Q-7E77YA7AUA7QM.jar" version="0.7.0.200710161054-07Q-7E77YA7AUA7QM">
- <category name="SOA Development"/>
- </feature>
-
- <feature id="org.eclipse.stp.core.feature" url="features/org.eclipse.stp.core.feature_0.7.0.200710161054-07Q-7E77YA7AUA7QM.jar" version="0.7.0.200710161054-07Q-7E77YA7AUA7QM">
- <category name="SOA Development"/>
- </feature>
-
- <feature id="org.eclipse.stp.servicecreation" url="features/org.eclipse.stp.servicecreation_0.7.0.200710161054-07l-7MAAqGAGkGAeY.jar" version="0.7.0.200710161054-07l-7MAAqGAGkGAeY">
- <category name="SOA Development"/>
- </feature>
-
- <feature id="org.eclipse.stp.sc.jaxws.feature" url="features/org.eclipse.stp.sc.jaxws.feature_0.7.0.200710161054-07J-7A55P858M85JG.jar" version="0.7.0.200710161054-07J-7A55P858M85JG">
- <category name="SOA Development"/>
- </feature>
-
- <feature id="org.eclipse.stp.sc.sca.feature" url="features/org.eclipse.stp.sc.sca.feature_0.7.0.200710161054-07J-7A55P858M85JG.jar" version="0.7.0.200710161054-07J-7A55P858M85JG">
- <category name="SOA Development"/>
- </feature>
-
- <feature id="org.eclipse.stp.soas.feature" url="features/org.eclipse.stp.soas.feature_0.7.0.200710161054-07e-7MAAqGAGkGAeY.jar" version="0.7.0.200710161054-07e-7MAAqGAGkGAeY">
- <category name="SOA Development"/>
- </feature>
-
- <feature id="org.eclipse.stp.soas.runtime.feature" url="features/org.eclipse.stp.soas.runtime.feature_0.7.0.200710161054-07J-7A55P858M85JG.jar" version="0.7.0.200710161054-07J-7A55P858M85JG">
- <category name="SOA Development"/>
- </feature>
-</site>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs.source_1.0.0.v20070606-7C79_79EI99g_Y9e/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs.source_1.0.0.v20070606-7C79_79EI99g_Y9e/META-INF/MANIFEST.MF
deleted file mode 100644
index 1656b60..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs.source_1.0.0.v20070606-7C79_79EI99g_Y9e/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Created-By: 1.4.2 (IBM Corporation)
-Ant-Version: Apache Ant 1.7.0
-
-Name: feature.xml
-SHA1-Digest: jNfTwAoM/D29dXQF2y5jNhnCRnc=
-
-Name: feature.properties
-SHA1-Digest: AeJcMJTpQBNlc00T8CYlF7/2Gl4=
-
-Name: license.html
-SHA1-Digest: YXfaVLayE8gaE0VWfKzUHsp6IyM=
-
-Name: META-INF/eclipse.inf
-SHA1-Digest: KyT9FF7C7t86NoBoa2kZT3ZJBfw=
-
-Name: eclipse_update_120.jpg
-SHA1-Digest: xstAqMgs/a5AsQXQZSdDQ79veOA=
-
-Name: epl-v10.html
-SHA1-Digest: pTOyybcpEe+Y8lkSVUtarMleXqE=
-
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs.source_1.0.0.v20070606-7C79_79EI99g_Y9e/feature.properties b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs.source_1.0.0.v20070606-7C79_79EI99g_Y9e/feature.properties
deleted file mode 100644
index 9159541..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs.source_1.0.0.v20070606-7C79_79EI99g_Y9e/feature.properties
+++ /dev/null
@@ -1,144 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse CVS Client Resources
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Project Updates
-
-# "description" property - description of the feature
-description=API documentation and source code zips for Eclipse CVS client.
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2000, 2007 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
- IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
- - Content may be structured and packaged into modules to facilitate delivering,\n\
- extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
- plug-in fragments ("Fragments"), and features ("Features").\n\
- - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
- in a directory named "plugins".\n\
- - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
- Each Feature may be packaged as a sub-directory in a directory named "features".\n\
- Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
- numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
- - Features may also include other Features ("Included Features"). Within a Feature, files\n\
- named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
- - The top-level (root) directory\n\
- - Plug-in and Fragment directories\n\
- - Inside Plug-ins and Fragments packaged as JARs\n\
- - Sub-directories of the directory named "src" of certain Plug-ins\n\
- - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
- - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
- - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
- - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
- - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
- - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
- - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs.source_1.0.0.v20070606-7C79_79EI99g_Y9e/feature.xml b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs.source_1.0.0.v20070606-7C79_79EI99g_Y9e/feature.xml
deleted file mode 100644
index b9937fe..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs.source_1.0.0.v20070606-7C79_79EI99g_Y9e/feature.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature primary="false" provider-name="%providerName" label="%featureName" id="org.eclipse.cvs.source" version="1.0.0.v20070606-7C79_79EI99g_Y9e">
- <description >
- %description
- </description>
- <license url="%licenseURL">
- %license
- </license>
- <url>
- <update label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
- <discovery label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
- </url>
- <plugin fragment="false" download-size="0" install-size="0" id="org.eclipse.cvs.source" version="1.0.0.v20070606-7C79_79EI99g_Y9e"/>
-</feature>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs_1.0.0.v20070606-7C79_79EI99g_Y9e/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs_1.0.0.v20070606-7C79_79EI99g_Y9e/META-INF/MANIFEST.MF
deleted file mode 100644
index c192bdf..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs_1.0.0.v20070606-7C79_79EI99g_Y9e/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Created-By: 1.4.2 (IBM Corporation)
-Ant-Version: Apache Ant 1.7.0
-
-Name: feature.xml
-SHA1-Digest: HacQ9t3v2nLMCisoGsHFULdyjDg=
-
-Name: feature.properties
-SHA1-Digest: CfVxgAGMGJAnX3DvtIsAPqWtiM4=
-
-Name: license.html
-SHA1-Digest: YXfaVLayE8gaE0VWfKzUHsp6IyM=
-
-Name: META-INF/eclipse.inf
-SHA1-Digest: KyT9FF7C7t86NoBoa2kZT3ZJBfw=
-
-Name: eclipse_update_120.jpg
-SHA1-Digest: xstAqMgs/a5AsQXQZSdDQ79veOA=
-
-Name: epl-v10.html
-SHA1-Digest: pTOyybcpEe+Y8lkSVUtarMleXqE=
-
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs_1.0.0.v20070606-7C79_79EI99g_Y9e/feature.properties b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs_1.0.0.v20070606-7C79_79EI99g_Y9e/feature.properties
deleted file mode 100644
index f1c380c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs_1.0.0.v20070606-7C79_79EI99g_Y9e/feature.properties
+++ /dev/null
@@ -1,148 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse CVS Client
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Project Updates
-
-# "secondarySiteName" property - label for the update site
-secondaryUpdateSiteName=Europa Discovery Site
-
-
-# "description" property - description of the feature
-description=Eclipse CVS Client. (Binary runtime and user documentation.)
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2000, 2007 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
- IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
- - Content may be structured and packaged into modules to facilitate delivering,\n\
- extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
- plug-in fragments ("Fragments"), and features ("Features").\n\
- - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
- in a directory named "plugins".\n\
- - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
- Each Feature may be packaged as a sub-directory in a directory named "features".\n\
- Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
- numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
- - Features may also include other Features ("Included Features"). Within a Feature, files\n\
- named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
- - The top-level (root) directory\n\
- - Plug-in and Fragment directories\n\
- - Inside Plug-ins and Fragments packaged as JARs\n\
- - Sub-directories of the directory named "src" of certain Plug-ins\n\
- - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
- - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
- - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
- - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
- - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
- - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
- - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs_1.0.0.v20070606-7C79_79EI99g_Y9e/feature.xml b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs_1.0.0.v20070606-7C79_79EI99g_Y9e/feature.xml
deleted file mode 100644
index d7c4aa4..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs_1.0.0.v20070606-7C79_79EI99g_Y9e/feature.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
- id="org.eclipse.cvs"
- label="%featureName"
- version="1.0.0.v20070606-7C79_79EI99g_Y9e"
- provider-name="%providerName">
-
- <description>
- %description
- </description>
-
- <license url="%licenseURL">
- %license
- </license>
-
- <url>
- <update label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
- <discovery label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
- </url>
-
- <requires>
- <import feature="org.eclipse.platform" version="3.3.0" match="compatible"/>
- </requires>
-
-<plugin
- id="org.eclipse.cvs"
- download-size="0"
- install-size="0"
- version="1.0.0.v20070606"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.team.cvs.core"
- download-size="0"
- install-size="0"
- version="3.3.0.I20070607"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.team.cvs.ssh"
- download-size="0"
- install-size="0"
- version="3.2.100.I20061208"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.team.cvs.ssh2"
- download-size="0"
- install-size="0"
- version="3.2.100.I20070604"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.team.cvs.ui"
- download-size="0"
- install-size="0"
- version="3.3.0.I20070607"
- unpack="false"/>
-
-</feature>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt.source_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt.source_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/META-INF/MANIFEST.MF
deleted file mode 100644
index bc6d67c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt.source_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Created-By: 1.4.2 (IBM Corporation)
-Ant-Version: Apache Ant 1.7.0
-
-Name: feature.xml
-SHA1-Digest: AXF/1J+iSme4RKHA38MoEv+kqRQ=
-
-Name: feature.properties
-SHA1-Digest: yG0wfR7PWf4zKrRioc1dIsXY92U=
-
-Name: license.html
-SHA1-Digest: YXfaVLayE8gaE0VWfKzUHsp6IyM=
-
-Name: META-INF/eclipse.inf
-SHA1-Digest: KyT9FF7C7t86NoBoa2kZT3ZJBfw=
-
-Name: eclipse_update_120.jpg
-SHA1-Digest: xstAqMgs/a5AsQXQZSdDQ79veOA=
-
-Name: epl-v10.html
-SHA1-Digest: pTOyybcpEe+Y8lkSVUtarMleXqE=
-
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt.source_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/feature.properties b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt.source_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/feature.properties
deleted file mode 100644
index db9de92..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt.source_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/feature.properties
+++ /dev/null
@@ -1,144 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse JDT Plug-in Developer Resources
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Project Updates
-
-# "description" property - description of the feature
-description=API documentation and source code zips for Eclipse Java development tools.
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2000, 2007 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
- IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
- - Content may be structured and packaged into modules to facilitate delivering,\n\
- extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
- plug-in fragments ("Fragments"), and features ("Features").\n\
- - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
- in a directory named "plugins".\n\
- - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
- Each Feature may be packaged as a sub-directory in a directory named "features".\n\
- Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
- numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
- - Features may also include other Features ("Included Features"). Within a Feature, files\n\
- named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
- - The top-level (root) directory\n\
- - Plug-in and Fragment directories\n\
- - Inside Plug-ins and Fragments packaged as JARs\n\
- - Sub-directories of the directory named "src" of certain Plug-ins\n\
- - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
- - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
- - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
- - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
- - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
- - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
- - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt.source_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/feature.xml b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt.source_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/feature.xml
deleted file mode 100644
index a7222d2..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt.source_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/feature.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature primary="false" provider-name="%providerName" label="%featureName" image="eclipse_update_120.jpg" id="org.eclipse.jdt.source" version="3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR">
- <description >
- %description
- </description>
- <license url="%licenseURL">
- %license
- </license>
- <url>
- <update label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
- <discovery label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
- </url>
- <plugin fragment="false" unpack="false" download-size="0" install-size="0" id="org.eclipse.jdt.doc.isv" version="3.3.0.v20070613"/>
- <plugin fragment="false" download-size="0" install-size="0" id="org.junit.source" version="3.8.2.v200706111738"/>
- <plugin fragment="false" download-size="0" install-size="0" id="org.eclipse.jdt.source" version="3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR"/>
- <plugin ws="carbon" os="macosx" fragment="true" arch="ppc" download-size="0" install-size="0" id="org.eclipse.jdt.source.macosx.carbon.ppc" version="3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR"/>
-</feature>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/META-INF/MANIFEST.MF
deleted file mode 100644
index e59d2c7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Created-By: 1.4.2 (IBM Corporation)
-Ant-Version: Apache Ant 1.7.0
-
-Name: feature.xml
-SHA1-Digest: nXlHWli0KZJRZizcYFLHWw/+jeA=
-
-Name: feature.properties
-SHA1-Digest: MdMRGhhyadZIpIZkxilXSqzI98w=
-
-Name: license.html
-SHA1-Digest: YXfaVLayE8gaE0VWfKzUHsp6IyM=
-
-Name: META-INF/eclipse.inf
-SHA1-Digest: KyT9FF7C7t86NoBoa2kZT3ZJBfw=
-
-Name: eclipse_update_120.jpg
-SHA1-Digest: xstAqMgs/a5AsQXQZSdDQ79veOA=
-
-Name: epl-v10.html
-SHA1-Digest: pTOyybcpEe+Y8lkSVUtarMleXqE=
-
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/feature.properties b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/feature.properties
deleted file mode 100644
index 53f4366..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/feature.properties
+++ /dev/null
@@ -1,144 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse Java Development Tools
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Project Updates
-
-# "description" property - description of the feature
-description=Eclipse Java development tools. (Binary runtime and user documentation.)
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2000, 2007 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
- IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
- - Content may be structured and packaged into modules to facilitate delivering,\n\
- extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
- plug-in fragments ("Fragments"), and features ("Features").\n\
- - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
- in a directory named "plugins".\n\
- - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
- Each Feature may be packaged as a sub-directory in a directory named "features".\n\
- Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
- numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
- - Features may also include other Features ("Included Features"). Within a Feature, files\n\
- named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
- - The top-level (root) directory\n\
- - Plug-in and Fragment directories\n\
- - Inside Plug-ins and Fragments packaged as JARs\n\
- - Sub-directories of the directory named "src" of certain Plug-ins\n\
- - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
- - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
- - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
- - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
- - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
- - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
- - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/feature.xml b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/feature.xml
deleted file mode 100644
index a49d23b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/feature.xml
+++ /dev/null
@@ -1,167 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
- id="org.eclipse.jdt"
- label="%featureName"
- version="3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR"
- provider-name="%providerName"
- image="eclipse_update_120.jpg">
-
- <description>
- %description
- </description>
-
- <license url="%licenseURL">
- %license
- </license>
-
- <url>
- <update label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
- <discovery label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
- </url>
-
- <requires>
- <import feature="org.eclipse.platform" version="3.3.0" match="compatible"/>
- </requires>
-
- <plugin
- id="org.eclipse.jdt"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070607-1300"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ant.ui"
- download-size="0"
- install-size="0"
- version="3.2.100.v20070511"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.jdt.apt.core"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070607-1200"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.jdt.apt.ui"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070430-1135"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.jdt.apt.pluggable.core"
- download-size="0"
- install-size="0"
- version="1.0.0.v20070529-2100"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.jdt.compiler.apt"
- download-size="0"
- install-size="0"
- version="1.0.0.v20070510-2000"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.jdt.compiler.tool"
- download-size="0"
- install-size="0"
- version="1.0.0.v_771"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.jdt.core"
- download-size="0"
- install-size="0"
- version="3.3.0.v_771"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.jdt.core.manipulation"
- download-size="0"
- install-size="0"
- version="1.1.0.v20070606-0010"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.jdt.debug.ui"
- download-size="0"
- install-size="0"
- version="3.2.100.v20070531-1800"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.jdt.debug"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070530a"/>
-
- <plugin
- id="org.eclipse.jdt.junit"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070606-0010"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.jdt.junit.runtime"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070606-0010"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.jdt.junit4.runtime"
- download-size="0"
- install-size="0"
- version="1.0.100.v20070606-0010"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.jdt.launching"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070510"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.jdt.ui"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070607-0010"
- unpack="false"/>
-
- <plugin
- id="org.junit"
- download-size="0"
- install-size="0"
- version="3.8.2.v200706111738"/>
-
- <plugin
- id="org.junit4"
- download-size="0"
- install-size="0"
- version="4.3.1"/>
-
- <plugin
- id="org.eclipse.jdt.doc.user"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070608-1300"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.jdt.launching.macosx"
- os="macosx"
- ws="carbon"
- download-size="0"
- install-size="0"
- version="3.1.100.v20061211"
- unpack="false"/>
-
-</feature>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde.source_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde.source_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/META-INF/MANIFEST.MF
deleted file mode 100644
index 6ec5143..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde.source_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Created-By: 1.4.2 (IBM Corporation)
-Ant-Version: Apache Ant 1.7.0
-
-Name: feature.xml
-SHA1-Digest: 3KKAoILB34QVFP8/VfC1N1OmGC8=
-
-Name: feature.properties
-SHA1-Digest: H9A6CtSbU7bFLlFgIF54D20Yj0I=
-
-Name: license.html
-SHA1-Digest: YXfaVLayE8gaE0VWfKzUHsp6IyM=
-
-Name: META-INF/eclipse.inf
-SHA1-Digest: KyT9FF7C7t86NoBoa2kZT3ZJBfw=
-
-Name: eclipse_update_120.jpg
-SHA1-Digest: IydL3lnQQQF8OVmO7CZ6uea8T0k=
-
-Name: epl-v10.html
-SHA1-Digest: pTOyybcpEe+Y8lkSVUtarMleXqE=
-
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde.source_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/feature.properties b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde.source_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/feature.properties
deleted file mode 100644
index 89826a8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde.source_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/feature.properties
+++ /dev/null
@@ -1,144 +0,0 @@
-###############################################################################
-# Copyright (c) 2004, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse PDE Plug-in Developer Resources
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Project Updates
-
-# "description" property - description of the feature
-description=Eclipse plug-in development environment, including documentation and source code zips.
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2000, 2007 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
- IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
- - Content may be structured and packaged into modules to facilitate delivering,\n\
- extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
- plug-in fragments ("Fragments"), and features ("Features").\n\
- - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
- in a directory named "plugins".\n\
- - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
- Each Feature may be packaged as a sub-directory in a directory named "features".\n\
- Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
- numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
- - Features may also include other Features ("Included Features"). Within a Feature, files\n\
- named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
- - The top-level (root) directory\n\
- - Plug-in and Fragment directories\n\
- - Inside Plug-ins and Fragments packaged as JARs\n\
- - Sub-directories of the directory named "src" of certain Plug-ins\n\
- - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
- - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
- - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
- - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
- - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
- - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
- - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde.source_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/feature.xml b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde.source_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/feature.xml
deleted file mode 100644
index f1fd323..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde.source_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/feature.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature primary="false" provider-name="%providerName" label="%featureName" image="eclipse_update_120.jpg" id="org.eclipse.pde.source" version="3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC">
- <description >
- %description
- </description>
- <copyright >
- %copyright
- </copyright>
- <license url="%licenseURL">
- %license
- </license>
- <url>
- <update label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
- <discovery label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
- </url>
- <plugin fragment="false" download-size="0" install-size="0" id="org.eclipse.pde.source" version="3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC"/>
-</feature>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/META-INF/MANIFEST.MF
deleted file mode 100644
index 7c6de8d..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Created-By: 1.4.2 (IBM Corporation)
-Ant-Version: Apache Ant 1.7.0
-
-Name: feature.xml
-SHA1-Digest: gdScGRP5X6iOSj5R7T4jyW4qINc=
-
-Name: feature.properties
-SHA1-Digest: WDvaOoc0vATm/ntJgm3qdUUzvm0=
-
-Name: license.html
-SHA1-Digest: YXfaVLayE8gaE0VWfKzUHsp6IyM=
-
-Name: META-INF/eclipse.inf
-SHA1-Digest: KyT9FF7C7t86NoBoa2kZT3ZJBfw=
-
-Name: eclipse_update_120.jpg
-SHA1-Digest: xstAqMgs/a5AsQXQZSdDQ79veOA=
-
-Name: epl-v10.html
-SHA1-Digest: pTOyybcpEe+Y8lkSVUtarMleXqE=
-
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/feature.properties b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/feature.properties
deleted file mode 100644
index 62b4565..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/feature.properties
+++ /dev/null
@@ -1,144 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse Plug-in Development Environment
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Project Updates
-
-# "description" property - description of the feature
-description=Eclipse plug-in development environment.
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2000, 2007 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
- IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
- - Content may be structured and packaged into modules to facilitate delivering,\n\
- extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
- plug-in fragments ("Fragments"), and features ("Features").\n\
- - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
- in a directory named "plugins".\n\
- - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
- Each Feature may be packaged as a sub-directory in a directory named "features".\n\
- Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
- numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
- - Features may also include other Features ("Included Features"). Within a Feature, files\n\
- named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
- - The top-level (root) directory\n\
- - Plug-in and Fragment directories\n\
- - Inside Plug-ins and Fragments packaged as JARs\n\
- - Sub-directories of the directory named "src" of certain Plug-ins\n\
- - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
- - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
- - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
- - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
- - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
- - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
- - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/feature.xml b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/feature.xml
deleted file mode 100644
index f629090..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/feature.xml
+++ /dev/null
@@ -1,86 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
- id="org.eclipse.pde"
- label="%featureName"
- version="3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC"
- provider-name="%providerName"
- image="eclipse_update_120.jpg">
-
- <description>
- %description
- </description>
-
- <copyright>
- %copyright
- </copyright>
-
- <license url="%licenseURL">
- %license
- </license>
-
- <url>
- <update label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
- <discovery label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
- </url>
-
- <requires>
- <import feature="org.eclipse.jdt" version="3.0.0" match="compatible"/>
- <import feature="org.eclipse.platform" version="3.0.0" match="compatible"/>
- </requires>
-
- <plugin
- id="org.eclipse.pde"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070608-1300"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.pde.build"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070612"/>
-
- <plugin
- id="org.eclipse.pde.core"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070608-1300"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.pde.junit.runtime"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070608-1300"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.pde.runtime"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070608-1300"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.pde.ui"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070608-1300"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.pde.doc.user"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070614-0800"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.pde.ui.templates"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070608-1300"
- unpack="false"/>
-
-</feature>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform.source_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform.source_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/META-INF/MANIFEST.MF
deleted file mode 100644
index 47dc2e6..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform.source_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Created-By: 1.4.2 (IBM Corporation)
-Ant-Version: Apache Ant 1.7.0
-
-Name: feature.xml
-SHA1-Digest: C31+vKjmfB39AnTSeXsBXJrQ3e4=
-
-Name: feature.properties
-SHA1-Digest: u/t85joISmy0pWpWcJquHr9VsyU=
-
-Name: license.html
-SHA1-Digest: YXfaVLayE8gaE0VWfKzUHsp6IyM=
-
-Name: META-INF/eclipse.inf
-SHA1-Digest: KyT9FF7C7t86NoBoa2kZT3ZJBfw=
-
-Name: eclipse_update_120.jpg
-SHA1-Digest: xstAqMgs/a5AsQXQZSdDQ79veOA=
-
-Name: epl-v10.html
-SHA1-Digest: pTOyybcpEe+Y8lkSVUtarMleXqE=
-
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform.source_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/feature.properties b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform.source_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/feature.properties
deleted file mode 100644
index 210ebe9..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform.source_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/feature.properties
+++ /dev/null
@@ -1,144 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse Platform Plug-in Developer Resources
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Project Updates
-
-# "description" property - description of the feature
-description=Common OS-independent API documentation and source code zips for the Eclipse Platform.
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2000, 2007 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
- IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
- - Content may be structured and packaged into modules to facilitate delivering,\n\
- extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
- plug-in fragments ("Fragments"), and features ("Features").\n\
- - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
- in a directory named "plugins".\n\
- - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
- Each Feature may be packaged as a sub-directory in a directory named "features".\n\
- Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
- numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
- - Features may also include other Features ("Included Features"). Within a Feature, files\n\
- named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
- - The top-level (root) directory\n\
- - Plug-in and Fragment directories\n\
- - Inside Plug-ins and Fragments packaged as JARs\n\
- - Sub-directories of the directory named "src" of certain Plug-ins\n\
- - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
- - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
- - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
- - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
- - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
- - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
- - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform.source_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/feature.xml b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform.source_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/feature.xml
deleted file mode 100644
index b9cb4db..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform.source_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/feature.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature primary="false" provider-name="%providerName" label="%featureName" image="eclipse_update_120.jpg" id="org.eclipse.platform.source" version="3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G">
- <description >
- %description
- </description>
- <copyright >
- %copyright
- </copyright>
- <license url="%licenseURL">
- %license
- </license>
- <url>
- <update label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
- <discovery label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
- <discovery label="%secondaryUpdateSiteName" url="http://download.eclipse.org/releases/europa"/>
- </url>
- <includes id="org.eclipse.rcp.source" version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG"/>
- <plugin fragment="false" unpack="false" download-size="0" install-size="0" id="org.eclipse.platform.doc.isv" version="3.3.0.v20070621"/>
- <plugin fragment="false" download-size="0" install-size="0" id="javax.servlet.source" version="2.4.0.v200706111738"/>
- <plugin fragment="false" download-size="0" install-size="0" id="javax.servlet.jsp.source" version="2.0.0.v200706191603"/>
- <plugin fragment="false" download-size="0" install-size="0" id="org.apache.jasper.source" version="5.5.17.v200706111724"/>
- <plugin fragment="false" download-size="0" install-size="0" id="org.apache.commons.el.source" version="1.0.0.v200706111724"/>
- <plugin fragment="false" download-size="0" install-size="0" id="org.apache.commons.logging.source" version="1.0.4.v200706111724"/>
- <plugin fragment="false" download-size="0" install-size="0" id="org.apache.ant.source" version="1.7.0.v200706080842"/>
- <plugin fragment="false" download-size="0" install-size="0" id="org.apache.lucene.source" version="1.9.1.v200706111724"/>
- <plugin fragment="false" download-size="0" install-size="0" id="org.apache.lucene.analysis.source" version="1.9.1.v200706181610"/>
- <plugin fragment="false" download-size="0" install-size="0" id="org.mortbay.jetty.source" version="5.1.11.v200706111724"/>
- <plugin fragment="false" download-size="0" install-size="0" id="org.eclipse.platform.source" version="3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G"/>
- <plugin ws="motif" os="hpux" fragment="true" arch="ia64_32" download-size="0" install-size="0" id="org.eclipse.platform.source.hpux.motif.ia64_32" version="3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G"/>
- <plugin ws="gtk" os="linux" fragment="true" arch="ia64" download-size="0" install-size="0" id="org.eclipse.platform.source.linux.gtk.ia64" version="3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G"/>
- <plugin ws="photon" os="qnx" fragment="true" arch="x86" download-size="0" install-size="0" id="org.eclipse.platform.source.qnx.photon.x86" version="3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G"/>
- <plugin ws="gtk" os="linux" fragment="true" arch="ppc" download-size="0" install-size="0" id="org.eclipse.platform.source.linux.gtk.ppc" version="3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G"/>
- <plugin ws="motif" os="hpux" fragment="true" arch="PA_RISC" download-size="0" install-size="0" id="org.eclipse.platform.source.hpux.motif.PA_RISC" version="3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G"/>
- <plugin ws="wpf" os="win32" fragment="true" arch="x86" download-size="0" install-size="0" id="org.eclipse.platform.source.win32.wpf.x86" version="3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G"/>
- <plugin ws="gtk" os="linux" fragment="true" arch="x86_64" download-size="0" install-size="0" id="org.eclipse.platform.source.linux.gtk.x86_64" version="3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G"/>
- <plugin ws="gtk" os="linux" fragment="true" arch="ppc64" download-size="0" install-size="0" id="org.eclipse.platform.source.linux.gtk.ppc64" version="3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G"/>
- <plugin ws="gtk" os="solaris" fragment="true" arch="sparc" download-size="0" install-size="0" id="org.eclipse.platform.source.solaris.gtk.sparc" version="3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G"/>
- <plugin ws="carbon" os="macosx" fragment="true" arch="ppc" download-size="0" install-size="0" id="org.eclipse.platform.source.macosx.carbon.ppc" version="3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G"/>
- <plugin ws="gtk" os="linux" fragment="true" arch="x86" download-size="0" install-size="0" id="org.eclipse.platform.source.linux.gtk.x86" version="3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G"/>
- <plugin ws="win32" os="win32" fragment="true" arch="x86" download-size="0" install-size="0" id="org.eclipse.platform.source.win32.win32.x86" version="3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G"/>
- <plugin ws="motif" os="solaris" fragment="true" arch="sparc" download-size="0" install-size="0" id="org.eclipse.platform.source.solaris.motif.sparc" version="3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G"/>
- <plugin ws="win32" os="wce_ppc" fragment="true" arch="arm" download-size="0" install-size="0" id="org.eclipse.platform.source.wce_ppc.win32.arm" version="3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G"/>
- <plugin ws="motif" os="linux" fragment="true" arch="x86" download-size="0" install-size="0" id="org.eclipse.platform.source.linux.motif.x86" version="3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G"/>
-</feature>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/META-INF/MANIFEST.MF
deleted file mode 100644
index 1d895af..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Created-By: 1.4.2 (IBM Corporation)
-Ant-Version: Apache Ant 1.7.0
-
-Name: feature.xml
-SHA1-Digest: bLMaytG2itbdKJsTtWtK+WGhl0Y=
-
-Name: feature.properties
-SHA1-Digest: kEWi4G+dRRHUR8dqFbGh93hzlxo=
-
-Name: license.html
-SHA1-Digest: YXfaVLayE8gaE0VWfKzUHsp6IyM=
-
-Name: META-INF/eclipse.inf
-SHA1-Digest: KyT9FF7C7t86NoBoa2kZT3ZJBfw=
-
-Name: eclipse_update_120.jpg
-SHA1-Digest: xstAqMgs/a5AsQXQZSdDQ79veOA=
-
-Name: epl-v10.html
-SHA1-Digest: pTOyybcpEe+Y8lkSVUtarMleXqE=
-
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/feature.properties b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/feature.properties
deleted file mode 100644
index 5ebf403..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/feature.properties
+++ /dev/null
@@ -1,148 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse Platform
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Project Updates
-
-# "secondarySiteName" property - label for the update site
-secondaryUpdateSiteName=Europa Discovery Site
-
-
-# "description" property - description of the feature
-description=Common OS-independent base of the Eclipse platform. (Binary runtime and user documentation.)
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2000, 2007 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
- IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
- - Content may be structured and packaged into modules to facilitate delivering,\n\
- extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
- plug-in fragments ("Fragments"), and features ("Features").\n\
- - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
- in a directory named "plugins".\n\
- - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
- Each Feature may be packaged as a sub-directory in a directory named "features".\n\
- Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
- numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
- - Features may also include other Features ("Included Features"). Within a Feature, files\n\
- named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
- - The top-level (root) directory\n\
- - Plug-in and Fragment directories\n\
- - Inside Plug-ins and Fragments packaged as JARs\n\
- - Sub-directories of the directory named "src" of certain Plug-ins\n\
- - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
- - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
- - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
- - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
- - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
- - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
- - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/feature.xml b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/feature.xml
deleted file mode 100644
index e4974b8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/feature.xml
+++ /dev/null
@@ -1,623 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
- id="org.eclipse.platform"
- label="%featureName"
- version="3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G"
- provider-name="%providerName"
- image="eclipse_update_120.jpg">
-
- <description>
- %description
- </description>
-
- <copyright>
- %copyright
- </copyright>
-
- <license url="%licenseURL">
- %license
- </license>
-
- <url>
- <update label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
- <discovery label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
- <discovery label="%secondaryUpdateSiteName" url="http://download.eclipse.org/releases/europa"/>
- </url>
-
- <plugin
- id="com.jcraft.jsch"
- download-size="0"
- install-size="0"
- version="0.1.31"
- unpack="false"/>
-
- <includes
- id="org.eclipse.rcp"
- version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG"/>
-
- <plugin
- id="javax.servlet"
- download-size="0"
- install-size="0"
- version="2.4.0.v200706111738"
- unpack="false"/>
-
- <plugin
- id="javax.servlet.jsp"
- download-size="0"
- install-size="0"
- version="2.0.0.v200706191603"
- unpack="false"/>
-
- <plugin
- id="org.apache.jasper"
- download-size="0"
- install-size="0"
- version="5.5.17.v200706111724"
- unpack="false"/>
-
- <plugin
- id="org.apache.commons.el"
- download-size="0"
- install-size="0"
- version="1.0.0.v200706111724"
- unpack="false"/>
-
- <plugin
- id="org.apache.commons.logging"
- download-size="0"
- install-size="0"
- version="1.0.4.v200706111724"
- unpack="false"/>
-
- <plugin
- id="org.apache.ant"
- download-size="0"
- install-size="0"
- version="1.7.0.v200706080842"/>
-
- <plugin
- id="org.apache.lucene"
- download-size="0"
- install-size="0"
- version="1.9.1.v200706111724"
- unpack="false"/>
-
- <plugin
- id="org.apache.lucene.analysis"
- download-size="0"
- install-size="0"
- version="1.9.1.v200706181610"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ant.core"
- download-size="0"
- install-size="0"
- version="3.1.200.v20070522"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.compare"
- download-size="0"
- install-size="0"
- version="3.3.0.I20070606"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.core.boot"
- download-size="0"
- install-size="0"
- version="3.1.100.v20060603"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.core.filebuffers"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070606-0010"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.core.filesystem"
- download-size="0"
- install-size="0"
- version="1.1.0.v20070606"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.core.net"
- download-size="0"
- install-size="0"
- version="1.0.0.I20070531"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.core.resources"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070604"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.core.resources.compatibility"
- download-size="0"
- install-size="0"
- version="3.2.100.v20070502"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.core.runtime.compatibility"
- download-size="0"
- install-size="0"
- version="3.1.200.v20070502"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.osgi.services"
- download-size="0"
- install-size="0"
- version="3.1.200.v20070605"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.osgi.util"
- download-size="0"
- install-size="0"
- version="3.1.200.v20070605"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.core.variables"
- download-size="0"
- install-size="0"
- version="3.2.0.v20070426"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.debug.core"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070607-1800"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.debug.ui"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070607-1800"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.http.registry"
- download-size="0"
- install-size="0"
- version="1.0.0.v20070608"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.http.jetty"
- download-size="0"
- install-size="0"
- version="1.0.0.v20070607"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.http.servlet"
- download-size="0"
- install-size="0"
- version="1.0.0.v20070606"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.jsp.jasper"
- download-size="0"
- install-size="0"
- version="1.0.0.v20070607"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.jsp.jasper.registry"
- download-size="0"
- install-size="0"
- version="1.0.0.v20070607"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.help.webapp"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070607"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.help.base"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070606"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.help.ui"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070530"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.help.appserver"
- download-size="0"
- install-size="0"
- version="3.1.200.v20070510"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ltk.core.refactoring"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070606-0010"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ltk.ui.refactoring"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070606-0010"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.platform"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070613"/>
-
- <plugin
- id="org.eclipse.platform.doc.user"
- download-size="0"
- install-size="0"
- version="3.3.0.I20070615-1300"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.search"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070606-0010"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.team.core"
- download-size="0"
- install-size="0"
- version="3.3.0.I20070607"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.team.ui"
- download-size="0"
- install-size="0"
- version="3.3.0.I20070607"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.tomcat"
- download-size="0"
- install-size="0"
- version="4.1.230.v20070531"/>
-
- <plugin
- id="org.eclipse.text"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070606-0010"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.jface.text"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070606-0010"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.jsch.core"
- download-size="0"
- install-size="0"
- version="1.0.0.I20070426"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.jsch.ui"
- download-size="0"
- install-size="0"
- version="1.0.0.I20070525"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ui.console"
- download-size="0"
- install-size="0"
- version="3.2.0.v20070530"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ui.presentations.r21"
- download-size="0"
- install-size="0"
- version="3.2.100.I20070605-0010"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ui.intro"
- download-size="0"
- install-size="0"
- version="3.2.100.v20070530"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ui.intro.universal"
- download-size="0"
- install-size="0"
- version="3.2.100.v20070530A"/>
-
- <plugin
- id="org.eclipse.ui.cheatsheets"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070507"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ui.browser"
- download-size="0"
- install-size="0"
- version="3.2.100.v20070524A"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ui.navigator"
- download-size="0"
- install-size="0"
- version="3.3.0.I20070605-0010"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ui.navigator.resources"
- download-size="0"
- install-size="0"
- version="3.3.0.I20070605-0010"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ui.net"
- download-size="0"
- install-size="0"
- version="1.0.0.I20070516"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ui.workbench.texteditor"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070606-0010"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ui.views"
- download-size="0"
- install-size="0"
- version="3.2.100.I20070319-0010"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ui.editors"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070606-0010"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ui.forms"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070511"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ui.externaltools"
- download-size="0"
- install-size="0"
- version="3.1.200.v20070416"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ui.ide"
- download-size="0"
- install-size="0"
- version="3.3.0.I20070620"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ui.ide.application"
- download-size="0"
- install-size="0"
- version="1.0.0.I20070530-0100"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ui.win32"
- ws="win32"
- download-size="0"
- install-size="0"
- version="3.2.100.I20070319-0010"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.update.core"
- download-size="0"
- install-size="0"
- version="3.2.100.v20070615"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.update.scheduler"
- download-size="0"
- install-size="0"
- version="3.2.100.v20070615"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.update.ui"
- download-size="0"
- install-size="0"
- version="3.2.100.v20070615"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ui.workbench.compatibility"
- download-size="0"
- install-size="0"
- version="3.2.0.I20070319-0010"
- fragment="true"/>
-
- <plugin
- id="org.eclipse.core.filesystem.hpux.ia64_32"
- os="hpux"
- arch="ia64_32"
- download-size="0"
- install-size="0"
- version="1.0.0.v20060603"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.core.filesystem.hpux.PA_RISC"
- os="hpux"
- arch="PA_RISC"
- download-size="0"
- install-size="0"
- version="1.0.0.v20060603"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.core.filesystem.linux.ppc"
- os="linux"
- arch="ppc"
- download-size="0"
- install-size="0"
- version="1.0.100.v20070430"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.core.filesystem.linux.x86"
- os="linux"
- arch="x86"
- download-size="0"
- install-size="0"
- version="1.1.0.v20070416"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.core.filesystem.linux.x86_64"
- os="linux"
- arch="x86_64"
- download-size="0"
- install-size="0"
- version="1.0.100.v20070510"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.core.filesystem.solaris.sparc"
- os="solaris"
- arch="sparc"
- download-size="0"
- install-size="0"
- version="1.0.100.v20070425"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.core.filesystem.macosx"
- os="macosx"
- download-size="0"
- install-size="0"
- version="1.0.0.v20060603"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.core.filesystem.qnx.x86"
- os="qnx"
- ws="photon"
- arch="x86"
- download-size="0"
- install-size="0"
- version="1.0.0.v20060603"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.core.filesystem.win32.x86"
- os="win32"
- arch="x86"
- download-size="0"
- install-size="0"
- version="1.1.0.v20070510"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.core.resources.win32"
- os="win32"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070226"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.update.core.linux"
- os="linux"
- download-size="0"
- install-size="0"
- version="3.2.0.v20070615"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.update.core.win32"
- os="win32"
- download-size="0"
- install-size="0"
- version="3.2.100.v20070615"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ui.views.properties.tabbed"
- download-size="0"
- install-size="0"
- version="3.3.0.I20070605-0010"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.core.runtime.compatibility.registry"
- download-size="0"
- install-size="0"
- version="3.2.100.v20070316"
- fragment="true"/>
-
- <plugin
- id="org.mortbay.jetty"
- download-size="0"
- install-size="0"
- version="5.1.11.v200706111724"
- unpack="false"/>
-
-</feature>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp.source_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp.source_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/META-INF/MANIFEST.MF
deleted file mode 100644
index afcfc44..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp.source_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Created-By: 1.4.2 (IBM Corporation)
-Ant-Version: Apache Ant 1.7.0
-
-Name: feature.xml
-SHA1-Digest: dMnOhvxphWIcTVxNLsFdJ54Hjfw=
-
-Name: feature.properties
-SHA1-Digest: KQG7LxAsbSfFR0LTrTuU3xt9jN4=
-
-Name: license.html
-SHA1-Digest: YXfaVLayE8gaE0VWfKzUHsp6IyM=
-
-Name: META-INF/eclipse.inf
-SHA1-Digest: KyT9FF7C7t86NoBoa2kZT3ZJBfw=
-
-Name: eclipse_update_120.jpg
-SHA1-Digest: xstAqMgs/a5AsQXQZSdDQ79veOA=
-
-Name: epl-v10.html
-SHA1-Digest: pTOyybcpEe+Y8lkSVUtarMleXqE=
-
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp.source_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.properties b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp.source_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.properties
deleted file mode 100644
index effbb22..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp.source_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.properties
+++ /dev/null
@@ -1,144 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse RCP Plug-in Developer Resources
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Project Updates
-
-# "description" property - description of the feature
-description=Source code zips for the Eclipse RCP.
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2000, 2007 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
- IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
- - Content may be structured and packaged into modules to facilitate delivering,\n\
- extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
- plug-in fragments ("Fragments"), and features ("Features").\n\
- - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
- in a directory named "plugins".\n\
- - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
- Each Feature may be packaged as a sub-directory in a directory named "features".\n\
- Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
- numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
- - Features may also include other Features ("Included Features"). Within a Feature, files\n\
- named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
- - The top-level (root) directory\n\
- - Plug-in and Fragment directories\n\
- - Inside Plug-ins and Fragments packaged as JARs\n\
- - Sub-directories of the directory named "src" of certain Plug-ins\n\
- - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
- - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
- - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
- - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
- - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
- - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
- - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp.source_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.xml b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp.source_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.xml
deleted file mode 100644
index a569d5a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp.source_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature primary="false" provider-name="%providerName" label="%featureName" image="eclipse_update_120.jpg" id="org.eclipse.rcp.source" version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG">
- <description >
- %description
- </description>
- <copyright >
- %copyright
- </copyright>
- <license url="%licenseURL">
- %license
- </license>
- <url>
- <update label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
- </url>
- <plugin fragment="false" download-size="0" install-size="0" id="com.ibm.icu.source" version="3.6.1.v20070417"/>
- <plugin fragment="false" download-size="0" install-size="0" id="org.eclipse.rcp.source" version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG"/>
- <plugin ws="motif" os="hpux" fragment="true" arch="ia64_32" download-size="0" install-size="0" id="org.eclipse.rcp.source.hpux.motif.ia64_32" version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG"/>
- <plugin ws="gtk" os="linux" fragment="true" arch="ia64" download-size="0" install-size="0" id="org.eclipse.rcp.source.linux.gtk.ia64" version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG"/>
- <plugin ws="photon" os="qnx" fragment="true" arch="x86" download-size="0" install-size="0" id="org.eclipse.rcp.source.qnx.photon.x86" version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG"/>
- <plugin ws="gtk" os="linux" fragment="true" arch="ppc" download-size="0" install-size="0" id="org.eclipse.rcp.source.linux.gtk.ppc" version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG"/>
- <plugin ws="motif" os="hpux" fragment="true" arch="PA_RISC" download-size="0" install-size="0" id="org.eclipse.rcp.source.hpux.motif.PA_RISC" version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG"/>
- <plugin ws="wpf" os="win32" fragment="true" arch="x86" download-size="0" install-size="0" id="org.eclipse.rcp.source.win32.wpf.x86" version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG"/>
- <plugin ws="gtk" os="linux" fragment="true" arch="x86_64" download-size="0" install-size="0" id="org.eclipse.rcp.source.linux.gtk.x86_64" version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG"/>
- <plugin ws="gtk" os="solaris" fragment="true" arch="sparc" download-size="0" install-size="0" id="org.eclipse.rcp.source.solaris.gtk.sparc" version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG"/>
- <plugin ws="carbon" os="macosx" fragment="true" arch="ppc" download-size="0" install-size="0" id="org.eclipse.rcp.source.macosx.carbon.ppc" version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG"/>
- <plugin ws="gtk" os="linux" fragment="true" arch="x86" download-size="0" install-size="0" id="org.eclipse.rcp.source.linux.gtk.x86" version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG"/>
- <plugin ws="motif" os="aix" fragment="true" arch="ppc" download-size="0" install-size="0" id="org.eclipse.rcp.source.aix.motif.ppc" version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG"/>
- <plugin ws="win32" os="win32" fragment="true" arch="x86" download-size="0" install-size="0" id="org.eclipse.rcp.source.win32.win32.x86" version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG"/>
- <plugin ws="motif" os="solaris" fragment="true" arch="sparc" download-size="0" install-size="0" id="org.eclipse.rcp.source.solaris.motif.sparc" version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG"/>
- <plugin ws="motif" os="linux" fragment="true" arch="x86" download-size="0" install-size="0" id="org.eclipse.rcp.source.linux.motif.x86" version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG"/>
-</feature>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/META-INF/MANIFEST.MF
deleted file mode 100644
index eda0417..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Created-By: 1.4.2 (IBM Corporation)
-Ant-Version: Apache Ant 1.7.0
-
-Name: feature.xml
-SHA1-Digest: YVpG2yV+fCKpxjgnc2P7scwrcNU=
-
-Name: feature.properties
-SHA1-Digest: UzM1MZnaZBzb5JHPQZE7wbydJWA=
-
-Name: license.html
-SHA1-Digest: YXfaVLayE8gaE0VWfKzUHsp6IyM=
-
-Name: META-INF/eclipse.inf
-SHA1-Digest: KyT9FF7C7t86NoBoa2kZT3ZJBfw=
-
-Name: eclipse_update_120.jpg
-SHA1-Digest: xstAqMgs/a5AsQXQZSdDQ79veOA=
-
-Name: epl-v10.html
-SHA1-Digest: pTOyybcpEe+Y8lkSVUtarMleXqE=
-
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.properties b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.properties
deleted file mode 100644
index 203a722..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.properties
+++ /dev/null
@@ -1,144 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse RCP
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Project Updates
-
-# "description" property - description of the feature
-description=Rich Client Platform
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2000, 2007 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
- IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
- - Content may be structured and packaged into modules to facilitate delivering,\n\
- extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
- plug-in fragments ("Fragments"), and features ("Features").\n\
- - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
- in a directory named "plugins".\n\
- - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
- Each Feature may be packaged as a sub-directory in a directory named "features".\n\
- Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
- numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
- - Features may also include other Features ("Included Features"). Within a Feature, files\n\
- named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
- - The top-level (root) directory\n\
- - Plug-in and Fragment directories\n\
- - Inside Plug-ins and Fragments packaged as JARs\n\
- - Sub-directories of the directory named "src" of certain Plug-ins\n\
- - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
- - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
- - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
- - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
- - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
- - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
- - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.xml b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.xml
deleted file mode 100644
index 11ef188..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.xml
+++ /dev/null
@@ -1,509 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
- id="org.eclipse.rcp"
- label="%featureName"
- version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG"
- provider-name="%providerName"
- plugin="org.eclipse.rcp"
- image="eclipse_update_120.jpg">
-
- <description>
- %description
- </description>
-
- <copyright>
- %copyright
- </copyright>
-
- <license url="%licenseURL">
- %license
- </license>
-
- <url>
- <update label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
- </url>
-
- <plugin
- id="com.ibm.icu"
- download-size="0"
- install-size="0"
- version="3.6.1.v20070417"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.core.commands"
- download-size="0"
- install-size="0"
- version="3.3.0.I20070605-0010"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.core.databinding"
- download-size="0"
- install-size="0"
- version="1.0.0.I20070606-0010"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.core.databinding.beans"
- download-size="0"
- install-size="0"
- version="1.0.0.I20070606-0010"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.core.jobs"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070423"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.core.expressions"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070606-0010"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.core.runtime"
- download-size="0"
- install-size="0"
- version="3.3.100.v20070530"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.core.runtime.compatibility.auth"
- download-size="0"
- install-size="0"
- version="3.2.100.v20070502"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.osgi"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070530"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.help"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070524"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.swt"
- download-size="0"
- install-size="0"
- version="3.3.0.v3346"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.jface"
- download-size="0"
- install-size="0"
- version="3.3.0.I20070606-0010"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.jface.databinding"
- download-size="0"
- install-size="0"
- version="1.1.0.I20070606-0010"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ui"
- download-size="0"
- install-size="0"
- version="3.3.0.I20070614-0800"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ui.workbench"
- download-size="0"
- install-size="0"
- version="3.3.0.I20070608-1100"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ui.carbon"
- os="macosx"
- ws="carbon"
- download-size="0"
- install-size="0"
- version="3.2.100.I20070605-0010"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.update.configurator"
- download-size="0"
- install-size="0"
- version="3.2.100.v20070615"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.swt.win32.win32.x86"
- os="win32"
- ws="win32"
- arch="x86"
- download-size="0"
- install-size="0"
- version="3.3.0.v3346"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.swt.wpf.win32.x86"
- os="win32"
- ws="wpf"
- arch="x86"
- download-size="0"
- install-size="0"
- version="3.3.0.v3346"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.swt.gtk.linux.x86"
- os="linux"
- ws="gtk"
- arch="x86"
- download-size="0"
- install-size="0"
- version="3.3.0.v3346"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.swt.gtk.linux.s390"
- os="linux"
- ws="gtk"
- arch="s390"
- download-size="0"
- install-size="0"
- version="0.0.0"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.swt.gtk.linux.s390x"
- os="linux"
- ws="gtk"
- arch="s390x"
- download-size="0"
- install-size="0"
- version="0.0.0"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.swt.gtk.solaris.sparc"
- os="solaris"
- ws="gtk"
- arch="sparc"
- download-size="0"
- install-size="0"
- version="3.3.0.v3346"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.swt.gtk.solaris.x86"
- os="solaris"
- ws="gtk"
- arch="x86"
- download-size="0"
- install-size="0"
- version="0.0.0"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.swt.gtk.linux.ppc"
- os="linux"
- ws="gtk"
- arch="ppc"
- download-size="0"
- install-size="0"
- version="3.3.0.v3346"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.swt.gtk.linux.x86_64"
- os="linux"
- ws="gtk"
- arch="x86_64"
- download-size="0"
- install-size="0"
- version="3.3.0.v3346"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.swt.carbon.macosx"
- os="macosx"
- ws="carbon"
- download-size="0"
- install-size="0"
- version="3.3.0.v3346"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.swt.motif.aix.ppc"
- os="aix"
- ws="motif"
- arch="ppc"
- download-size="0"
- install-size="0"
- version="3.3.0.v3346"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.swt.motif.hpux.PA_RISC"
- os="hpux"
- ws="motif"
- arch="PA_RISC"
- download-size="0"
- install-size="0"
- version="3.3.0.v3345a"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.swt.motif.linux.x86"
- os="linux"
- ws="motif"
- arch="x86"
- download-size="0"
- install-size="0"
- version="3.3.0.v3346"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.swt.gtk.linux.ia64"
- os="linux"
- ws="gtk"
- arch="ia64"
- download-size="0"
- install-size="0"
- version="3.3.0.HEAD"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.swt.motif.solaris.sparc"
- os="solaris"
- ws="motif"
- arch="sparc"
- download-size="0"
- install-size="0"
- version="3.3.0.v3346"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.swt.photon.qnx.x86"
- os="qnx"
- ws="photon"
- arch="x86"
- download-size="0"
- install-size="0"
- version="3.3.0.v3346"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.swt.motif.hpux.ia64_32"
- os="hpux"
- ws="motif"
- arch="ia64_32"
- download-size="0"
- install-size="0"
- version="3.3.0.HEAD"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.rcp"
- download-size="0"
- install-size="0"
- version="3.2.0.v20070612"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.core.contenttype"
- download-size="0"
- install-size="0"
- version="3.2.100.v20070319"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.app"
- download-size="0"
- install-size="0"
- version="1.0.0.v20070606"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.common"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070426"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.preferences"
- download-size="0"
- install-size="0"
- version="3.2.100.v20070522"
- unpack="false"/>
-
-
- <plugin
- id="org.eclipse.equinox.registry"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070522"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.launcher"
- download-size="0"
- install-size="0"
- version="1.0.0.v20070606"
- unpack="false"/>
- <plugin
- id="org.eclipse.equinox.launcher.gtk.solaris.sparc"
- os="solaris"
- ws="gtk"
- arch="sparc"
- download-size="0"
- install-size="0"
- version="1.0.0.v20070606"
- fragment="true"
- unpack="true"/>
- <plugin
- id="org.eclipse.equinox.launcher.carbon.macosx"
- os="macosx"
- ws="carbon"
- download-size="0"
- install-size="0"
- version="1.0.0.v20070606"
- fragment="true"
- unpack="true"/>
- <plugin
- id="org.eclipse.equinox.launcher.gtk.linux.ppc"
- os="linux"
- ws="gtk"
- arch="ppc"
- download-size="0"
- install-size="0"
- version="1.0.0.v20070606"
- fragment="true"
- unpack="true"/>
-
- <plugin
- id="org.eclipse.equinox.launcher.gtk.linux.x86"
- os="linux"
- ws="gtk"
- arch="x86"
- download-size="0"
- install-size="0"
- version="1.0.0.v20070606"
- fragment="true"
- unpack="true"/>
-
- <plugin
- id="org.eclipse.equinox.launcher.gtk.linux.s390"
- os="linux"
- ws="gtk"
- arch="s390"
- download-size="0"
- install-size="0"
- version="0.0.0"
- fragment="true"
- unpack="true"/>
-
- <plugin
- id="org.eclipse.equinox.launcher.gtk.linux.s390x"
- os="linux"
- ws="gtk"
- arch="s390x"
- download-size="0"
- install-size="0"
- version="0.0.0"
- fragment="true"
- unpack="true"/>
-
- <plugin
- id="org.eclipse.equinox.launcher.motif.linux.x86"
- os="linux"
- ws="motif"
- arch="x86"
- download-size="0"
- install-size="0"
- version="1.0.0.v20070524"
- fragment="true"
- unpack="true"/>
-
- <plugin
- id="org.eclipse.equinox.launcher.gtk.linux.x86_64"
- os="linux"
- ws="gtk"
- arch="x86_64"
- download-size="0"
- install-size="0"
- version="1.0.0.v20070606"
- fragment="true"
- unpack="true"/>
- <plugin
- id="org.eclipse.equinox.launcher.motif.aix.ppc"
- os="aix"
- ws="motif"
- arch="ppc"
- download-size="0"
- install-size="0"
- version="1.0.0.v20070524"
- fragment="true"
- unpack="true"/>
- <plugin
- id="org.eclipse.equinox.launcher.motif.hpux.PA_RISC"
- os="hpux"
- ws="motif"
- arch="PA_RISC"
- download-size="0"
- install-size="0"
- version="1.0.0.v20070219"
- fragment="true"
- unpack="true"/>
-
- <plugin
- id="org.eclipse.equinox.launcher.wpf.win32.x86"
- os="win32"
- ws="wpf"
- arch="x86"
- download-size="0"
- install-size="0"
- version="1.0.0.v20070523"
- fragment="true"
- unpack="true"/>
-
- <plugin
- id="org.eclipse.equinox.launcher.win32.win32.x86"
- os="win32"
- ws="win32"
- arch="x86"
- download-size="0"
- install-size="0"
- version="1.0.0.v20070523"
- fragment="true"
- unpack="true"/>
-</feature>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.sdk_3.3.0.v20070607-7M7J-BIolz-OcxWxvWAPSfLPqevO/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.sdk_3.3.0.v20070607-7M7J-BIolz-OcxWxvWAPSfLPqevO/META-INF/MANIFEST.MF
deleted file mode 100644
index 60298d0..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.sdk_3.3.0.v20070607-7M7J-BIolz-OcxWxvWAPSfLPqevO/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Created-By: 1.4.2 (IBM Corporation)
-Ant-Version: Apache Ant 1.7.0
-
-Name: feature.xml
-SHA1-Digest: yfpclAxxbeokoXDe3q4t80WiNZg=
-
-Name: feature.properties
-SHA1-Digest: +TwjcsSBAHZ9hST7XaeMtRWImGM=
-
-Name: license.html
-SHA1-Digest: YXfaVLayE8gaE0VWfKzUHsp6IyM=
-
-Name: META-INF/eclipse.inf
-SHA1-Digest: KyT9FF7C7t86NoBoa2kZT3ZJBfw=
-
-Name: eclipse_update_120.jpg
-SHA1-Digest: xstAqMgs/a5AsQXQZSdDQ79veOA=
-
-Name: epl-v10.html
-SHA1-Digest: pTOyybcpEe+Y8lkSVUtarMleXqE=
-
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.sdk_3.3.0.v20070607-7M7J-BIolz-OcxWxvWAPSfLPqevO/feature.properties b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.sdk_3.3.0.v20070607-7M7J-BIolz-OcxWxvWAPSfLPqevO/feature.properties
deleted file mode 100644
index 8d9a17d..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.sdk_3.3.0.v20070607-7M7J-BIolz-OcxWxvWAPSfLPqevO/feature.properties
+++ /dev/null
@@ -1,147 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse Project SDK
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Project Updates
-
-# "secondarySiteName" property - label for the secondary update site
-secondaryUpdateSiteName=Europa Discovery Site
-
-# "description" property - description of the feature
-description=SDK for Eclipse.
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2000, 2007 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
- IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
- - Content may be structured and packaged into modules to facilitate delivering,\n\
- extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
- plug-in fragments ("Fragments"), and features ("Features").\n\
- - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
- in a directory named "plugins".\n\
- - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
- Each Feature may be packaged as a sub-directory in a directory named "features".\n\
- Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
- numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
- - Features may also include other Features ("Included Features"). Within a Feature, files\n\
- named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
- - The top-level (root) directory\n\
- - Plug-in and Fragment directories\n\
- - Inside Plug-ins and Fragments packaged as JARs\n\
- - Sub-directories of the directory named "src" of certain Plug-ins\n\
- - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
- - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
- - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
- - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
- - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
- - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
- - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.sdk_3.3.0.v20070607-7M7J-BIolz-OcxWxvWAPSfLPqevO/feature.xml b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.sdk_3.3.0.v20070607-7M7J-BIolz-OcxWxvWAPSfLPqevO/feature.xml
deleted file mode 100644
index 0b59abb..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.sdk_3.3.0.v20070607-7M7J-BIolz-OcxWxvWAPSfLPqevO/feature.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
- id="org.eclipse.sdk"
- label="%featureName"
- version="3.3.0.v20070607-7M7J-BIolz-OcxWxvWAPSfLPqevO"
- provider-name="%providerName"
- image="eclipse_update_120.jpg">
-
- <description>
- %description
- </description>
-
- <copyright>
- %copyright
- </copyright>
-
- <license url="%licenseURL">
- %license
- </license>
-
- <url>
- <update label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
- <discovery label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
- <discovery label="%secondaryUpdateSiteName" url="http://download.eclipse.org/releases/europa"/>
- </url>
-
- <includes
- id="org.eclipse.platform"
- version="3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G"/>
-
- <includes
- id="org.eclipse.platform.source"
- version="3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G"/>
-
- <includes
- id="org.eclipse.cvs"
- version="1.0.0.v20070606-7C79_79EI99g_Y9e"/>
-
- <includes
- id="org.eclipse.cvs.source"
- version="1.0.0.v20070606-7C79_79EI99g_Y9e"/>
-
- <includes
- id="org.eclipse.jdt"
- version="3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR"/>
-
- <includes
- id="org.eclipse.jdt.source"
- version="3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR"/>
-
- <includes
- id="org.eclipse.pde"
- version="3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC"/>
-
- <includes
- id="org.eclipse.pde.source"
- version="3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC"/>
-
- <plugin
- id="org.eclipse.sdk"
- download-size="0"
- install-size="0"
- version="3.3.0.v20070613"/>
-
-</feature>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/readme.txt b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/readme.txt
deleted file mode 100644
index f293dc3..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/readme.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-This directory contains data for automated testing of the generator. Specifically,
-this directory contains the feature data from version 3.3.0 of the Eclipse SDK.
-The corresponding generator test ensures that correct metadata is generated
-for these features.
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/jarprocessor.jar.pack.gz b/bundles/org.eclipse.equinox.p2.tests/testData/jarprocessor.jar.pack.gz
deleted file mode 100644
index f2df489..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/jarprocessor.jar.pack.gz
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/1_6/org.eclipse.equinox.app_1.0.100.v20071015.jar.pack.gz b/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/1_6/org.eclipse.equinox.app_1.0.100.v20071015.jar.pack.gz
deleted file mode 100644
index 9f52ad3..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/1_6/org.eclipse.equinox.app_1.0.100.v20071015.jar.pack.gz
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/eclipse-3.2-3.3.jbdiff b/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/eclipse-3.2-3.3.jbdiff
deleted file mode 100644
index deac744..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/eclipse-3.2-3.3.jbdiff
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/eclipse-3.2.exe b/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/eclipse-3.2.exe
deleted file mode 100644
index 7826d1e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/eclipse-3.2.exe
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/eclipse-3.3.exe b/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/eclipse-3.3.exe
deleted file mode 100644
index c5cd8f0..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/eclipse-3.3.exe
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/org.eclipse.equinox.app_1.0.100.v20071015.jar b/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/org.eclipse.equinox.app_1.0.100.v20071015.jar
deleted file mode 100644
index 0c809ee..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/org.eclipse.equinox.app_1.0.100.v20071015.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/org.eclipse.equinox.app_1.0.100.v20071015.jar.pack.gz b/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/org.eclipse.equinox.app_1.0.100.v20071015.jar.pack.gz
deleted file mode 100644
index b586d3c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/org.eclipse.equinox.app_1.0.100.v20071015.jar.pack.gz
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/org.eclipse.jdt_3.2.0-3.3.0.jbdiff b/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/org.eclipse.jdt_3.2.0-3.3.0.jbdiff
deleted file mode 100644
index b920d53..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/org.eclipse.jdt_3.2.0-3.3.0.jbdiff
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/org.eclipse.jdt_3.2.0.v20060605-1400.njar b/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/org.eclipse.jdt_3.2.0.v20060605-1400.njar
deleted file mode 100644
index 41ee47b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/org.eclipse.jdt_3.2.0.v20060605-1400.njar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/org.eclipse.jdt_3.3.0.v20070607-1300.njar b/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/org.eclipse.jdt_3.3.0.v20070607-1300.njar
deleted file mode 100644
index 9deec2f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/org.eclipse.jdt_3.3.0.v20070607-1300.njar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/testdata_1.0.0.1-2.jar b/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/testdata_1.0.0.1-2.jar
deleted file mode 100644
index 71a546b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/testdata_1.0.0.1-2.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/testdata_1.0.0.1.jar b/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/testdata_1.0.0.1.jar
deleted file mode 100644
index 49e7f90..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/testdata_1.0.0.1.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/testdata_1.0.0.2.jar b/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/testdata_1.0.0.2.jar
deleted file mode 100644
index 3515b0f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/testdata_1.0.0.2.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/orbitRepo/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/orbitRepo/content.xml
deleted file mode 100644
index 8c21706..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/orbitRepo/content.xml
+++ /dev/null
@@ -1,8138 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?metadataRepository class='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'?>
-<repository name='file:C:/equinox.p2/servers/ - metadata' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1'>
- <properties size='1'>
- <property name='p2.timestamp' value='1208629789782'/>
- </properties>
- <units size='182'>
- <unit id='org.eclipse.osgi' version='3.4.0.v20080326'>
- <update id='org.eclipse.osgi' range='[0.0.0,3.4.0.v20080326)' severity='0'/>
- <properties size='5'>
- <property name='df_LT.systemBundle' value='OSGi System Bundle'/>
- <property name='df_LT.eclipse.org' value='Eclipse.org'/>
- <property name='org.eclipse.equinox.p2.name' value='%systemBundle'/>
- <property name='org.eclipse.equinox.p2.description' value='%systemBundle'/>
- <property name='org.eclipse.equinox.p2.provider' value='%eclipse.org'/>
- </properties>
- <provides size='52'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.osgi' version='3.4.0.v20080326'/>
- <provided namespace='osgi.bundle' name='org.eclipse.osgi' version='3.4.0.v20080326'/>
- <provided namespace='java.package' name='org.eclipse.osgi.event' version='1.0.0'/>
- <provided namespace='java.package' name='org.eclipse.osgi.framework.console' version='1.0.0'/>
- <provided namespace='java.package' name='org.eclipse.osgi.framework.eventmgr' version='1.1.0'/>
- <provided namespace='java.package' name='org.eclipse.osgi.framework.log' version='1.0.0'/>
- <provided namespace='java.package' name='org.eclipse.osgi.service.datalocation' version='1.1.0'/>
- <provided namespace='java.package' name='org.eclipse.osgi.service.debug' version='1.0.0'/>
- <provided namespace='java.package' name='org.eclipse.osgi.service.environment' version='1.1.0'/>
- <provided namespace='java.package' name='org.eclipse.osgi.service.localization' version='1.0.0'/>
- <provided namespace='java.package' name='org.eclipse.osgi.service.pluginconversion' version='1.0.0'/>
- <provided namespace='java.package' name='org.eclipse.osgi.service.resolver' version='1.2.0'/>
- <provided namespace='java.package' name='org.eclipse.osgi.service.runnable' version='1.1.0'/>
- <provided namespace='java.package' name='org.eclipse.osgi.service.security' version='1.0.0'/>
- <provided namespace='java.package' name='org.eclipse.osgi.service.urlconversion' version='1.0.0'/>
- <provided namespace='java.package' name='org.eclipse.osgi.signedcontent' version='1.0.0'/>
- <provided namespace='java.package' name='org.eclipse.osgi.storagemanager' version='1.0.0'/>
- <provided namespace='java.package' name='org.eclipse.osgi.util' version='1.1.0'/>
- <provided namespace='java.package' name='org.osgi.framework' version='1.4.0'/>
- <provided namespace='java.package' name='org.osgi.service.condpermadmin' version='1.0.0'/>
- <provided namespace='java.package' name='org.osgi.service.packageadmin' version='1.2.0'/>
- <provided namespace='java.package' name='org.osgi.service.permissionadmin' version='1.2.0'/>
- <provided namespace='java.package' name='org.osgi.service.startlevel' version='1.1.0'/>
- <provided namespace='java.package' name='org.osgi.service.url' version='1.0.0'/>
- <provided namespace='java.package' name='org.osgi.util.tracker' version='1.3.3'/>
- <provided namespace='java.package' name='org.eclipse.core.runtime.adaptor' version='0.0.0'/>
- <provided namespace='java.package' name='org.eclipse.core.runtime.internal.adaptor' version='0.0.0'/>
- <provided namespace='java.package' name='org.eclipse.core.runtime.internal.stats' version='0.0.0'/>
- <provided namespace='java.package' name='org.eclipse.osgi.baseadaptor' version='0.0.0'/>
- <provided namespace='java.package' name='org.eclipse.osgi.baseadaptor.bundlefile' version='0.0.0'/>
- <provided namespace='java.package' name='org.eclipse.osgi.baseadaptor.hooks' version='0.0.0'/>
- <provided namespace='java.package' name='org.eclipse.osgi.baseadaptor.loader' version='0.0.0'/>
- <provided namespace='java.package' name='org.eclipse.osgi.framework.adaptor' version='0.0.0'/>
- <provided namespace='java.package' name='org.eclipse.osgi.framework.debug' version='0.0.0'/>
- <provided namespace='java.package' name='org.eclipse.osgi.framework.internal.core' version='0.0.0'/>
- <provided namespace='java.package' name='org.eclipse.osgi.framework.internal.protocol' version='0.0.0'/>
- <provided namespace='java.package' name='org.eclipse.osgi.framework.internal.protocol.bundleentry' version='0.0.0'/>
- <provided namespace='java.package' name='org.eclipse.osgi.framework.internal.protocol.bundleresource' version='0.0.0'/>
- <provided namespace='java.package' name='org.eclipse.osgi.framework.internal.protocol.reference' version='0.0.0'/>
- <provided namespace='java.package' name='org.eclipse.osgi.framework.internal.reliablefile' version='0.0.0'/>
- <provided namespace='java.package' name='org.eclipse.osgi.framework.launcher' version='0.0.0'/>
- <provided namespace='java.package' name='org.eclipse.osgi.framework.util' version='0.0.0'/>
- <provided namespace='java.package' name='org.eclipse.osgi.internal.baseadaptor' version='0.0.0'/>
- <provided namespace='java.package' name='org.eclipse.osgi.internal.module' version='0.0.0'/>
- <provided namespace='java.package' name='org.eclipse.osgi.internal.profile' version='0.0.0'/>
- <provided namespace='java.package' name='org.eclipse.osgi.internal.resolver' version='0.0.0'/>
- <provided namespace='java.package' name='org.eclipse.osgi.internal.provisional.service.security' version='1.0.0'/>
- <provided namespace='java.package' name='org.eclipse.osgi.internal.provisional.verifier' version='0.0.0'/>
- <provided namespace='java.package' name='org.eclipse.osgi.internal.service.security' version='0.0.0'/>
- <provided namespace='java.package' name='org.eclipse.osgi.internal.signedcontent' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.eclipse.osgi' version='3.4.0.v20080326'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-Version: 3.4.0.v20080326
-Bundle-DocUrl: http://www.eclipse.org
-Bundle-Copyright: %copyright
-Eclipse-ExtensibleAPI: true
-Eclipse-SystemBundle: true
-Export-Package: org.eclipse.osgi.event;version="1.0",org.eclipse.osgi.framework.console;version="1.0",org.eclipse.osgi.framework.eventmgr;version="1.1",org.eclipse.osgi.framework.log;version="1.0",org.eclipse.osgi.service.datalocation;version="1.1",org.eclipse.osgi.service.debug;version="1.0",org.eclipse.osgi.service.environment;version="1.1",org.eclipse.osgi.service.localization;version="1.0",org.eclipse.osgi.service.pluginconversion;version="1.0",org.eclipse.osgi.service.resolver;version="1.2",org.eclipse.osgi.service.runnable;version="1.1",org.eclipse.osgi.service.security; version="1.0",org.eclipse.osgi.service.urlconversion;version="1.0",org.eclipse.osgi.signedcontent; version="1.0",org.eclipse.osgi.storagemanager;version="1.0",org.eclipse.osgi.util;version="1.1",org.osgi.framework;version="1.4",org.osgi.service.condpermadmin;version="1.0",org.osgi.service.packageadmin;version="1.2",org.osgi.service.permissionadmin;version="1.2",org.osgi.service.startlevel;version="1.1",org.osgi.service.url;version="1.0",org.osgi.util.tracker;version="1.3.3",org.eclipse.core.runtime.adaptor;x-friends:="org.eclipse.core.runtime",org.eclipse.core.runtime.internal.adaptor;x-internal:=true,org.eclipse.core.runtime.internal.stats;x-friends:="org.eclipse.core.runtime",org.eclipse.osgi.baseadaptor;x-internal:=true,org.eclipse.osgi.baseadaptor.bundlefile;x-internal:=true,org.eclipse.osgi.baseadaptor.hooks;x-internal:=true,org.eclipse.osgi.baseadaptor.loader;x-internal:=true,org.eclipse.osgi.framework.adaptor;x-internal:=true,org.eclipse.osgi.framework.debug;x-internal:=true,org.eclipse.osgi.framework.internal.core;x-internal:=true,org.eclipse.osgi.framework.internal.protocol;x-internal:=true,org.eclipse.osgi.framework.internal.protocol.bundleentry;x-internal:=true,org.eclipse.osgi.framework.internal.protocol.bundleresource;x-internal:=true,org.eclipse.osgi.framework.internal.protocol.reference;x-internal:=true,org.eclipse.osgi.framework.internal.reliablefile;x-internal:=true,org.eclipse.osgi.framework.launcher;x-internal:=true,org.eclipse.osgi.framework.util;x-internal:=true,org.eclipse.osgi.internal.baseadaptor;x-internal:=true,org.eclipse.osgi.internal.module;x-internal:=true,org.eclipse.osgi.internal.profile;x-internal:=true,org.eclipse.osgi.internal.resolver;x-internal:=true,org.eclipse.osgi.internal.provisional.service.security; x-friends:="org.eclipse.equinox.security.ui";version="1.0.0",org.eclipse.osgi.internal.provisional.verifier;x-friends:="org.eclipse.update.core,org.eclipse.ui.workbench,org.eclipse.equinox.p2.artifact.repository",org.eclipse.osgi.internal.service.security;x-friends:="org.eclipse.equinox.security.ui",org.eclipse.osgi.internal.signedcontent; x-internal:=true
-Manifest-Version: 1.0
-Bundle-Activator: org.eclipse.osgi.framework.internal.core.SystemBundleActivator
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,OSGi/Minimum-1.1
-Bundle-Localization: systembundle
-Bundle-SymbolicName: org.eclipse.osgi; singleton:=true
-Export-Service: org.osgi.service.packageadmin.PackageAdmin,org.osgi.service.permissionadmin.PermissionAdmin,org.osgi.service.startlevel.StartLevel,org.eclipse.osgi.service.debug.DebugOptions
-Main-Class: org.eclipse.core.runtime.adaptor.EclipseStarter
-Bundle-Description: %systemBundle
-Bundle-Vendor: %eclipse.org
-Bundle-Name: %systemBundle
-Bundle-ManifestVersion: 2
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.batik.bridge' version='1.6.0.v200803061811' singleton='false'>
- <update id='org.apache.batik.bridge' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Batik Bridge/GVT/Scripting'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='17'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.bridge' version='1.6.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.batik.bridge' version='1.6.0.v200803061811'/>
- <provided namespace='java.package' name='org.apache.batik.bridge' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.bridge.svg12' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.gvt' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.gvt.event' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.gvt.filter' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.gvt.flow' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.gvt.font' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.gvt.renderer' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.gvt.svg12' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.gvt.text' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.script' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.script.rhino' version='1.6.0'/>
- <provided namespace='java.package' name='META-INF.services' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.batik.bridge' version='1.6.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Require-bundle: org.apache.batik.css;version="[1.6.0,1.7.0)",org.apache.batik.dom;version="[1.6.0,1.7.0)",org.apache.batik.dom.svg;version="[1.6.0,1.7.0)",org.apache.batik.ext.awt;version="[1.6.0,1.7.0)",org.apache.batik.parser;version="[1.6.0,1.7.0)",org.apache.batik.util;version="[1.6.0,1.7.0)",org.apache.batik.util.gui;version="[1.6.0,1.7.0)",org.apache.batik.xml;version="[1.6.0,1.7.0)",org.w3c.dom.svg;version="[1.1.0,1.3.0)"
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Manifest-Version: 1.0
-Bundle-Version: 1.6.0.v200803061811
-Export-Package: org.apache.batik.bridge;version="1.6.0",org.apache.batik.bridge.svg12;version="1.6.0",org.apache.batik.gvt;version="1.6.0",org.apache.batik.gvt.event;version="1.6.0",org.apache.batik.gvt.filter;version="1.6.0",org.apache.batik.gvt.flow;version="1.6.0",org.apache.batik.gvt.font;version="1.6.0",org.apache.batik.gvt.renderer;version="1.6.0",org.apache.batik.gvt.svg12;version="1.6.0",org.apache.batik.gvt.text;version="1.6.0",org.apache.batik.script;version="1.6.0",org.apache.batik.script.rhino;version="1.6.0",META-INF.services
-Bundle-SymbolicName: org.apache.batik.bridge
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.uddi4j' version='2.0.5.v200803061811' singleton='false'>
- <update id='org.uddi4j' range='[0.0.0,2.0.5.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
- <property name='df_LT.Bundle-Name.0' value='UDDI4J'/>
- <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
- <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
- </properties>
- <provides size='16'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.uddi4j' version='2.0.5.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.uddi4j' version='2.0.5.v200803061811'/>
- <provided namespace='java.package' name='org.uddi4j' version='0.0.0'/>
- <provided namespace='java.package' name='org.uddi4j.client' version='0.0.0'/>
- <provided namespace='java.package' name='org.uddi4j.datatype' version='0.0.0'/>
- <provided namespace='java.package' name='org.uddi4j.datatype.assertion' version='0.0.0'/>
- <provided namespace='java.package' name='org.uddi4j.datatype.binding' version='0.0.0'/>
- <provided namespace='java.package' name='org.uddi4j.datatype.business' version='0.0.0'/>
- <provided namespace='java.package' name='org.uddi4j.datatype.service' version='0.0.0'/>
- <provided namespace='java.package' name='org.uddi4j.datatype.tmodel' version='0.0.0'/>
- <provided namespace='java.package' name='org.uddi4j.request' version='0.0.0'/>
- <provided namespace='java.package' name='org.uddi4j.response' version='0.0.0'/>
- <provided namespace='java.package' name='org.uddi4j.transport' version='0.0.0'/>
- <provided namespace='java.package' name='org.uddi4j.util' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='1'>
- <required namespace='osgi.bundle' name='org.apache.axis' range='[1.3.0,2.0.0)'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.uddi4j' version='2.0.5.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Export-Package: org.uddi4j,org.uddi4j.client,org.uddi4j.datatype,org.uddi4j.datatype.assertion,org.uddi4j.datatype.binding,org.uddi4j.datatype.business,org.uddi4j.datatype.service,org.uddi4j.datatype.tmodel,org.uddi4j.request,org.uddi4j.response,org.uddi4j.transport,org.uddi4j.util
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-Localization: plugin
-Require-Bundle: org.apache.axis;bundle-version="[1.3.0,2.0.0)"
-Bundle-Name: %Bundle-Name.0
-Bundle-Version: 2.0.5.v200803061811
-Bundle-Vendor: %Bundle-Vendor.0
-Eclipse-BuddyPolicy: registered
-Bundle-SymbolicName: org.uddi4j
-Bundle-ClassPath: .
-Manifest-Version: 1.0
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='com.ibm.icu' version='3.6.1.v20080304'>
- <update id='com.ibm.icu' range='[0.0.0,3.6.1.v20080304)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='IBM Corporation'/>
- <property name='df_LT.pluginName' value='International Components for Unicode for Java (ICU4J)'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='15'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='com.ibm.icu' version='3.6.1.v20080304'/>
- <provided namespace='osgi.bundle' name='com.ibm.icu' version='3.6.1.v20080304'/>
- <provided namespace='java.package' name='com.ibm.icu.lang' version='3.6.1'/>
- <provided namespace='java.package' name='com.ibm.icu.math' version='3.6.1'/>
- <provided namespace='java.package' name='com.ibm.icu.text' version='3.6.1'/>
- <provided namespace='java.package' name='com.ibm.icu.util' version='3.6.1'/>
- <provided namespace='java.package' name='com.ibm.icu.impl' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.icu.impl.data' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.icu.impl.data.icudt36b' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.icu.impl.data.icudt36b.brkitr' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.icu.impl.data.icudt36b.coll' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.icu.impl.data.icudt36b.rbnf' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.icu.impl.data.icudt36b.translit' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='com.ibm.icu' version='3.6.1.v20080304'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3
-Bundle-Name: %pluginName
-Ant-Version: Apache Ant 1.7.0
-Bundle-ClassPath: icu-jse4.jar,icu-data.jar,.
-Bundle-Vendor: %providerName
-Bundle-Copyright: Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2000, 2008. All Rights Reserved. IBM is a registered trademark of IBM Corp.
-Created-By: 1.4.2_15-b02 (Sun Microsystems Inc.)
-Manifest-Version: 1.0
-Bundle-Version: 3.6.1.v20080304
-Eclipse-ExtensibleAPI: true
-Bundle-Localization: plugin
-Export-Package: com.ibm.icu.lang;version="3.6.1",com.ibm.icu.math;version="3.6.1",com.ibm.icu.text;version="3.6.1",com.ibm.icu.util;version="3.6.1",com.ibm.icu.impl;x-internal:=true,com.ibm.icu.impl.data;x-internal:=true,com.ibm.icu.impl.data.icudt36b;x-internal:=true,com.ibm.icu.impl.data.icudt36b.brkitr;x-internal:=true,com.ibm.icu.impl.data.icudt36b.coll;x-internal:=true,com.ibm.icu.impl.data.icudt36b.rbnf;x-internal:=true,com.ibm.icu.impl.data.icudt36b.translit;x-internal:=true
-Bundle-SymbolicName: com.ibm.icu; singleton:=true
-Eclipse-LazyStart: true
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='java_cup.runtime.source' version='0.10.0.v200803061811' singleton='false'>
- <update id='java_cup.runtime.source' range='[0.0.0,0.10.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Java Cup Source'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='java_cup.runtime.source' version='0.10.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='java_cup.runtime.source' version='0.10.0.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='java_cup.runtime.source' version='0.10.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 0.10.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: java_cup.runtime.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: java_cup.runtime;version="0.10.0.v200803061811"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.commons.httpclient' version='3.0.1.v200803061811' singleton='false'>
- <update id='org.apache.commons.httpclient' range='[0.0.0,3.0.1.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.bundleName' value='Apache Commons Httpclient Plug-in'/>
- <property name='df_LT.bundleProvider' value='Eclipse.org'/>
- <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
- </properties>
- <provides size='12'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.httpclient' version='3.0.1.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.commons.httpclient' version='3.0.1.v200803061811'/>
- <provided namespace='java.package' name='org.apache.commons.httpclient' version='3.0.1'/>
- <provided namespace='java.package' name='org.apache.commons.httpclient.auth' version='3.0.1'/>
- <provided namespace='java.package' name='org.apache.commons.httpclient.cookie' version='3.0.1'/>
- <provided namespace='java.package' name='org.apache.commons.httpclient.methods' version='3.0.1'/>
- <provided namespace='java.package' name='org.apache.commons.httpclient.methods.multipart' version='3.0.1'/>
- <provided namespace='java.package' name='org.apache.commons.httpclient.params' version='3.0.1'/>
- <provided namespace='java.package' name='org.apache.commons.httpclient.protocol' version='3.0.1'/>
- <provided namespace='java.package' name='org.apache.commons.httpclient.util' version='3.0.1'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='8'>
- <required namespace='java.package' name='javax.crypto' range='0.0.0' optional='true'/>
- <required namespace='java.package' name='javax.crypto.spec' range='0.0.0' optional='true'/>
- <required namespace='java.package' name='javax.net' range='0.0.0' optional='true'/>
- <required namespace='java.package' name='javax.net.ssl' range='0.0.0' optional='true'/>
- <required namespace='java.package' name='org.apache.commons.codec' range='[1.2.0,2.0.0)'/>
- <required namespace='java.package' name='org.apache.commons.codec.binary' range='[1.2.0,2.0.0)'/>
- <required namespace='java.package' name='org.apache.commons.codec.net' range='[1.2.0,2.0.0)'/>
- <required namespace='java.package' name='org.apache.commons.logging' range='[1.0.4,2.0.0)'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.commons.httpclient' version='3.0.1.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.2
-Manifest-Version: 1.0
-Bundle-Version: 3.0.1.v200803061811
-Export-Package: org.apache.commons.httpclient;version="3.0.1",org.apache.commons.httpclient.auth;version="3.0.1",org.apache.commons.httpclient.cookie;version="3.0.1",org.apache.commons.httpclient.methods;version="3.0.1",org.apache.commons.httpclient.methods.multipart;version="3.0.1",org.apache.commons.httpclient.params;version="3.0.1",org.apache.commons.httpclient.protocol;version="3.0.1",org.apache.commons.httpclient.util;version="3.0.1"
-Bundle-SymbolicName: org.apache.commons.httpclient
-Import-Package: javax.crypto;resolution:=optional,javax.crypto.spec;resolution:=optional,javax.net;resolution:=optional,javax.net.ssl;resolution:=optional,org.apache.commons.codec;version="[1.2.0,2.0.0)",org.apache.commons.codec.binary;version="[1.2.0,2.0.0)",org.apache.commons.codec.net;version="[1.2.0,2.0.0)",org.apache.commons.logging;version="[1.0.4,2.0.0)"
-Bundle-Localization: plugin
-Bundle-Name: %bundleName
-Bundle-Vendor: %bundleProvider
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='com.ibm.icu.base' version='3.8.1.v20080304' singleton='false'>
- <update id='com.ibm.icu.base' range='[0.0.0,3.8.1.v20080304)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='IBM Corporation'/>
- <property name='df_LT.pluginName' value='International Components for Unicode for Java (ICU4J) Replacement plug-in'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='6'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='com.ibm.icu.base' version='3.8.1.v20080304'/>
- <provided namespace='osgi.bundle' name='com.ibm.icu.base' version='3.8.1.v20080304'/>
- <provided namespace='java.package' name='com.ibm.icu.text' version='3.8.1'/>
- <provided namespace='java.package' name='com.ibm.icu.util' version='3.8.1'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='com.ibm.icu.base' version='3.8.1.v20080304'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-Vendor: %providerName
-Bundle-ManifestVersion: 2
-Bundle-Copyright: Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2000, 2008. All Rights Reserved. IBM is a registered trademark of IBM Corp.
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-SymbolicName: com.ibm.icu.base
-Bundle-Version: 3.8.1.v20080304
-Eclipse-LazyStart: true
-Export-Package: com.ibm.icu.text;version="3.8.1",com.ibm.icu.util;version="3.8.1"
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='javax.servlet' version='2.4.0.v200803061910' singleton='false'>
- <update id='javax.servlet' range='[0.0.0,2.4.0.v200803061910)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.bundleName' value='Servlet API Bundle'/>
- <property name='df_LT.bundleProvider' value='Eclipse.org'/>
- <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
- </properties>
- <provides size='7'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='javax.servlet' version='2.4.0.v200803061910'/>
- <provided namespace='osgi.bundle' name='javax.servlet' version='2.4.0.v200803061910'/>
- <provided namespace='java.package' name='javax.servlet' version='2.4.0'/>
- <provided namespace='java.package' name='javax.servlet.http' version='2.4.0'/>
- <provided namespace='java.package' name='javax.servlet.resources' version='2.4.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='javax.servlet' version='2.4.0.v200803061910'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Name: %bundleName
-Bundle-Version: 2.4.0.v200803061910
-Export-Package: javax.servlet;version="2.4",javax.servlet.http;version="2.4",javax.servlet.resources;version="2.4"
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3
-Bundle-SymbolicName: javax.servlet
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %bundleProvider
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.commons.logging.source' version='1.1.1.v200803061910' singleton='false'>
- <update id='org.apache.commons.logging.source' range='[0.0.0,1.1.1.v200803061910)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.bundleName' value='Apache Commons Logging Plug-in Source'/>
- <property name='df_LT.bundleProvider' value='Eclipse.org'/>
- <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.logging.source' version='1.1.1.v200803061910'/>
- <provided namespace='osgi.bundle' name='org.apache.commons.logging.source' version='1.1.1.v200803061910'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.commons.logging.source' version='1.1.1.v200803061910'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.1.1.v200803061910
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.commons.logging.source
-Bundle-Name: %bundleName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.commons.logging;version="1.1.1.v200803061910"
-Bundle-Vendor: %bundleProvider
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.batik.util.gui.source' version='1.6.0.v200803061811' singleton='false'>
- <update id='org.apache.batik.util.gui.source' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Batik GUI Utilities Source Bundle'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.util.gui.source' version='1.6.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.batik.util.gui.source' version='1.6.0.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.batik.util.gui.source' version='1.6.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.6.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.batik.util.gui.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.batik.util.gui;version="1.6.0.v200803061811"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='net.sourceforge.lpg.lpgjavaruntime.source' version='1.0.0.v200803061811' singleton='false'>
- <update id='net.sourceforge.lpg.lpgjavaruntime.source' range='[0.0.0,1.0.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='SourceForge LPG Source Bundle'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='net.sourceforge.lpg.lpgjavaruntime.source' version='1.0.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='net.sourceforge.lpg.lpgjavaruntime.source' version='1.0.0.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='net.sourceforge.lpg.lpgjavaruntime.source' version='1.0.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.0.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: net.sourceforge.lpg.lpgjavaruntime.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: net.sourceforge.lpg.lpgjavaruntime;version="1.0.0.v200803061811"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.objectweb.asm.source' version='3.0.0.v200803061811' singleton='false'>
- <update id='org.objectweb.asm.source' range='[0.0.0,3.0.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='ASM Source'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.objectweb.asm.source' version='3.0.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.objectweb.asm.source' version='3.0.0.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.objectweb.asm.source' version='3.0.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 3.0.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.objectweb.asm.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.objectweb.asm;version="3.0.0.v200803061811"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.lucene.analysis.source' version='1.9.1.v200803061811' singleton='false'>
- <update id='org.apache.lucene.analysis.source' range='[0.0.0,1.9.1.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Lucene Analysis Source'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.lucene.analysis.source' version='1.9.1.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.lucene.analysis.source' version='1.9.1.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.lucene.analysis.source' version='1.9.1.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.9.1.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.lucene.analysis.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.lucene.analysis;version="1.9.1.v200803061811"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.oro' version='2.0.8.v200803061811' singleton='false'>
- <update id='org.apache.oro' range='[0.0.0,2.0.8.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Jakarta ORO'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='10'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.oro' version='2.0.8.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.oro' version='2.0.8.v200803061811'/>
- <provided namespace='java.package' name='org.apache.oro.io' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.oro.text' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.oro.text.awk' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.oro.text.perl' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.oro.text.regex' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.oro.util' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.oro' version='2.0.8.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Version: 2.0.8.v200803061811
-Export-Package: org.apache.oro.io,org.apache.oro.text,org.apache.oro.text.awk,org.apache.oro.text.perl,org.apache.oro.text.regex,org.apache.oro.util
-Bundle-RequiredExecutionEnvironment: J2SE-1.2
-Bundle-SymbolicName: org.apache.oro
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.axis' version='1.4.0.v200803061811' singleton='false'>
- <update id='org.apache.axis' range='[0.0.0,1.4.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
- <property name='df_LT.Bundle-Name.0' value='Apache Web Services'/>
- <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
- <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
- </properties>
- <provides size='63'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.axis' version='1.4.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.axis' version='1.4.0.v200803061811'/>
- <provided namespace='java.package' name='org.apache.axis' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.attachments' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.client' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.client.async' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.collections' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.components.compiler' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.components.encoding' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.components.image' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.components.jms' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.components.logger' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.components.net' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.components.script' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.components.threadpool' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.components.uuid' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.configuration' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.constants' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.deployment.wsdd' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.deployment.wsdd.providers' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.description' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.encoding' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.encoding.ser' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.encoding.ser.castor' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.enum' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.handlers' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.handlers.http' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.handlers.soap' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.holders' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.i18n' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.management' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.management.jmx' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.message' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.monitor' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.providers' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.providers.java' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.schema' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.security' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.security.servlet' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.security.simple' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.server' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.session' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.soap' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.strategies' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.tools.ant.axis' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.tools.ant.foreach' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.tools.ant.wsdl' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.transport.http' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.transport.java' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.transport.jms' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.transport.local' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.transport.mail' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.types' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.utils' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.utils.bytecode' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.utils.cache' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.wsdl' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.wsdl.fromJava' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.wsdl.gen' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.wsdl.symbolTable' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.axis.wsdl.toJava' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='7'>
- <required namespace='osgi.bundle' name='javax.xml.rpc' range='[1.1.0,2.0.0)'/>
- <required namespace='osgi.bundle' name='javax.xml.soap' range='[1.2.0,2.0.0)'/>
- <required namespace='osgi.bundle' name='javax.wsdl' range='[1.5.1,2.0.0)'/>
- <required namespace='osgi.bundle' name='org.apache.commons.discovery' range='[0.2.0,1.0.0)'/>
- <required namespace='osgi.bundle' name='org.apache.ant' range='[1.6.5,2.0.0)'/>
- <required namespace='java.package' name='org.apache.commons.logging' range='[1.0.4,2.0.0)' optional='true'/>
- <required namespace='java.package' name='org.apache.commons.logging.impl' range='[1.0.4,2.0.0)' optional='true'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.axis' version='1.4.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='2'>
- <instruction key='manifest'>
- Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-Name: %Bundle-Name.0
-Manifest-Version: 1.0
-Bundle-Vendor: %Bundle-Vendor.0
-Bundle-ClassPath: lib/axis.jar,lib/axis-ant.jar,lib/javaxzombie.jar,lib/
-Bundle-SymbolicName: org.apache.axis
-Import-Package: org.apache.commons.logging;version="[1.0.4,2.0.0)";resolution:=optional,org.apache.commons.logging.impl;version="[1.0.4,2.0.0)";resolution:=optional
-Bundle-ManifestVersion: 2
-Bundle-Version: 1.4.0.v200803061811
-Bundle-Localization: plugin
-Eclipse-BuddyPolicy: registered
-Export-Package: org.apache.axis,org.apache.axis.attachments,org.apache.axis.client,org.apache.axis.client.async,org.apache.axis.collections,org.apache.axis.components.compiler,org.apache.axis.components.encoding,org.apache.axis.components.image,org.apache.axis.components.jms,org.apache.axis.components.logger,org.apache.axis.components.net,org.apache.axis.components.script,org.apache.axis.components.threadpool,org.apache.axis.components.uuid,org.apache.axis.configuration,org.apache.axis.constants,org.apache.axis.deployment.wsdd,org.apache.axis.deployment.wsdd.providers,org.apache.axis.description,org.apache.axis.encoding,org.apache.axis.encoding.ser,org.apache.axis.encoding.ser.castor,org.apache.axis.enum,org.apache.axis.handlers,org.apache.axis.handlers.http,org.apache.axis.handlers.soap,org.apache.axis.holders,org.apache.axis.i18n,org.apache.axis.management,org.apache.axis.management.jmx,org.apache.axis.message,org.apache.axis.monitor,org.apache.axis.providers,org.apache.axis.providers.java,org.apache.axis.schema,org.apache.axis.security,org.apache.axis.security.servlet,org.apache.axis.security.simple,org.apache.axis.server,org.apache.axis.session,org.apache.axis.soap,org.apache.axis.strategies,org.apache.axis.tools.ant.axis,org.apache.axis.tools.ant.foreach,org.apache.axis.tools.ant.wsdl,org.apache.axis.transport.http,org.apache.axis.transport.java,org.apache.axis.transport.jms,org.apache.axis.transport.local,org.apache.axis.transport.mail,org.apache.axis.types,org.apache.axis.utils,org.apache.axis.utils.bytecode,org.apache.axis.utils.cache,org.apache.axis.wsdl,org.apache.axis.wsdl.fromJava,org.apache.axis.wsdl.gen,org.apache.axis.wsdl.symbolTable,org.apache.axis.wsdl.toJava
-Require-Bundle: javax.xml.rpc;bundle-version="[1.1.0,2.0.0)",javax.xml.soap;bundle-version="[1.2.0,2.0.0)",javax.wsdl;bundle-version="[1.5.1,2.0.0)",org.apache.commons.discovery;bundle-version="[0.2.0,1.0.0)",org.apache.ant;bundle-version="[1.6.5,2.0.0)"
-
- </instruction>
- <instruction key='zipped'>
- true
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.commons.httpclient.source' version='3.1.0.v200803061910' singleton='false'>
- <update id='org.apache.commons.httpclient.source' range='[0.0.0,3.1.0.v200803061910)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.bundleName' value='Apache Commons Httpclient Source Plug-in'/>
- <property name='df_LT.bundleProvider' value='Eclipse.org'/>
- <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.httpclient.source' version='3.1.0.v200803061910'/>
- <provided namespace='osgi.bundle' name='org.apache.commons.httpclient.source' version='3.1.0.v200803061910'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.commons.httpclient.source' version='3.1.0.v200803061910'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 3.1.0.v200803061910
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.commons.httpclient.source
-Bundle-Name: %bundleName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.commons.httpclient;version="3.1.0.v200803061910"
-Bundle-Vendor: %bundleProvider
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='com.ibm.icu.source' version='3.4.5' singleton='false'>
- <update id='com.ibm.icu.source' range='[0.0.0,3.4.5)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='IBM Corporation'/>
- <property name='df_LT.pluginName' value='International Components for Unicode for Java (ICU4J) source plug-in'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='com.ibm.icu.source' version='3.4.5'/>
- <provided namespace='osgi.bundle' name='com.ibm.icu.source' version='3.4.5'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='com.ibm.icu.source' version='3.4.5'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-Name: %pluginName
-Bundle-Version: 3.4.5
-Bundle-SymbolicName: com.ibm.icu.source
-Manifest-Version: 1.0
-Eclipse-SourceBundle: com.ibm.icu;version="3.4.5"
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.commons.io' version='1.3.2.v200803061811' singleton='false'>
- <update id='org.apache.commons.io' range='[0.0.0,1.3.2.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Commons IO'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='8'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.io' version='1.3.2.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.commons.io' version='1.3.2.v200803061811'/>
- <provided namespace='java.package' name='org.apache.commons.io' version='1.3.2'/>
- <provided namespace='java.package' name='org.apache.commons.io.filefilter' version='1.3.2'/>
- <provided namespace='java.package' name='org.apache.commons.io.input' version='1.3.2'/>
- <provided namespace='java.package' name='org.apache.commons.io.output' version='1.3.2'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.commons.io' version='1.3.2.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.3.2.v200803061811
-Export-Package: org.apache.commons.io;version="1.3.2",org.apache.commons.io.filefilter;version="1.3.2",org.apache.commons.io.input;version="1.3.2",org.apache.commons.io.output;version="1.3.2"
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.commons.io
-Bundle-Name: %pluginName
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='ch.ethz.iks.slp.source' version='1.0.0.RC2_v200803061811' singleton='false'>
- <update id='ch.ethz.iks.slp.source' range='[0.0.0,1.0.0.RC2_v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='jSLP Source'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='ch.ethz.iks.slp.source' version='1.0.0.RC2_v200803061811'/>
- <provided namespace='osgi.bundle' name='ch.ethz.iks.slp.source' version='1.0.0.RC2_v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='ch.ethz.iks.slp.source' version='1.0.0.RC2_v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.0.0.RC2_v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: ch.ethz.iks.slp.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: ch.ethz.iks.slp;version="1.0.0.RC2_v200803061811"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.junit' version='3.8.1.v200803061811' singleton='false'>
- <update id='org.junit' range='[0.0.0,3.8.1.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='JUnit Testing Framework'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='11'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.junit' version='3.8.1.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.junit' version='3.8.1.v200803061811'/>
- <provided namespace='java.package' name='junit.awtui' version='3.8.1'/>
- <provided namespace='java.package' name='junit.extensions' version='3.8.1'/>
- <provided namespace='java.package' name='junit.framework' version='3.8.1'/>
- <provided namespace='java.package' name='junit.runner' version='3.8.1'/>
- <provided namespace='java.package' name='junit.swingui' version='3.8.1'/>
- <provided namespace='java.package' name='junit.swingui.icons' version='3.8.1'/>
- <provided namespace='java.package' name='junit.textui' version='3.8.1'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.junit' version='3.8.1.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='2'>
- <instruction key='manifest'>
- Bundle-Vendor: %providerName
-Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Bundle-ClassPath: junit.jar
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.junit
-Bundle-Version: 3.8.1.v200803061811
-Eclipse-LazyStart: true
-Export-Package: junit.awtui;version="3.8.1",junit.extensions;version="3.8.1",junit.framework;version="3.8.1",junit.runner;version="3.8.1",junit.swingui;version="3.8.1",junit.swingui.icons;version="3.8.1",junit.textui;version="3.8.1"
-
- </instruction>
- <instruction key='zipped'>
- true
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.commons.net' version='1.4.1.v200803071935' singleton='false'>
- <update id='org.apache.commons.net' range='[0.0.0,1.4.1.v200803071935)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Commons Net'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='16'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.net' version='1.4.1.v200803071935'/>
- <provided namespace='osgi.bundle' name='org.apache.commons.net' version='1.4.1.v200803071935'/>
- <provided namespace='java.package' name='org.apache.commons.net' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.commons.net.bsd' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.commons.net.ftp' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.commons.net.ftp.parser' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.commons.net.io' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.commons.net.nntp' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.commons.net.ntp' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.commons.net.pop3' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.commons.net.smtp' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.commons.net.telnet' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.commons.net.tftp' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.commons.net.util' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='1'>
- <required namespace='osgi.bundle' name='org.apache.oro' range='[2.0.8,2.1.0)'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.commons.net' version='1.4.1.v200803071935'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.2
-Require-Bundle: org.apache.oro;bundle-version="[2.0.8,2.1.0)"
-Manifest-Version: 1.0
-Bundle-Version: 1.4.1.v200803071935
-Export-Package: org.apache.commons.net,org.apache.commons.net.bsd,org.apache.commons.net.ftp,org.apache.commons.net.ftp.parser,org.apache.commons.net.io,org.apache.commons.net.nntp,org.apache.commons.net.ntp,org.apache.commons.net.pop3,org.apache.commons.net.smtp,org.apache.commons.net.telnet,org.apache.commons.net.tftp,org.apache.commons.net.util
-Bundle-SymbolicName: org.apache.commons.net
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.batik.dom.svg' version='1.6.0.v200803061811' singleton='false'>
- <update id='org.apache.batik.dom.svg' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Batik SVG DOM'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='6'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.dom.svg' version='1.6.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.batik.dom.svg' version='1.6.0.v200803061811'/>
- <provided namespace='java.package' name='org.apache.batik.dom.svg' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.dom.svg12' version='1.6.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='8'>
- <required namespace='osgi.bundle' name='org.apache.batik.css' range='0.0.0'/>
- <required namespace='osgi.bundle' name='org.apache.batik.dom' range='0.0.0'/>
- <required namespace='osgi.bundle' name='org.apache.batik.parser' range='0.0.0'/>
- <required namespace='osgi.bundle' name='org.apache.batik.util' range='0.0.0'/>
- <required namespace='osgi.bundle' name='org.w3c.css.sac' range='0.0.0'/>
- <required namespace='osgi.bundle' name='org.w3c.dom.smil' range='0.0.0'/>
- <required namespace='osgi.bundle' name='org.w3c.dom.svg' range='0.0.0'/>
- <required namespace='java.package' name='org.w3c.dom' range='0.0.0'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.batik.dom.svg' version='1.6.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-Vendor: %providerName
-Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,J2SE-1.3
-Require-Bundle: org.apache.batik.css;version="[1.6.0,1.7.0)",org.apache.batik.dom;version="[1.6.0,1.7.0)",org.apache.batik.parser;version="[1.6.0,1.7.0)",org.apache.batik.util;version="[1.6.0,1.7.0)",org.w3c.css.sac;version="[1.3.0,1.4.0)",org.w3c.dom.smil;version="[1.0.0,1.1.0)",org.w3c.dom.svg;version="[1.1.0,1.3.0)"
-Import-Package: org.w3c.dom
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.batik.dom.svg
-Bundle-Version: 1.6.0.v200803061811
-Export-Package: org.apache.batik.dom.svg;version="1.6.0",org.apache.batik.dom.svg12;version="1.6.0"
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.xerces' version='2.8.0.v200803070308' singleton='false'>
- <update id='org.apache.xerces' range='[0.0.0,2.8.0.v200803070308)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
- <property name='df_LT.Bundle-Name.0' value='Apache Xerces-J'/>
- <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
- <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
- </properties>
- <provides size='67'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.xerces' version='2.8.0.v200803070308'/>
- <provided namespace='osgi.bundle' name='org.apache.xerces' version='2.8.0.v200803070308'/>
- <provided namespace='java.package' name='META-INF.services' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.datatype' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.namespace' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.parsers' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.transform' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.transform.dom' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.transform.sax' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.transform.stream' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.validation' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.xpath' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.html.dom' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.wml' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.wml.dom' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.dom' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.dom.events' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.dom3.as' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.impl' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.impl.dtd' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.impl.dtd.models' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.impl.dv' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.impl.dv.dtd' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.impl.dv.util' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.impl.dv.xs' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.impl.io' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.impl.msg' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.impl.validation' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.impl.xpath' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.impl.xpath.regex' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.impl.xs' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.impl.xs.identity' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.impl.xs.models' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.impl.xs.opti' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.impl.xs.traversers' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.impl.xs.util' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.jaxp' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.jaxp.datatype' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.jaxp.validation' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.parsers' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.util' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.xinclude' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.xni' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.xni.grammars' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.xni.parser' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.xpointer' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.xs' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.xs.datatypes' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xml.serialize' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xmlcommons' version='0.0.0'/>
- <provided namespace='java.package' name='org.w3c.dom' version='0.0.0'/>
- <provided namespace='java.package' name='org.w3c.dom.bootstrap' version='0.0.0'/>
- <provided namespace='java.package' name='org.w3c.dom.css' version='0.0.0'/>
- <provided namespace='java.package' name='org.w3c.dom.events' version='0.0.0'/>
- <provided namespace='java.package' name='org.w3c.dom.html' version='0.0.0'/>
- <provided namespace='java.package' name='org.w3c.dom.ls' version='0.0.0'/>
- <provided namespace='java.package' name='org.w3c.dom.ranges' version='0.0.0'/>
- <provided namespace='java.package' name='org.w3c.dom.stylesheets' version='0.0.0'/>
- <provided namespace='java.package' name='org.w3c.dom.traversal' version='0.0.0'/>
- <provided namespace='java.package' name='org.w3c.dom.views' version='0.0.0'/>
- <provided namespace='java.package' name='org.w3c.dom.xpath' version='0.0.0'/>
- <provided namespace='java.package' name='org.xml.sax' version='0.0.0'/>
- <provided namespace='java.package' name='org.xml.sax.ext' version='0.0.0'/>
- <provided namespace='java.package' name='org.xml.sax.helpers' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='2'>
- <required namespace='osgi.bundle' name='org.eclipse.osgi' range='0.0.0'/>
- <required namespace='osgi.bundle' name='org.apache.xml.resolver' range='0.0.0'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.xerces' version='2.8.0.v200803070308'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-Vendor: %Bundle-Vendor.0
-Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.2
-Bundle-ClassPath: .
-Require-Bundle: system.bundle,org.apache.xml.resolver;visibility:=reexport
-Bundle-Name: %Bundle-Name.0
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.xerces
-Bundle-Version: 2.8.0.v200803070308
-Export-Package: META-INF.services,javax.xml,javax.xml.datatype,javax.xml.namespace,javax.xml.parsers,javax.xml.transform,javax.xml.transform.dom,javax.xml.transform.sax,javax.xml.transform.stream,javax.xml.validation,javax.xml.xpath,org.apache.html.dom,org.apache.wml,org.apache.wml.dom,org.apache.xerces.dom,org.apache.xerces.dom.events,org.apache.xerces.dom3.as,org.apache.xerces.impl,org.apache.xerces.impl.dtd,org.apache.xerces.impl.dtd.models,org.apache.xerces.impl.dv,org.apache.xerces.impl.dv.dtd,org.apache.xerces.impl.dv.util,org.apache.xerces.impl.dv.xs,org.apache.xerces.impl.io,org.apache.xerces.impl.msg,org.apache.xerces.impl.validation,org.apache.xerces.impl.xpath,org.apache.xerces.impl.xpath.regex,org.apache.xerces.impl.xs,org.apache.xerces.impl.xs.identity,org.apache.xerces.impl.xs.models,org.apache.xerces.impl.xs.opti,org.apache.xerces.impl.xs.traversers,org.apache.xerces.impl.xs.util,org.apache.xerces.jaxp,org.apache.xerces.jaxp.datatype,org.apache.xerces.jaxp.validation,org.apache.xerces.parsers,org.apache.xerces.util,org.apache.xerces.xinclude,org.apache.xerces.xni,org.apache.xerces.xni.grammars,org.apache.xerces.xni.parser,org.apache.xerces.xpointer,org.apache.xerces.xs,org.apache.xerces.xs.datatypes,org.apache.xml.serialize,org.apache.xmlcommons,org.w3c.dom,org.w3c.dom.bootstrap,org.w3c.dom.css,org.w3c.dom.events,org.w3c.dom.html,org.w3c.dom.ls,org.w3c.dom.ranges,org.w3c.dom.stylesheets,org.w3c.dom.traversal,org.w3c.dom.views,org.w3c.dom.xpath,org.xml.sax,org.xml.sax.ext,org.xml.sax.helpers
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='net.sourceforge.lpg.lpgjavaruntime' version='1.0.0.v200803061811' singleton='false'>
- <update id='net.sourceforge.lpg.lpgjavaruntime' range='[0.0.0,1.0.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='SourceForge LPG'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='5'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='net.sourceforge.lpg.lpgjavaruntime' version='1.0.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='net.sourceforge.lpg.lpgjavaruntime' version='1.0.0.v200803061811'/>
- <provided namespace='java.package' name='lpg.lpgjavaruntime' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='net.sourceforge.lpg.lpgjavaruntime' version='1.0.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3
-Manifest-Version: 1.0
-Bundle-Version: 1.0.0.v200803061811
-Export-Package: lpg.lpgjavaruntime; version="1.0"
-Bundle-SymbolicName: net.sourceforge.lpg.lpgjavaruntime
-Bundle-Localization: plugin
-Bundle-ClassPath: .
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='javax.servlet.jsp' version='2.0.0.v200803061910' singleton='false'>
- <update id='javax.servlet.jsp' range='[0.0.0,2.0.0.v200803061910)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.bundleName' value='Java Server Pages API Bundle'/>
- <property name='df_LT.bundleProvider' value='Eclipse.org'/>
- <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
- </properties>
- <provides size='8'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='javax.servlet.jsp' version='2.0.0.v200803061910'/>
- <provided namespace='osgi.bundle' name='javax.servlet.jsp' version='2.0.0.v200803061910'/>
- <provided namespace='java.package' name='javax.servlet.jsp' version='2.0.0'/>
- <provided namespace='java.package' name='javax.servlet.jsp.el' version='2.0.0'/>
- <provided namespace='java.package' name='javax.servlet.jsp.resources' version='2.0.0'/>
- <provided namespace='java.package' name='javax.servlet.jsp.tagext' version='2.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='3'>
- <required namespace='java.package' name='javax.servlet' range='2.4.0'/>
- <required namespace='java.package' name='javax.servlet.http' range='2.4.0'/>
- <required namespace='java.package' name='javax.servlet.resources' range='2.4.0'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='javax.servlet.jsp' version='2.0.0.v200803061910'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3
-Manifest-Version: 1.0
-Bundle-Version: 2.0.0.v200803061910
-Export-Package: javax.servlet.jsp; version=2.0,javax.servlet.jsp.el; version=2.0,javax.servlet.jsp.resources; version=2.0,javax.servlet.jsp.tagext; version=2.0
-Bundle-SymbolicName: javax.servlet.jsp
-Import-Package: javax.servlet; version=2.4,javax.servlet.http; version=2.4,javax.servlet.resources; version=2.4
-Bundle-Localization: plugin
-Bundle-Name: %bundleName
-Bundle-Vendor: %bundleProvider
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='javax.servlet' version='2.5.0.v200803061920' singleton='false'>
- <update id='javax.servlet' range='[0.0.0,2.5.0.v200803061920)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.bundleName' value='Servlet API Bundle'/>
- <property name='df_LT.bundleProvider' value='Eclipse.org'/>
- <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
- </properties>
- <provides size='7'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='javax.servlet' version='2.5.0.v200803061920'/>
- <provided namespace='osgi.bundle' name='javax.servlet' version='2.5.0.v200803061920'/>
- <provided namespace='java.package' name='javax.servlet' version='2.5.0'/>
- <provided namespace='java.package' name='javax.servlet.http' version='2.5.0'/>
- <provided namespace='java.package' name='javax.servlet.resources' version='2.5.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='javax.servlet' version='2.5.0.v200803061920'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Name: %bundleName
-Bundle-Version: 2.5.0.v200803061920
-Export-Package: javax.servlet;version="2.5",javax.servlet.http;version="2.5",javax.servlet.resources;version="2.5"
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-SymbolicName: javax.servlet
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %bundleProvider
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.batik.swing.source' version='1.6.0.v200803061811' singleton='false'>
- <update id='org.apache.batik.swing.source' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Batik Swing Source Bundle'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.swing.source' version='1.6.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.batik.swing.source' version='1.6.0.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.batik.swing.source' version='1.6.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.6.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.batik.swing.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.batik.swing;version="1.6.0.v200803061811"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.commons.io.source' version='1.3.2.v200803061811' singleton='false'>
- <update id='org.apache.commons.io.source' range='[0.0.0,1.3.2.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Commons IO Source'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.io.source' version='1.3.2.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.commons.io.source' version='1.3.2.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.commons.io.source' version='1.3.2.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.3.2.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.commons.io.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.commons.io;version="1.3.2.v200803061811"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='com.ibm.icu' version='3.8.1.v20080304'>
- <update id='com.ibm.icu' range='[0.0.0,3.8.1.v20080304)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='IBM Corporation'/>
- <property name='df_LT.pluginName' value='International Components for Unicode for Java (ICU4J)'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='15'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='com.ibm.icu' version='3.8.1.v20080304'/>
- <provided namespace='osgi.bundle' name='com.ibm.icu' version='3.8.1.v20080304'/>
- <provided namespace='java.package' name='com.ibm.icu.lang' version='3.8.1'/>
- <provided namespace='java.package' name='com.ibm.icu.math' version='3.8.1'/>
- <provided namespace='java.package' name='com.ibm.icu.text' version='3.8.1'/>
- <provided namespace='java.package' name='com.ibm.icu.util' version='3.8.1'/>
- <provided namespace='java.package' name='com.ibm.icu.impl' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.icu.impl.data' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.icu.impl.data.icudt38b' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.icu.impl.data.icudt38b.brkitr' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.icu.impl.data.icudt38b.coll' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.icu.impl.data.icudt38b.rbnf' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.icu.impl.data.icudt38b.translit' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='com.ibm.icu' version='3.8.1.v20080304'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3
-Bundle-Name: %pluginName
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-Bundle-ClassPath: icu-jse4.jar,icu-data.jar,.
-Bundle-SymbolicName: com.ibm.icu; singleton:=true
-Bundle-ManifestVersion: 2
-Eclipse-LazyStart: true
-Bundle-Version: 3.8.1.v20080304
-Bundle-Localization: plugin
-Bundle-Copyright: Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2000, 2008. All Rights Reserved. IBM is a registered trademark of IBM Corp.
-Eclipse-ExtensibleAPI: true
-Export-Package: com.ibm.icu.lang;version="3.8.1",com.ibm.icu.math;version="3.8.1",com.ibm.icu.text;version="3.8.1",com.ibm.icu.util;version="3.8.1",com.ibm.icu.impl;x-internal:=true,com.ibm.icu.impl.data;x-internal:=true,com.ibm.icu.impl.data.icudt38b;x-internal:=true,com.ibm.icu.impl.data.icudt38b.brkitr;x-internal:=true,com.ibm.icu.impl.data.icudt38b.coll;x-internal:=true,com.ibm.icu.impl.data.icudt38b.rbnf;x-internal:=true,com.ibm.icu.impl.data.icudt38b.translit;x-internal:=true
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.batik.util.source' version='1.6.0.v200803061811' singleton='false'>
- <update id='org.apache.batik.util.source' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Batik Utilities Source Bundle'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.util.source' version='1.6.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.batik.util.source' version='1.6.0.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.batik.util.source' version='1.6.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.6.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.batik.util.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.batik.util;version="1.6.0.v200803061811"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.mortbay.jetty.server.source' version='6.1.7.v200803061811' singleton='false'>
- <update id='org.mortbay.jetty.server.source' range='[0.0.0,6.1.7.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.bundleName' value='Jetty Server Source'/>
- <property name='df_LT.bundleProvider' value='Eclipse.org'/>
- <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.mortbay.jetty.server.source' version='6.1.7.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.mortbay.jetty.server.source' version='6.1.7.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.mortbay.jetty.server.source' version='6.1.7.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 6.1.7.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.mortbay.jetty.server.source
-Bundle-Name: %bundleName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.mortbay.jetty.server;version="6.1.7.v200803061811"
-Bundle-Vendor: %bundleProvider
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='com.ibm.icu.base' version='3.4.5' singleton='false'>
- <update id='com.ibm.icu.base' range='[0.0.0,3.4.5)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='IBM Corporation'/>
- <property name='df_LT.pluginName' value='International Components for Unicode for Java (ICU4J) Replacement plug-in'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='6'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='com.ibm.icu.base' version='3.4.5'/>
- <provided namespace='osgi.bundle' name='com.ibm.icu.base' version='3.4.5'/>
- <provided namespace='java.package' name='com.ibm.icu.text' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.icu.util' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='com.ibm.icu.base' version='3.4.5'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-Vendor: %providerName
-Bundle-ManifestVersion: 2
-Bundle-Copyright: Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2006. All Rights Reserved. IBM is a registered trademark of IBM Corp.
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-SymbolicName: com.ibm.icu.base
-Bundle-Version: 3.4.5
-Eclipse-LazyStart: true
-Export-Package: com.ibm.icu.text,com.ibm.icu.util
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='com.ibm.icu.base' version='3.6.1.v20080304' singleton='false'>
- <update id='com.ibm.icu.base' range='[0.0.0,3.6.1.v20080304)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='IBM Corporation'/>
- <property name='df_LT.pluginName' value='International Components for Unicode for Java (ICU4J) Replacement plug-in'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='6'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='com.ibm.icu.base' version='3.6.1.v20080304'/>
- <provided namespace='osgi.bundle' name='com.ibm.icu.base' version='3.6.1.v20080304'/>
- <provided namespace='java.package' name='com.ibm.icu.text' version='3.6.1'/>
- <provided namespace='java.package' name='com.ibm.icu.util' version='3.6.1'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='com.ibm.icu.base' version='3.6.1.v20080304'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3
-Ant-Version: Apache Ant 1.7.0
-Bundle-Name: %pluginName
-Created-By: 1.4.2 (IBM Corporation)
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: com.ibm.icu.base
-Bundle-ManifestVersion: 2
-Eclipse-LazyStart: true
-Bundle-Version: 3.6.1.v20080304
-Bundle-Localization: plugin
-Bundle-Copyright: Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2000, 2007. All Rights Reserved. IBM is a registered trademark of IBM Corp.
-Export-Package: com.ibm.icu.text;version="3.6.1",com.ibm.icu.util;version="3.6.1"
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.lucene' version='1.4.3.v200803061910' singleton='false'>
- <update id='org.apache.lucene' range='[0.0.0,1.4.3.v200803061910)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.lucene_plugin_name' value='Apache Lucene'/>
- <property name='org.eclipse.equinox.p2.name' value='%lucene_plugin_name'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='15'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.lucene' version='1.4.3.v200803061910'/>
- <provided namespace='osgi.bundle' name='org.apache.lucene' version='1.4.3.v200803061910'/>
- <provided namespace='java.package' name='org.apache.lucene.analysis' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.lucene.analysis.de' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.lucene.analysis.ru' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.lucene.analysis.standard' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.lucene.document' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.lucene.index' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.lucene.queryParser' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.lucene.search' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.lucene.search.spans' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.lucene.store' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.lucene.util' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.lucene' version='1.4.3.v200803061910'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-Vendor: %providerName
-Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.3,CDC-1.0/Foundation-1.0
-Bundle-ClassPath: .
-Bundle-Name: %lucene_plugin_name
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.lucene
-Bundle-Version: 1.4.3.v200803061910
-Eclipse-LazyStart: false
-Export-Package: org.apache.lucene.analysis,org.apache.lucene.analysis.de,org.apache.lucene.analysis.ru,org.apache.lucene.analysis.standard,org.apache.lucene.document,org.apache.lucene.index,org.apache.lucene.queryParser,org.apache.lucene.search,org.apache.lucene.search.spans,org.apache.lucene.store,org.apache.lucene.util
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.commons.codec.source' version='1.2.0.v200803061811' singleton='false'>
- <update id='org.apache.commons.codec.source' range='[0.0.0,1.2.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.bundleName' value='Apache Commons Codec Source Plug-in'/>
- <property name='df_LT.bundleProvider' value='Eclipse.org'/>
- <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.codec.source' version='1.2.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.commons.codec.source' version='1.2.0.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.commons.codec.source' version='1.2.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.2.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.commons.codec.source
-Bundle-Name: %bundleName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.commons.codec;version="1.2.0.v200803061811"
-Bundle-Vendor: %bundleProvider
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.wsil4j' version='1.0.0.v200803061811' singleton='false'>
- <update id='org.apache.wsil4j' range='[0.0.0,1.0.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
- <property name='df_LT.Bundle-Name.0' value='WSIL4J'/>
- <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
- <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
- </properties>
- <provides size='15'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.wsil4j' version='1.0.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.wsil4j' version='1.0.0.v200803061811'/>
- <provided namespace='java.package' name='org.apache.wsil' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.wsil.client' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.wsil.extension' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.wsil.extension.uddi' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.wsil.extension.wsdl' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.wsil.impl' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.wsil.impl.extension' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.wsil.impl.extension.uddi' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.wsil.impl.extension.wsdl' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.wsil.util' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.wsil.xml' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='3'>
- <required namespace='osgi.bundle' name='org.uddi4j' range='[2.0.4,3.0.0)'/>
- <required namespace='osgi.bundle' name='org.apache.axis' range='[1.3.0,2.0.0)'/>
- <required namespace='osgi.bundle' name='javax.wsdl' range='[1.4.0,1.5.0)'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.wsil4j' version='1.0.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-Vendor: %Bundle-Vendor.0
-Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Require-Bundle: org.uddi4j;bundle-version="[2.0.4,3.0.0)",org.apache.axis;bundle-version="[1.3.0,2.0.0)",javax.wsdl;bundle-version="[1.4.0,1.5.0)"
-Bundle-Name: %Bundle-Name.0
-Bundle-Localization: plugin
-Eclipse-BuddyPolicy: registered
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.wsil4j
-Bundle-Version: 1.0.0.v200803061811
-Export-Package: org.apache.wsil,org.apache.wsil.client,org.apache.wsil.extension,org.apache.wsil.extension.uddi,org.apache.wsil.extension.wsdl,org.apache.wsil.impl,org.apache.wsil.impl.extension,org.apache.wsil.impl.extension.uddi,org.apache.wsil.impl.extension.wsdl,org.apache.wsil.util,org.apache.wsil.xml
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='com.ibm.icu.source' version='3.6.1.v20080304' singleton='false'>
- <update id='com.ibm.icu.source' range='[0.0.0,3.6.1.v20080304)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='IBM Corporation'/>
- <property name='df_LT.pluginName' value='International Components for Unicode for Java (ICU4J) source plug-in'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='com.ibm.icu.source' version='3.6.1.v20080304'/>
- <provided namespace='osgi.bundle' name='com.ibm.icu.source' version='3.6.1.v20080304'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='com.ibm.icu.source' version='3.6.1.v20080304'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-Name: %pluginName
-Bundle-Version: 3.6.1.v20080304
-Bundle-SymbolicName: com.ibm.icu.source
-Manifest-Version: 1.0
-Eclipse-SourceBundle: com.ibm.icu;version="3.6.1.v20080304"
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.commons.jxpath.source' version='1.2.0.v200803061811' singleton='false'>
- <update id='org.apache.commons.jxpath.source' range='[0.0.0,1.2.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Commons JXPath Source'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.jxpath.source' version='1.2.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.commons.jxpath.source' version='1.2.0.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.commons.jxpath.source' version='1.2.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.2.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.commons.jxpath.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.commons.jxpath;version="1.2.0.v200803061811"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.batik.extension.source' version='1.6.0.v200803061811' singleton='false'>
- <update id='org.apache.batik.extension.source' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Batik Extension Source Bundle'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.extension.source' version='1.6.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.batik.extension.source' version='1.6.0.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.batik.extension.source' version='1.6.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.6.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.batik.extension.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.batik.extension;version="1.6.0.v200803061811"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.batik.dom.svg.source' version='1.6.0.v200803061811' singleton='false'>
- <update id='org.apache.batik.dom.svg.source' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Batik SVG DOM Source Bundle'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.dom.svg.source' version='1.6.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.batik.dom.svg.source' version='1.6.0.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.batik.dom.svg.source' version='1.6.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.6.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.batik.dom.svg.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.batik.dom.svg;version="1.6.0.v200803061811"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='javax.management.remote' version='1.0.0.v200803061811' singleton='false'>
- <update id='javax.management.remote' range='[0.0.0,1.0.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
- <property name='df_LT.Bundle-Name.0' value='Java Management Remote Extensions API'/>
- <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
- <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
- </properties>
- <provides size='6'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='javax.management.remote' version='1.0.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='javax.management.remote' version='1.0.0.v200803061811'/>
- <provided namespace='java.package' name='javax.management.remote' version='0.0.0'/>
- <provided namespace='java.package' name='javax.management.remote.rmi' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='javax.management.remote' version='1.0.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.0.0.v200803061811
-Export-Package: javax.management.remote,javax.management.remote.rmi
-Manifest-Version: 1.0
-Bundle-SymbolicName: javax.management.remote
-Bundle-Name: %Bundle-Name.0
-Bundle-Localization: plugin
-Bundle-Vendor: %Bundle-Vendor.0
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.commons.el' version='1.0.0.v200803061811' singleton='false'>
- <update id='org.apache.commons.el' range='[0.0.0,1.0.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.bundleName' value='Apache Commons JSP 2.0 Expression Language Interpreter'/>
- <property name='df_LT.bundleProvider' value='Eclipse.org'/>
- <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
- </properties>
- <provides size='6'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.el' version='1.0.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.commons.el' version='1.0.0.v200803061811'/>
- <provided namespace='java.package' name='org.apache.commons.el' version='1.0.0'/>
- <provided namespace='java.package' name='org.apache.commons.el.parser' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='7'>
- <required namespace='java.package' name='javax.servlet' range='2.4.0'/>
- <required namespace='java.package' name='javax.servlet.http' range='2.4.0'/>
- <required namespace='java.package' name='javax.servlet.jsp' range='2.0.0'/>
- <required namespace='java.package' name='javax.servlet.jsp.el' range='2.0.0'/>
- <required namespace='java.package' name='javax.servlet.jsp.resources' range='2.0.0'/>
- <required namespace='java.package' name='javax.servlet.jsp.tagext' range='2.0.0'/>
- <required namespace='java.package' name='javax.servlet.resources' range='2.4.0'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.commons.el' version='1.0.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3
-Manifest-Version: 1.0
-Bundle-Version: 1.0.0.v200803061811
-Export-Package: org.apache.commons.el;version="1.0.0",org.apache.commons.el.parser;version="1.0.0"
-Bundle-SymbolicName: org.apache.commons.el
-Import-Package: javax.servlet;version="2.4",javax.servlet.http;version="2.4",javax.servlet.jsp;version="2.0",javax.servlet.jsp.el;version="2.0",javax.servlet.jsp.resources;version="2.0",javax.servlet.jsp.tagext;version="2.0",javax.servlet.resources;version="2.4"
-Bundle-Localization: plugin
-Bundle-Name: %bundleName
-Bundle-Vendor: %bundleProvider
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.derby' version='10.1.2.1_v200803061811' singleton='false'>
- <update id='org.apache.derby' range='[0.0.0,10.1.2.1_v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
- <property name='df_LT.Bundle-Name.0' value='Apache Derby Plug-in'/>
- <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
- <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
- </properties>
- <provides size='82'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.derby' version='10.1.2.1_v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.derby' version='10.1.2.1_v200803061811'/>
- <provided namespace='java.package' name='org.apache.derby.authentication' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.catalog' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.catalog.types' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.database' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.diag' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.drda' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.iapi.db' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.iapi.error' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.iapi.jdbc' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.iapi.services.cache' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.iapi.services.classfile' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.iapi.services.compiler' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.iapi.services.context' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.iapi.services.crypto' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.iapi.services.daemon' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.iapi.services.i18n' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.iapi.services.info' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.iapi.services.io' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.iapi.services.loader' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.iapi.services.locks' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.iapi.services.monitor' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.iapi.services.property' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.iapi.services.stream' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.iapi.services.uuid' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.iapi.sql' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.iapi.sql.compile' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.iapi.sql.conn' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.iapi.sql.depend' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.iapi.sql.dictionary' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.iapi.sql.execute' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.iapi.store.access' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.iapi.store.access.conglomerate' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.iapi.store.access.xa' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.iapi.store.raw' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.iapi.store.raw.data' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.iapi.store.raw.log' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.iapi.store.raw.xact' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.iapi.tools.i18n' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.iapi.types' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.iapi.util' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.impl.db' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.impl.drda' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.impl.io' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.impl.jdbc' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.impl.jdbc.authentication' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.impl.load' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.impl.services.bytecode' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.impl.services.cache' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.impl.services.daemon' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.impl.services.jce' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.impl.services.locks' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.impl.services.monitor' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.impl.services.reflect' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.impl.services.stream' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.impl.services.uuid' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.impl.sql' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.impl.sql.catalog' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.impl.sql.compile' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.impl.sql.conn' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.impl.sql.depend' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.impl.sql.execute' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.impl.sql.execute.rts' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.impl.store.access' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.impl.store.access.btree' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.impl.store.access.btree.index' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.impl.store.access.conglomerate' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.impl.store.access.heap' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.impl.store.access.sort' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.impl.store.raw' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.impl.store.raw.data' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.impl.store.raw.log' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.impl.store.raw.xact' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.impl.tools.sysinfo' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.io' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.jdbc' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.osgi' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.tools' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.derby.vti' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='2'>
- <required namespace='java.package' name='javax.servlet' range='2.4.0' optional='true'/>
- <required namespace='java.package' name='javax.servlet.http' range='2.4.0' optional='true'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.derby' version='10.1.2.1_v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name.0
-Bundle-Version: 10.1.2.1_v200803061811
-Export-Package: org.apache.derby.authentication,org.apache.derby.catalog,org.apache.derby.catalog.types,org.apache.derby.database,org.apache.derby.diag,org.apache.derby.drda,org.apache.derby.iapi.db,org.apache.derby.iapi.error,org.apache.derby.iapi.jdbc,org.apache.derby.iapi.services.cache,org.apache.derby.iapi.services.classfile,org.apache.derby.iapi.services.compiler,org.apache.derby.iapi.services.context,org.apache.derby.iapi.services.crypto,org.apache.derby.iapi.services.daemon,org.apache.derby.iapi.services.i18n,org.apache.derby.iapi.services.info,org.apache.derby.iapi.services.io,org.apache.derby.iapi.services.loader,org.apache.derby.iapi.services.locks,org.apache.derby.iapi.services.monitor,org.apache.derby.iapi.services.property,org.apache.derby.iapi.services.stream,org.apache.derby.iapi.services.uuid,org.apache.derby.iapi.sql,org.apache.derby.iapi.sql.compile,org.apache.derby.iapi.sql.conn,org.apache.derby.iapi.sql.depend,org.apache.derby.iapi.sql.dictionary,org.apache.derby.iapi.sql.execute,org.apache.derby.iapi.store.access,org.apache.derby.iapi.store.access.conglomerate,org.apache.derby.iapi.store.access.xa,org.apache.derby.iapi.store.raw,org.apache.derby.iapi.store.raw.data,org.apache.derby.iapi.store.raw.log,org.apache.derby.iapi.store.raw.xact,org.apache.derby.iapi.tools.i18n,org.apache.derby.iapi.types,org.apache.derby.iapi.util,org.apache.derby.impl.db,org.apache.derby.impl.drda,org.apache.derby.impl.io,org.apache.derby.impl.jdbc,org.apache.derby.impl.jdbc.authentication,org.apache.derby.impl.load,org.apache.derby.impl.services.bytecode,org.apache.derby.impl.services.cache,org.apache.derby.impl.services.daemon,org.apache.derby.impl.services.jce,org.apache.derby.impl.services.locks,org.apache.derby.impl.services.monitor,org.apache.derby.impl.services.reflect,org.apache.derby.impl.services.stream,org.apache.derby.impl.services.uuid,org.apache.derby.impl.sql,org.apache.derby.impl.sql.catalog,org.apache.derby.impl.sql.compile,org.apache.derby.impl.sql.conn,org.apache.derby.impl.sql.depend,org.apache.derby.impl.sql.execute,org.apache.derby.impl.sql.execute.rts,org.apache.derby.impl.store.access,org.apache.derby.impl.store.access.btree,org.apache.derby.impl.store.access.btree.index,org.apache.derby.impl.store.access.conglomerate,org.apache.derby.impl.store.access.heap,org.apache.derby.impl.store.access.sort,org.apache.derby.impl.store.raw,org.apache.derby.impl.store.raw.data,org.apache.derby.impl.store.raw.log,org.apache.derby.impl.store.raw.xact,org.apache.derby.impl.tools.sysinfo,org.apache.derby.io,org.apache.derby.jdbc,org.apache.derby.osgi,org.apache.derby.tools,org.apache.derby.vti
-Bundle-SymbolicName: org.apache.derby
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %Bundle-Vendor.0
-Import-Package: javax.servlet;version="2.4.0";resolution:=optional,javax.servlet.http;version="2.4.0";resolution:=optional
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.ws.jaxme' version='0.5.1.v200803061811' singleton='false'>
- <update id='org.apache.ws.jaxme' range='[0.0.0,0.5.1.v200803061811)' severity='0'/>
- <properties size='2'>
- <property name='df_LT.Bundle-Name' value='Apache JAX-ME Plug-in'/>
- <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name'/>
- </properties>
- <provides size='9'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.ws.jaxme' version='0.5.1.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.ws.jaxme' version='0.5.1.v200803061811'/>
- <provided namespace='java.package' name='javax.xml' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.bind' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.bind.helpers' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.bind.util' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.namespace' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.ws.jaxme' version='0.5.1.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 0.5.1.v200803061811
-Export-Package: javax.xml,javax.xml.bind,javax.xml.bind.helpers,javax.xml.bind.util,javax.xml.namespace
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.ws.jaxme
-Bundle-Name: %Bundle-Name
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3
-Bundle-Localization: plugin
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.commons.jxpath' version='1.2.0.v200803061811' singleton='false'>
- <update id='org.apache.commons.jxpath' range='[0.0.0,1.2.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Commons JXPath'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='20'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.jxpath' version='1.2.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.commons.jxpath' version='1.2.0.v200803061811'/>
- <provided namespace='java.package' name='org.apache.commons.jxpath' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.commons.jxpath.functions' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.commons.jxpath.ri' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.commons.jxpath.ri.axes' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.commons.jxpath.ri.compiler' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.commons.jxpath.ri.model' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.commons.jxpath.ri.model.beans' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.commons.jxpath.ri.model.container' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.commons.jxpath.ri.model.dom' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.commons.jxpath.ri.model.dynabeans' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.commons.jxpath.ri.model.dynamic' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.commons.jxpath.ri.model.jdom' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.commons.jxpath.ri.parser' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.commons.jxpath.servlet' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.commons.jxpath.util' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.commons.jxpath.xml' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.commons.jxpath' version='1.2.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Version: 1.2.0.v200803061811
-Export-Package: org.apache.commons.jxpath,org.apache.commons.jxpath.functions,org.apache.commons.jxpath.ri,org.apache.commons.jxpath.ri.axes,org.apache.commons.jxpath.ri.compiler,org.apache.commons.jxpath.ri.model,org.apache.commons.jxpath.ri.model.beans,org.apache.commons.jxpath.ri.model.container,org.apache.commons.jxpath.ri.model.dom,org.apache.commons.jxpath.ri.model.dynabeans,org.apache.commons.jxpath.ri.model.dynamic,org.apache.commons.jxpath.ri.model.jdom,org.apache.commons.jxpath.ri.parser,org.apache.commons.jxpath.servlet,org.apache.commons.jxpath.util,org.apache.commons.jxpath.xml
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Bundle-ClassPath: .
-Bundle-SymbolicName: org.apache.commons.jxpath
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.batik.parser.source' version='1.6.0.v200803061811' singleton='false'>
- <update id='org.apache.batik.parser.source' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Batik Parser Source Bundle'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.parser.source' version='1.6.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.batik.parser.source' version='1.6.0.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.batik.parser.source' version='1.6.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.6.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.batik.parser.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.batik.parser;version="1.6.0.v200803061811"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='com.jcraft.jsch' version='0.1.31' singleton='false'>
- <update id='com.jcraft.jsch' range='[0.0.0,0.1.31)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.bundleName' value='JSch'/>
- <property name='df_LT.venderName' value='JCraft, Inc.'/>
- <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%venderName'/>
- </properties>
- <provides size='7'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='com.jcraft.jsch' version='0.1.31'/>
- <provided namespace='osgi.bundle' name='com.jcraft.jsch' version='0.1.31'/>
- <provided namespace='java.package' name='com.jcraft.jsch' version='0.0.0'/>
- <provided namespace='java.package' name='com.jcraft.jsch.jce' version='0.0.0'/>
- <provided namespace='java.package' name='com.jcraft.jsch.jcraft' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='com.jcraft.jsch' version='0.1.31'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-Vendor: %venderName
-Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-ClassPath: .
-Bundle-Name: %bundleName
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-SymbolicName: com.jcraft.jsch
-Bundle-Version: 0.1.31
-Created-By: 1.4.0 (Sun Microsystems Inc.)
-Export-Package: com.jcraft.jsch, com.jcraft.jsch.jce;x-internal:=true, com.jcraft.jsch.jcraft;x-internal:=true
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.commons.el.source' version='1.0.0.v200803061811' singleton='false'>
- <update id='org.apache.commons.el.source' range='[0.0.0,1.0.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.bundleName' value='Apache Commons JSP 2.0 Expression Language Interpreter Source'/>
- <property name='df_LT.bundleProvider' value='Eclipse.org'/>
- <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.el.source' version='1.0.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.commons.el.source' version='1.0.0.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.commons.el.source' version='1.0.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.0.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.commons.el.source
-Bundle-Name: %bundleName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.commons.el;version="1.0.0.v200803061811"
-Bundle-Vendor: %bundleProvider
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='javax.servlet.jsp.source' version='2.0.0.v200803061910' singleton='false'>
- <update id='javax.servlet.jsp.source' range='[0.0.0,2.0.0.v200803061910)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.bundleName' value='Java Server Pages API Source Bundle'/>
- <property name='df_LT.bundleProvider' value='Eclipse.org'/>
- <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='javax.servlet.jsp.source' version='2.0.0.v200803061910'/>
- <provided namespace='osgi.bundle' name='javax.servlet.jsp.source' version='2.0.0.v200803061910'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='javax.servlet.jsp.source' version='2.0.0.v200803061910'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 2.0.0.v200803061910
-Manifest-Version: 1.0
-Bundle-SymbolicName: javax.servlet.jsp.source
-Bundle-Name: %bundleName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: javax.servlet.jsp;version="2.0.0.v200803061910"
-Bundle-Vendor: %bundleProvider
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='config.a.jre' version='1.6.0' singleton='false'>
- <hostRequirements size='1'>
- <required namespace='org.eclipse.equinox.p2.iu' name='a.jre' range='1.6.0'/>
- </hostRequirements>
- <properties size='1'>
- <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
- </properties>
- <provides size='1'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='config.a.jre' version='1.6.0'/>
- </provides>
- <requires size='1'>
- <required namespace='org.eclipse.equinox.p2.iu' name='a.jre' range='1.6.0'/>
- </requires>
- <touchpoint id='org.eclipse.equinox.p2.native' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='install'>
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='com.ibm.icu.base' version='3.6.0.v20080304' singleton='false'>
- <update id='com.ibm.icu.base' range='[0.0.0,3.6.0.v20080304)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='IBM Corporation'/>
- <property name='df_LT.pluginName' value='International Components for Unicode for Java (ICU4J) Replacement plug-in'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='6'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='com.ibm.icu.base' version='3.6.0.v20080304'/>
- <provided namespace='osgi.bundle' name='com.ibm.icu.base' version='3.6.0.v20080304'/>
- <provided namespace='java.package' name='com.ibm.icu.text' version='3.6.0'/>
- <provided namespace='java.package' name='com.ibm.icu.util' version='3.6.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='com.ibm.icu.base' version='3.6.0.v20080304'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-Vendor: %providerName
-Bundle-ManifestVersion: 2
-Bundle-Copyright: Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2000, 2006. All Rights Reserved. IBM is a registered trademark of IBM Corp.
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-SymbolicName: com.ibm.icu.base
-Bundle-Version: 3.6.0.v20080304
-Eclipse-LazyStart: true
-Export-Package: com.ibm.icu.text;version="3.6.0",com.ibm.icu.util;version="3.6.0"
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='com.ibm.icu' version='3.6.0.v20080304'>
- <update id='com.ibm.icu' range='[0.0.0,3.6.0.v20080304)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='IBM Corporation'/>
- <property name='df_LT.pluginName' value='International Components for Unicode for Java (ICU4J)'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='15'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='com.ibm.icu' version='3.6.0.v20080304'/>
- <provided namespace='osgi.bundle' name='com.ibm.icu' version='3.6.0.v20080304'/>
- <provided namespace='java.package' name='com.ibm.icu.lang' version='3.6.0'/>
- <provided namespace='java.package' name='com.ibm.icu.math' version='3.6.0'/>
- <provided namespace='java.package' name='com.ibm.icu.text' version='3.6.0'/>
- <provided namespace='java.package' name='com.ibm.icu.util' version='3.6.0'/>
- <provided namespace='java.package' name='com.ibm.icu.impl' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.icu.impl.data' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.icu.impl.data.icudt36b' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.icu.impl.data.icudt36b.brkitr' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.icu.impl.data.icudt36b.coll' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.icu.impl.data.icudt36b.rbnf' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.icu.impl.data.icudt36b.translit' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='com.ibm.icu' version='3.6.0.v20080304'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3
-Bundle-Name: %pluginName
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-Bundle-ClassPath: icu-jse4.jar,icu-data.jar,.
-Bundle-SymbolicName: com.ibm.icu; singleton:=true
-Bundle-ManifestVersion: 2
-Eclipse-LazyStart: true
-Bundle-Version: 3.6.0.v20080304
-Bundle-Localization: plugin
-Bundle-Copyright: Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2000, 2006. All Rights Reserved. IBM is a registered trademark of IBM Corp.
-Eclipse-ExtensibleAPI: true
-Export-Package: com.ibm.icu.lang;version="3.6.0",com.ibm.icu.math;version="3.6.0",com.ibm.icu.text;version="3.6.0",com.ibm.icu.util;version="3.6.0",com.ibm.icu.impl;x-internal:=true,com.ibm.icu.impl.data;x-internal:=true,com.ibm.icu.impl.data.icudt36b;x-internal:=true,com.ibm.icu.impl.data.icudt36b.brkitr;x-internal:=true,com.ibm.icu.impl.data.icudt36b.coll;x-internal:=true,com.ibm.icu.impl.data.icudt36b.rbnf;x-internal:=true,com.ibm.icu.impl.data.icudt36b.translit;x-internal:=true
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.batik.extension' version='1.6.0.v200803061811' singleton='false'>
- <update id='org.apache.batik.extension' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Batik Extension'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='7'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.extension' version='1.6.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.batik.extension' version='1.6.0.v200803061811'/>
- <provided namespace='java.package' name='org.apache.batik.extension' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.extension.svg' version='1.6.0'/>
- <provided namespace='java.package' name='META-INF.services' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='8'>
- <required namespace='osgi.bundle' name='org.apache.batik.bridge' range='0.0.0'/>
- <required namespace='osgi.bundle' name='org.apache.batik.css' range='0.0.0'/>
- <required namespace='osgi.bundle' name='org.apache.batik.dom' range='0.0.0'/>
- <required namespace='osgi.bundle' name='org.apache.batik.dom.svg' range='0.0.0'/>
- <required namespace='osgi.bundle' name='org.apache.batik.ext.awt' range='0.0.0'/>
- <required namespace='osgi.bundle' name='org.apache.batik.parser' range='0.0.0'/>
- <required namespace='osgi.bundle' name='org.apache.batik.util' range='0.0.0'/>
- <required namespace='osgi.bundle' name='org.w3c.dom.svg' range='0.0.0'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.batik.extension' version='1.6.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Require-Bundle: org.apache.batik.bridge;version="[1.6.0,1.7.0)",org.apache.batik.css;version="[1.6.0,1.7.0)",org.apache.batik.dom;version="[1.6.0,1.7.0)",org.apache.batik.dom.svg;version="[1.6.0,1.7.0)",org.apache.batik.ext.awt;version="[1.6.0,1.7.0)",org.apache.batik.parser;version="[1.6.0,1.7.0)",org.apache.batik.util;version="[1.6.0,1.7.0)",org.w3c.dom.svg;version="[1.1.0,1.3.0)"
-Manifest-Version: 1.0
-Bundle-Version: 1.6.0.v200803061811
-Export-Package: org.apache.batik.extension;version="1.6.0",org.apache.batik.extension.svg;version="1.6.0",META-INF.services
-Bundle-SymbolicName: org.apache.batik.extension
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='javax.servlet.source' version='2.5.0.v200803061920' singleton='false'>
- <update id='javax.servlet.source' range='[0.0.0,2.5.0.v200803061920)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.bundleName' value='Servlet API Source Bundle'/>
- <property name='df_LT.bundleProvider' value='Eclipse.org'/>
- <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='javax.servlet.source' version='2.5.0.v200803061920'/>
- <provided namespace='osgi.bundle' name='javax.servlet.source' version='2.5.0.v200803061920'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='javax.servlet.source' version='2.5.0.v200803061920'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 2.5.0.v200803061920
-Manifest-Version: 1.0
-Bundle-SymbolicName: javax.servlet.source
-Bundle-Name: %bundleName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: javax.servlet;version="2.5.0.v200803061920"
-Bundle-Vendor: %bundleProvider
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='com.ibm.icu' version='3.4.5'>
- <update id='com.ibm.icu' range='[0.0.0,3.4.5)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='IBM Corporation'/>
- <property name='df_LT.pluginName' value='International Components for Unicode for Java (ICU4J)'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='8'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='com.ibm.icu' version='3.4.5'/>
- <provided namespace='osgi.bundle' name='com.ibm.icu' version='3.4.5'/>
- <provided namespace='java.package' name='com.ibm.icu.lang' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.icu.math' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.icu.text' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.icu.util' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='com.ibm.icu' version='3.4.5'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-Vendor: %providerName
-Bundle-ManifestVersion: 2
-Bundle-Copyright: Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2000, 2006. All Rights Reserved. IBM is a registered trademark of IBM Corp.
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-SymbolicName: com.ibm.icu; singleton:=true
-Bundle-Version: 3.4.5
-Eclipse-LazyStart: true
-Export-Package: com.ibm.icu.lang,com.ibm.icu.math,com.ibm.icu.text,com.ibm.icu.util
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.mortbay.jetty.util.source' version='6.1.7.v200803061811' singleton='false'>
- <update id='org.mortbay.jetty.util.source' range='[0.0.0,6.1.7.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.bundleName' value='Jetty Util Source'/>
- <property name='df_LT.bundleProvider' value='Eclipse.org'/>
- <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.mortbay.jetty.util.source' version='6.1.7.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.mortbay.jetty.util.source' version='6.1.7.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.mortbay.jetty.util.source' version='6.1.7.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 6.1.7.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.mortbay.jetty.util.source
-Bundle-Name: %bundleName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.mortbay.jetty.util;version="6.1.7.v200803061811"
-Bundle-Vendor: %bundleProvider
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.batik.dom' version='1.6.0.v200803061811' singleton='false'>
- <update id='org.apache.batik.dom' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Batik DOM'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='8'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.dom' version='1.6.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.batik.dom' version='1.6.0.v200803061811'/>
- <provided namespace='java.package' name='org.apache.batik.dom' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.dom.events' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.dom.traversal' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.dom.util' version='1.6.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.batik.dom' version='1.6.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-Vendor: %providerName
-Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,J2SE-1.3
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Import-package: org.w3c.dom,org.apache.xerces.parsers;resolution:=optional
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.batik.dom
-Bundle-Version: 1.6.0.v200803061811
-Export-Package: org.apache.batik.dom;version="1.6.0",org.apache.batik.dom.events;version="1.6.0",org.apache.batik.dom.traversal;version="1.6.0",org.apache.batik.dom.util;version="1.6.0"
-Require-bundle: org.apache.batik.css;version="[1.6.0,1.7.0)",org.apache.batik.util;version="[1.6.0,1.7.0)",org.apache.batik.xml;version="[1.6.0,1.7.0)",org.w3c.css.sac;version="[1.3.0,1.4.0)"
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.w3c.dom.smil.source' version='1.0.0.v200803081811' singleton='false'>
- <update id='org.w3c.dom.smil.source' range='[0.0.0,1.0.0.v200803081811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='W3C SMIL DOM Source Bundle'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.w3c.dom.smil.source' version='1.0.0.v200803081811'/>
- <provided namespace='osgi.bundle' name='org.w3c.dom.smil.source' version='1.0.0.v200803081811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.w3c.dom.smil.source' version='1.0.0.v200803081811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.0.0.v200803081811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.w3c.dom.smil.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.w3c.dom.smil;version="1.0.0.v200803081811"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='com.ibm.icu.source' version='3.8.1.v20080304' singleton='false'>
- <update id='com.ibm.icu.source' range='[0.0.0,3.8.1.v20080304)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='IBM Corporation'/>
- <property name='df_LT.pluginName' value='International Components for Unicode for Java (ICU4J) source plug-in'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='com.ibm.icu.source' version='3.8.1.v20080304'/>
- <provided namespace='osgi.bundle' name='com.ibm.icu.source' version='3.8.1.v20080304'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='com.ibm.icu.source' version='3.8.1.v20080304'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-Name: %pluginName
-Bundle-Version: 3.8.1.v20080304
-Bundle-SymbolicName: com.ibm.icu.source
-Manifest-Version: 1.0
-Eclipse-SourceBundle: com.ibm.icu;version="3.8.1.v20080304"
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.jdom' version='1.0.0.v200803070505' singleton='false'>
- <update id='org.jdom' range='[0.0.0,1.0.0.v200803070505)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
- <property name='df_LT.Bundle-Name.0' value='JDOM'/>
- <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
- <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
- </properties>
- <provides size='11'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.jdom' version='1.0.0.v200803070505'/>
- <provided namespace='osgi.bundle' name='org.jdom' version='1.0.0.v200803070505'/>
- <provided namespace='java.package' name='org.jdom' version='1.0.0'/>
- <provided namespace='java.package' name='org.jdom.adapters' version='1.0.0'/>
- <provided namespace='java.package' name='org.jdom.filter' version='1.0.0'/>
- <provided namespace='java.package' name='org.jdom.input' version='1.0.0'/>
- <provided namespace='java.package' name='org.jdom.output' version='1.0.0'/>
- <provided namespace='java.package' name='org.jdom.transform' version='1.0.0'/>
- <provided namespace='java.package' name='org.jdom.xpath' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='1'>
- <required namespace='osgi.bundle' name='org.apache.xerces' range='0.0.0' optional='true'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.jdom' version='1.0.0.v200803070505'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Require-Bundle: org.apache.xerces;resolution:=optional
-Manifest-Version: 1.0
-Bundle-Version: 1.0.0.v200803070505
-Export-Package: org.jdom;version="1.0.0",org.jdom.adapters;version="1.0.0",org.jdom.filter;version="1.0.0",org.jdom.input;version="1.0.0",org.jdom.output;version="1.0.0",org.jdom.transform;version="1.0.0",org.jdom.xpath;version="1.0.0"
-Bundle-SymbolicName: org.jdom
-Bundle-Localization: plugin
-Bundle-Name: %Bundle-Name.0
-Bundle-Vendor: %Bundle-Vendor.0
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='ch.ethz.iks.slp' version='1.0.0.RC2_v200803061811' singleton='false'>
- <update id='ch.ethz.iks.slp' range='[0.0.0,1.0.0.RC2_v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='jSLP'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='7'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='ch.ethz.iks.slp' version='1.0.0.RC2_v200803061811'/>
- <provided namespace='osgi.bundle' name='ch.ethz.iks.slp' version='1.0.0.RC2_v200803061811'/>
- <provided namespace='java.package' name='ch.ethz.iks.slp' version='1.0.0'/>
- <provided namespace='java.package' name='ch.ethz.iks.slp.impl' version='1.0.0'/>
- <provided namespace='java.package' name='ch.ethz.iks.slp.impl.filter' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='ch.ethz.iks.slp' version='1.0.0.RC2_v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Version: 1.0.0.RC2_v200803061811
-Export-Package: ch.ethz.iks.slp;version="1.0.0",ch.ethz.iks.slp.impl;version="1.0.0",ch.ethz.iks.slp.impl.filter;version="1.0.0"
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Bundle-SymbolicName: ch.ethz.iks.slp
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.mozilla.javascript' version='1.6.2.v200803061811' singleton='false'>
- <update id='org.mozilla.javascript' range='[0.0.0,1.6.2.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
- <property name='df_LT.Bundle-Name.0' value='Mozilla Rhino'/>
- <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
- <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
- </properties>
- <provides size='21'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.mozilla.javascript' version='1.6.2.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.mozilla.javascript' version='1.6.2.v200803061811'/>
- <provided namespace='java.package' name='org.mozilla.classfile' version='0.0.0'/>
- <provided namespace='java.package' name='org.mozilla.javascript' version='0.0.0'/>
- <provided namespace='java.package' name='org.mozilla.javascript.continuations' version='0.0.0'/>
- <provided namespace='java.package' name='org.mozilla.javascript.debug' version='0.0.0'/>
- <provided namespace='java.package' name='org.mozilla.javascript.jdk11' version='0.0.0'/>
- <provided namespace='java.package' name='org.mozilla.javascript.jdk13' version='0.0.0'/>
- <provided namespace='java.package' name='org.mozilla.javascript.optimizer' version='0.0.0'/>
- <provided namespace='java.package' name='org.mozilla.javascript.regexp' version='0.0.0'/>
- <provided namespace='java.package' name='org.mozilla.javascript.resources' version='0.0.0'/>
- <provided namespace='java.package' name='org.mozilla.javascript.serialize' version='0.0.0'/>
- <provided namespace='java.package' name='org.mozilla.javascript.tools' version='0.0.0'/>
- <provided namespace='java.package' name='org.mozilla.javascript.tools.idswitch' version='0.0.0'/>
- <provided namespace='java.package' name='org.mozilla.javascript.tools.jsc' version='0.0.0'/>
- <provided namespace='java.package' name='org.mozilla.javascript.tools.resources' version='0.0.0'/>
- <provided namespace='java.package' name='org.mozilla.javascript.tools.shell' version='0.0.0'/>
- <provided namespace='java.package' name='org.mozilla.javascript.xml' version='0.0.0'/>
- <provided namespace='java.package' name='org.mozilla.javascript.xmlimpl' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='8'>
- <required namespace='java.package' name='javax.swing.table' range='0.0.0'/>
- <required namespace='java.package' name='javax.swing.event' range='0.0.0'/>
- <required namespace='java.package' name='javax.swing.border' range='0.0.0'/>
- <required namespace='java.package' name='javax.xml.namespace' range='0.0.0'/>
- <required namespace='java.package' name='javax.swing.tree' range='0.0.0'/>
- <required namespace='java.package' name='javax.swing.text' range='0.0.0'/>
- <required namespace='java.package' name='javax.swing' range='0.0.0'/>
- <required namespace='java.package' name='javax.swing.filechooser' range='0.0.0'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.mozilla.javascript' version='1.6.2.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-Vendor: %Bundle-Vendor.0
-Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Main-Class: org.mozilla.javascript.tools.shell.Main
-Import-Package: javax.swing.table,javax.swing.event,javax.swing.border,javax.xml.namespace,javax.swing.tree,javax.swing.text,javax.swing,javax.swing.filechooser
-Bundle-Name: %Bundle-Name.0
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.mozilla.javascript
-Bundle-Version: 1.6.2.v200803061811
-Export-Package: org.mozilla.classfile,org.mozilla.javascript,org.mozilla.javascript.continuations,org.mozilla.javascript.debug,org.mozilla.javascript.jdk11,org.mozilla.javascript.jdk13,org.mozilla.javascript.optimizer,org.mozilla.javascript.regexp,org.mozilla.javascript.resources,org.mozilla.javascript.serialize,org.mozilla.javascript.tools,org.mozilla.javascript.tools.idswitch,org.mozilla.javascript.tools.jsc,org.mozilla.javascript.tools.resources,org.mozilla.javascript.tools.shell,org.mozilla.javascript.xml,org.mozilla.javascript.xmlimpl
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.commons.collections.source' version='3.2.0.v200803061811' singleton='false'>
- <update id='org.apache.commons.collections.source' range='[0.0.0,3.2.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Commons Collections'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.collections.source' version='3.2.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.commons.collections.source' version='3.2.0.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.commons.collections.source' version='3.2.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 3.2.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.commons.collections.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.commons.collections;version="3.2.0.v200803061811"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='javax.servlet.source' version='2.4.0.v200803061910' singleton='false'>
- <update id='javax.servlet.source' range='[0.0.0,2.4.0.v200803061910)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.bundleName' value='Servlet API Source Bundle'/>
- <property name='df_LT.bundleProvider' value='Eclipse.org'/>
- <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='javax.servlet.source' version='2.4.0.v200803061910'/>
- <provided namespace='osgi.bundle' name='javax.servlet.source' version='2.4.0.v200803061910'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='javax.servlet.source' version='2.4.0.v200803061910'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 2.4.0.v200803061910
-Manifest-Version: 1.0
-Bundle-SymbolicName: javax.servlet.source
-Bundle-Name: %bundleName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: javax.servlet;version="2.4.0.v200803061910"
-Bundle-Vendor: %bundleProvider
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='com.ibm.icu.source' version='3.6.0.v20080304' singleton='false'>
- <update id='com.ibm.icu.source' range='[0.0.0,3.6.0.v20080304)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='IBM Corporation'/>
- <property name='df_LT.pluginName' value='International Components for Unicode for Java (ICU4J) source plug-in'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='com.ibm.icu.source' version='3.6.0.v20080304'/>
- <provided namespace='osgi.bundle' name='com.ibm.icu.source' version='3.6.0.v20080304'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='com.ibm.icu.source' version='3.6.0.v20080304'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-Name: %pluginName
-Bundle-Version: 3.6.0.v20080304
-Bundle-SymbolicName: com.ibm.icu.source
-Manifest-Version: 1.0
-Eclipse-SourceBundle: com.ibm.icu;version="3.6.0.v20080304"
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.commons.logging' version='1.1.1.v200803061910' singleton='false'>
- <update id='org.apache.commons.logging' range='[0.0.0,1.1.1.v200803061910)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.bundleName' value='Apache Commons Logging Plug-in'/>
- <property name='df_LT.bundleProvider' value='Eclipse.org'/>
- <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
- </properties>
- <provides size='6'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.logging' version='1.1.1.v200803061910'/>
- <provided namespace='osgi.bundle' name='org.apache.commons.logging' version='1.1.1.v200803061910'/>
- <provided namespace='java.package' name='org.apache.commons.logging' version='1.1.1'/>
- <provided namespace='java.package' name='org.apache.commons.logging.impl' version='1.1.1'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.commons.logging' version='1.1.1.v200803061910'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Name: %bundleName
-Bundle-Version: 1.1.1.v200803061910
-Export-Package: org.apache.commons.logging;version="1.1.1",org.apache.commons.logging.impl;version="1.1.1"
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3
-Bundle-SymbolicName: org.apache.commons.logging
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %bundleProvider
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='net.sourceforge.mx4j.remote' version='3.0.1.v200803061811' singleton='false'>
- <update id='net.sourceforge.mx4j.remote' range='[0.0.0,3.0.1.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
- <property name='df_LT.Bundle-Name.0' value='MX4J Remote'/>
- <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
- <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
- </properties>
- <provides size='12'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='net.sourceforge.mx4j.remote' version='3.0.1.v200803061811'/>
- <provided namespace='osgi.bundle' name='net.sourceforge.mx4j.remote' version='3.0.1.v200803061811'/>
- <provided namespace='java.package' name='mx4j.log' version='0.0.0'/>
- <provided namespace='java.package' name='mx4j.remote' version='0.0.0'/>
- <provided namespace='java.package' name='mx4j.remote.provider.iiop' version='0.0.0'/>
- <provided namespace='java.package' name='mx4j.remote.provider.rmi' version='0.0.0'/>
- <provided namespace='java.package' name='mx4j.remote.resolver.iiop' version='0.0.0'/>
- <provided namespace='java.package' name='mx4j.remote.resolver.rmi' version='0.0.0'/>
- <provided namespace='java.package' name='mx4j.remote.rmi' version='0.0.0'/>
- <provided namespace='java.package' name='mx4j.util' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='net.sourceforge.mx4j.remote' version='3.0.1.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 3.0.1.v200803061811
-Export-Package: mx4j.log,mx4j.remote,mx4j.remote.provider.iiop,mx4j.remote.provider.rmi,mx4j.remote.resolver.iiop,mx4j.remote.resolver.rmi,mx4j.remote.rmi,mx4j.util
-Manifest-Version: 1.0
-Bundle-SymbolicName: net.sourceforge.mx4j.remote
-Bundle-Name: %Bundle-Name.0
-Bundle-Localization: plugin
-Bundle-Vendor: %Bundle-Vendor.0
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.sat4j.pb' version='2.0.0.v20080307' singleton='false'>
- <update id='org.sat4j.pb' range='[0.0.0,2.0.0.v20080307)' severity='0'/>
- <properties size='2'>
- <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='9'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.sat4j.pb' version='2.0.0.v20080307'/>
- <provided namespace='osgi.bundle' name='org.sat4j.pb' version='2.0.0.v20080307'/>
- <provided namespace='java.package' name='org.sat4j.pb' version='0.0.0'/>
- <provided namespace='java.package' name='org.sat4j.pb.constraints' version='0.0.0'/>
- <provided namespace='java.package' name='org.sat4j.pb.constraints.pb' version='0.0.0'/>
- <provided namespace='java.package' name='org.sat4j.pb.core' version='0.0.0'/>
- <provided namespace='java.package' name='org.sat4j.pb.orders' version='0.0.0'/>
- <provided namespace='java.package' name='org.sat4j.pb.reader' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- </provides>
- <requires size='1'>
- <required namespace='osgi.bundle' name='org.sat4j.core' range='0.0.0'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.sat4j.pb' version='2.0.0.v20080307'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-Name: %bundleName
-Implementation-Version: 2.0
-Export-Package: org.sat4j.pb,org.sat4j.pb.constraints,org.sat4j.pb.constraints.pb,org.sat4j.pb.core,org.sat4j.pb.orders,org.sat4j.pb.reader
-Created-By: 1.6.0_02-b05 (Sun Microsystems Inc.)
-Ant-Version: Apache Ant 1.6.1
-Specification-Title: SAT4J
-Bundle-Vendor: %providerName
-Bundle-ManifestVersion: 2
-Manifest-Version: 1.0
-Main-Class: org.sat4j.pb.LanceurPseudo2007
-Bundle-Version: 2.0.0.v20080307
-Require-Bundle: org.sat4j.core
-Implementation-Vendor: CRIL CNRS UMR 8188 - Universite d'Artois
-Implementation-Title: SAT4J
-Class-Path: org.sat4j.core.jar
-Built-By: Daniel Le Berre
-Specification-Version: NA
-Bundle-SymbolicName: org.sat4j.pb
-Specification-Vendor: Daniel Le Berre
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.commons.codec.source' version='1.3.0.v200803061910' singleton='false'>
- <update id='org.apache.commons.codec.source' range='[0.0.0,1.3.0.v200803061910)' severity='0'/>
- <properties size='2'>
- <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
- </properties>
- <provides size='3'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.codec.source' version='1.3.0.v200803061910'/>
- <provided namespace='osgi.bundle' name='org.apache.commons.codec.source' version='1.3.0.v200803061910'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.commons.codec.source' version='1.3.0.v200803061910'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.3.0.v200803061910
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.commons.codec.source
-Bundle-Name: %bundleName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.commons.codec;version="1.3.0.v200803061910"
-Bundle-Vendor: %bundleProvider
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='javax.xml.ws' version='2.0.0.v200803070400' singleton='false'>
- <update id='javax.xml.ws' range='[0.0.0,2.0.0.v200803070400)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
- <property name='df_LT.Bundle-Name.0' value='JAXWS'/>
- <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
- <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
- </properties>
- <provides size='10'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='javax.xml.ws' version='2.0.0.v200803070400'/>
- <provided namespace='osgi.bundle' name='javax.xml.ws' version='2.0.0.v200803070400'/>
- <provided namespace='java.package' name='javax.xml.ws' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.ws.handler' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.ws.handler.soap' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.ws.http' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.ws.soap' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.ws.spi' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='javax.xml.ws' version='2.0.0.v200803070400'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name.0
-Bundle-Version: 2.0.0.v200803070400
-Export-Package: javax.xml.ws,javax.xml.ws.handler,javax.xml.ws.handler.soap,javax.xml.ws.http,javax.xml.ws.soap,javax.xml.ws.spi
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-SymbolicName: javax.xml.ws
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %Bundle-Vendor.0
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.mortbay.jetty' version='5.1.11.v200803061811' singleton='false'>
- <update id='org.mortbay.jetty' range='[0.0.0,5.1.11.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.bundleName' value='Jetty WebServer'/>
- <property name='df_LT.bundleProvider' value='Eclipse.org'/>
- <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
- </properties>
- <provides size='16'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.mortbay.jetty' version='5.1.11.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.mortbay.jetty' version='5.1.11.v200803061811'/>
- <provided namespace='java.package' name='org.mortbay.html' version='5.1.11'/>
- <provided namespace='java.package' name='org.mortbay.http' version='5.1.11'/>
- <provided namespace='java.package' name='org.mortbay.http.ajp' version='5.1.11'/>
- <provided namespace='java.package' name='org.mortbay.http.handler' version='5.1.11'/>
- <provided namespace='java.package' name='org.mortbay.http.nio' version='5.1.11'/>
- <provided namespace='java.package' name='org.mortbay.jetty' version='5.1.11'/>
- <provided namespace='java.package' name='org.mortbay.jetty.servlet' version='5.1.11'/>
- <provided namespace='java.package' name='org.mortbay.jetty.win32' version='5.1.11'/>
- <provided namespace='java.package' name='org.mortbay.log' version='5.1.11'/>
- <provided namespace='java.package' name='org.mortbay.servlet' version='5.1.11'/>
- <provided namespace='java.package' name='org.mortbay.util' version='5.1.11'/>
- <provided namespace='java.package' name='org.mortbay.xml' version='5.1.11'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='9'>
- <required namespace='java.package' name='javax.net.ssl' range='0.0.0'/>
- <required namespace='java.package' name='javax.security.cert' range='0.0.0'/>
- <required namespace='java.package' name='javax.servlet' range='[2.4.0,2.5.0)'/>
- <required namespace='java.package' name='javax.servlet.http' range='[2.4.0,2.5.0)'/>
- <required namespace='java.package' name='javax.servlet.resources' range='[2.4.0,2.5.0)'/>
- <required namespace='java.package' name='javax.xml.parsers' range='0.0.0'/>
- <required namespace='java.package' name='org.apache.commons.logging' range='[1.0.0,2.0.0)'/>
- <required namespace='java.package' name='org.xml.sax' range='0.0.0'/>
- <required namespace='java.package' name='org.xml.sax.helpers' range='0.0.0'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.mortbay.jetty' version='5.1.11.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,CDC-1.0/Foundation-1.0,J2SE-1.3
-Manifest-Version: 1.0
-Bundle-Version: 5.1.11.v200803061811
-Export-Package: org.mortbay.html;version="5.1.11",org.mortbay.http;version="5.1.11",org.mortbay.http.ajp;version="5.1.11",org.mortbay.http.handler;version="5.1.11",org.mortbay.http.nio;version="5.1.11",org.mortbay.jetty;version="5.1.11",org.mortbay.jetty.servlet;version="5.1.11",org.mortbay.jetty.win32;version="5.1.11",org.mortbay.log;version="5.1.11",org.mortbay.servlet;version="5.1.11",org.mortbay.util;version="5.1.11",org.mortbay.xml;version="5.1.11"
-Bundle-SymbolicName: org.mortbay.jetty
-Import-Package: javax.net.ssl,javax.security.cert,javax.servlet;version="[2.4.0,2.5.0)",javax.servlet.http;version="[2.4.0,2.5.0)",javax.servlet.resources;version="[2.4.0,2.5.0)",javax.xml.parsers,org.apache.commons.logging;version="[1.0.0,2.0.0)",org.xml.sax,org.xml.sax.helpers
-Bundle-Localization: plugin
-Bundle-Name: %bundleName
-Bundle-Vendor: %bundleProvider
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='javax.wsdl' version='1.4.0.v200803061811' singleton='false'>
- <update id='javax.wsdl' range='[0.0.0,1.4.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
- <property name='df_LT.Bundle-Name.0' value='WSDL4J'/>
- <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
- <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
- </properties>
- <provides size='20'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='javax.wsdl' version='1.4.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='javax.wsdl' version='1.4.0.v200803061811'/>
- <provided namespace='java.package' name='com.ibm.wsdl' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.extensions' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.extensions.http' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.extensions.mime' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.extensions.soap' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.factory' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.util' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.util.xml' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.xml' version='0.0.0'/>
- <provided namespace='java.package' name='javax.wsdl' version='0.0.0'/>
- <provided namespace='java.package' name='javax.wsdl.extensions' version='0.0.0'/>
- <provided namespace='java.package' name='javax.wsdl.extensions.http' version='0.0.0'/>
- <provided namespace='java.package' name='javax.wsdl.extensions.mime' version='0.0.0'/>
- <provided namespace='java.package' name='javax.wsdl.extensions.soap' version='0.0.0'/>
- <provided namespace='java.package' name='javax.wsdl.factory' version='0.0.0'/>
- <provided namespace='java.package' name='javax.wsdl.xml' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='1'>
- <required namespace='osgi.bundle' name='org.apache.xerces' range='[2.8.0,3.0.0)' optional='true'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='javax.wsdl' version='1.4.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.2
-Require-Bundle: org.apache.xerces;bundle-version="[2.8.0,3.0.0)";resolution:=optional
-Manifest-Version: 1.0
-Bundle-Version: 1.4.0.v200803061811
-Export-Package: com.ibm.wsdl,com.ibm.wsdl.extensions,com.ibm.wsdl.extensions.http,com.ibm.wsdl.extensions.mime,com.ibm.wsdl.extensions.soap,com.ibm.wsdl.factory,com.ibm.wsdl.util,com.ibm.wsdl.util.xml,com.ibm.wsdl.xml,javax.wsdl,javax.wsdl.extensions,javax.wsdl.extensions.http,javax.wsdl.extensions.mime,javax.wsdl.extensions.soap,javax.wsdl.factory,javax.wsdl.xml
-Bundle-SymbolicName: javax.wsdl
-Bundle-Localization: plugin
-Bundle-Name: %Bundle-Name.0
-Bundle-Vendor: %Bundle-Vendor.0
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='javax.activation' version='1.1.0.v200803061811' singleton='false'>
- <update id='javax.activation' range='[0.0.0,1.1.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
- <property name='df_LT.Bundle-Name.0' value='Java Activation'/>
- <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
- <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
- </properties>
- <provides size='7'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='javax.activation' version='1.1.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='javax.activation' version='1.1.0.v200803061811'/>
- <provided namespace='java.package' name='com.sun.activation.registries' version='0.0.0'/>
- <provided namespace='java.package' name='com.sun.activation.viewers' version='0.0.0'/>
- <provided namespace='java.package' name='javax.activation' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='1'>
- <required namespace='osgi.bundle' name='org.eclipse.osgi' range='0.0.0'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='javax.activation' version='1.1.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Require-Bundle: system.bundle
-Manifest-Version: 1.0
-Bundle-Version: 1.1.0.v200803061811
-Export-Package: com.sun.activation.registries,com.sun.activation.viewers,javax.activation
-Bundle-SymbolicName: javax.activation
-Bundle-Localization: plugin
-Bundle-Name: %Bundle-Name.0
-Bundle-Vendor: %Bundle-Vendor.0
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.batik.util.gui' version='1.6.0.v200803061811' singleton='false'>
- <update id='org.apache.batik.util.gui' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Batik GUI Utilities'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='6'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.util.gui' version='1.6.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.batik.util.gui' version='1.6.0.v200803061811'/>
- <provided namespace='java.package' name='org.apache.batik.util.gui' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.util.gui.resource' version='1.6.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.batik.util.gui' version='1.6.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Version: 1.6.0.v200803061811
-Export-Package: org.apache.batik.util.gui;version="1.6.0",org.apache.batik.util.gui.resource;version="1.6.0"
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Bundle-SymbolicName: org.apache.batik.util.gui
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.jasper.source' version='5.5.17.v200803061811' singleton='false'>
- <update id='org.apache.jasper.source' range='[0.0.0,5.5.17.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.bundleName' value='Apache Jasper 2 Source Plug-in'/>
- <property name='df_LT.bundleProvider' value='Eclipse.org'/>
- <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.jasper.source' version='5.5.17.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.jasper.source' version='5.5.17.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.jasper.source' version='5.5.17.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 5.5.17.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.jasper.source
-Bundle-Name: %bundleName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.jasper;version="5.5.17.v200803061811"
-Bundle-Vendor: %bundleProvider
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='javax.management' version='1.2.0.v200803061811' singleton='false'>
- <update id='javax.management' range='[0.0.0,1.2.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
- <property name='df_LT.Bundle-Name.0' value='Java Management Extensions API'/>
- <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
- <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
- </properties>
- <provides size='11'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='javax.management' version='1.2.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='javax.management' version='1.2.0.v200803061811'/>
- <provided namespace='java.package' name='javax.management' version='0.0.0'/>
- <provided namespace='java.package' name='javax.management.loading' version='0.0.0'/>
- <provided namespace='java.package' name='javax.management.modelmbean' version='0.0.0'/>
- <provided namespace='java.package' name='javax.management.monitor' version='0.0.0'/>
- <provided namespace='java.package' name='javax.management.openmbean' version='0.0.0'/>
- <provided namespace='java.package' name='javax.management.relation' version='0.0.0'/>
- <provided namespace='java.package' name='javax.management.timer' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='javax.management' version='1.2.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.2.0.v200803061811
-Export-Package: javax.management,javax.management.loading,javax.management.modelmbean,javax.management.monitor,javax.management.openmbean,javax.management.relation,javax.management.timer
-Manifest-Version: 1.0
-Bundle-SymbolicName: javax.management
-Bundle-Name: %Bundle-Name.0
-Bundle-Localization: plugin
-Bundle-Vendor: %Bundle-Vendor.0
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.xml.resolver' version='1.1.0.v200803070308' singleton='false'>
- <update id='org.apache.xml.resolver' range='[0.0.0,1.1.0.v200803070308)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
- <property name='df_LT.Bundle-Name.0' value='Apache XmlResolver'/>
- <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
- <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
- </properties>
- <provides size='11'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.xml.resolver' version='1.1.0.v200803070308'/>
- <provided namespace='osgi.bundle' name='org.apache.xml.resolver' version='1.1.0.v200803070308'/>
- <provided namespace='java.package' name='org.apache.env' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xml.resolver' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xml.resolver.apps' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xml.resolver.etc' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xml.resolver.helpers' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xml.resolver.readers' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xml.resolver.tools' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='1'>
- <required namespace='osgi.bundle' name='org.eclipse.osgi' range='0.0.0'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.xml.resolver' version='1.1.0.v200803070308'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Export-Package: org.apache.env,org.apache.xml.resolver,org.apache.xml.resolver.apps,org.apache.xml.resolver.etc,org.apache.xml.resolver.helpers,org.apache.xml.resolver.readers,org.apache.xml.resolver.tools
-Bundle-RequiredExecutionEnvironment: J2SE-1.2
-Main-Class: org.apache.xml.resolver.apps.resolver
-Bundle-Localization: plugin
-Require-Bundle: system.bundle
-Bundle-Name: %Bundle-Name.0
-Bundle-Version: 1.1.0.v200803070308
-Bundle-Vendor: %Bundle-Vendor.0
-Bundle-SymbolicName: org.apache.xml.resolver
-Bundle-ClassPath: .
-Manifest-Version: 1.0
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.batik.pdf' version='1.6.0.v200803061811' singleton='false'>
- <update id='org.apache.batik.pdf' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.Bundle-Vendor' value='Eclipse.org'/>
- <property name='df_LT.Bundle-Name' value='Apache Batik PDF'/>
- <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name'/>
- <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor'/>
- </properties>
- <provides size='26'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.pdf' version='1.6.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.batik.pdf' version='1.6.0.v200803061811'/>
- <provided namespace='java.package' name='org.apache.avalon.framework' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.avalon.framework.activity' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.avalon.framework.configuration' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.avalon.framework.container' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.commons.io' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.commons.io.output' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.commons.logging' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.commons.logging.impl' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.fop.apps' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.fop.fo' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.fop.fonts' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.fop.fonts.apps' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.fop.fonts.base14' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.fop.fonts.truetype' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.fop.fonts.type1' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.fop.image' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.fop.image.analyser' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.fop.pdf' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.fop.render.pdf' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.fop.render.ps' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.fop.svg' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.fop.util' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='13'>
- <required namespace='java.package' name='org.apache.batik.bridge' range='[1.6.0,1.7.0)'/>
- <required namespace='java.package' name='org.apache.batik.dom.svg' range='[1.6.0,1.7.0)'/>
- <required namespace='java.package' name='org.apache.batik.dom.util' range='[1.6.0,1.7.0)'/>
- <required namespace='java.package' name='org.apache.batik.ext.awt' range='[1.6.0,1.7.0)'/>
- <required namespace='java.package' name='org.apache.batik.ext.awt.g2d' range='[1.6.0,1.7.0)'/>
- <required namespace='java.package' name='org.apache.batik.gvt' range='[1.6.0,1.7.0)'/>
- <required namespace='java.package' name='org.apache.batik.gvt.renderer' range='[1.6.0,1.7.0)'/>
- <required namespace='java.package' name='org.apache.batik.gvt.text' range='[1.6.0,1.7.0)'/>
- <required namespace='java.package' name='org.apache.batik.transcoder' range='[1.6.0,1.7.0)'/>
- <required namespace='java.package' name='org.apache.batik.transcoder.image' range='[1.6.0,1.7.0)'/>
- <required namespace='java.package' name='org.apache.batik.transcoder.keys' range='[1.6.0,1.7.0)'/>
- <required namespace='java.package' name='org.apache.batik.util' range='[1.6.0,1.7.0)'/>
- <required namespace='java.package' name='org.w3c.dom' range='0.0.0'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.batik.pdf' version='1.6.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Manifest-Version: 1.0
-Bundle-Version: 1.6.0.v200803061811
-Export-Package: org.apache.avalon.framework,org.apache.avalon.framework.activity,org.apache.avalon.framework.configuration,org.apache.avalon.framework.container,org.apache.commons.io,org.apache.commons.io.output,org.apache.commons.logging,org.apache.commons.logging.impl,org.apache.fop.apps,org.apache.fop.fo,org.apache.fop.fonts,org.apache.fop.fonts.apps,org.apache.fop.fonts.base14,org.apache.fop.fonts.truetype,org.apache.fop.fonts.type1,org.apache.fop.image,org.apache.fop.image.analyser,org.apache.fop.pdf,org.apache.fop.render.pdf,org.apache.fop.render.ps,org.apache.fop.svg,org.apache.fop.util
-Bundle-SymbolicName: org.apache.batik.pdf
-Import-Package: org.apache.batik.bridge;version="[1.6.0,1.7.0)",org.apache.batik.dom.svg;version="[1.6.0,1.7.0)",org.apache.batik.dom.util;version="[1.6.0,1.7.0)",org.apache.batik.ext.awt;version="[1.6.0,1.7.0)",org.apache.batik.ext.awt.g2d;version="[1.6.0,1.7.0)",org.apache.batik.gvt;version="[1.6.0,1.7.0)",org.apache.batik.gvt.renderer;version="[1.6.0,1.7.0)",org.apache.batik.gvt.text;version="[1.6.0,1.7.0)",org.apache.batik.transcoder;version="[1.6.0,1.7.0)",org.apache.batik.transcoder.image;version="[1.6.0,1.7.0)",org.apache.batik.transcoder.keys;version="[1.6.0,1.7.0)",org.apache.batik.util;version="[1.6.0,1.7.0)",org.w3c.dom
-Bundle-Localization: plugin
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.batik.parser' version='1.6.0.v200803061811' singleton='false'>
- <update id='org.apache.batik.parser' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Batik Parser'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='5'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.parser' version='1.6.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.batik.parser' version='1.6.0.v200803061811'/>
- <provided namespace='java.package' name='org.apache.batik.parser' version='1.6.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='4'>
- <required namespace='osgi.bundle' name='org.apache.batik.ext.awt' range='0.0.0'/>
- <required namespace='osgi.bundle' name='org.apache.batik.util' range='0.0.0'/>
- <required namespace='osgi.bundle' name='org.apache.batik.xml' range='0.0.0'/>
- <required namespace='osgi.bundle' name='org.w3c.dom.svg' range='0.0.0'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.batik.parser' version='1.6.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Require-Bundle: org.apache.batik.ext.awt;version="[1.6.0,1.7.0)",org.apache.batik.util;version="[1.6.0,1.7.0)",org.apache.batik.xml;version="[1.6.0,1.7.0)",org.w3c.dom.svg;version="[1.1.0,1.3.0)"
-Manifest-Version: 1.0
-Bundle-Version: 1.6.0.v200803061811
-Export-Package: org.apache.batik.parser;version="1.6.0"
-Bundle-SymbolicName: org.apache.batik.parser
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.commons.collections' version='3.2.0.v200803061811' singleton='false'>
- <update id='org.apache.commons.collections' range='[0.0.0,3.2.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Commons Collections'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='16'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.collections' version='3.2.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.commons.collections' version='3.2.0.v200803061811'/>
- <provided namespace='java.package' name='org.apache.commons.collections' version='3.2.0'/>
- <provided namespace='java.package' name='org.apache.commons.collections.bag' version='3.2.0'/>
- <provided namespace='java.package' name='org.apache.commons.collections.bidimap' version='3.2.0'/>
- <provided namespace='java.package' name='org.apache.commons.collections.buffer' version='3.2.0'/>
- <provided namespace='java.package' name='org.apache.commons.collections.collection' version='3.2.0'/>
- <provided namespace='java.package' name='org.apache.commons.collections.comparators' version='3.2.0'/>
- <provided namespace='java.package' name='org.apache.commons.collections.functors' version='3.2.0'/>
- <provided namespace='java.package' name='org.apache.commons.collections.iterators' version='3.2.0'/>
- <provided namespace='java.package' name='org.apache.commons.collections.keyvalue' version='3.2.0'/>
- <provided namespace='java.package' name='org.apache.commons.collections.list' version='3.2.0'/>
- <provided namespace='java.package' name='org.apache.commons.collections.map' version='3.2.0'/>
- <provided namespace='java.package' name='org.apache.commons.collections.set' version='3.2.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.commons.collections' version='3.2.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Version: 3.2.0.v200803061811
-Export-Package: org.apache.commons.collections;version="3.2.0",org.apache.commons.collections.bag;version="3.2.0",org.apache.commons.collections.bidimap;version="3.2.0",org.apache.commons.collections.buffer;version="3.2.0",org.apache.commons.collections.collection;version="3.2.0",org.apache.commons.collections.comparators;version="3.2.0",org.apache.commons.collections.functors;version="3.2.0",org.apache.commons.collections.iterators;version="3.2.0",org.apache.commons.collections.keyvalue;version="3.2.0",org.apache.commons.collections.list;version="3.2.0",org.apache.commons.collections.map;version="3.2.0",org.apache.commons.collections.set;version="3.2.0"
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Bundle-SymbolicName: org.apache.commons.collections
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.xalan' version='2.7.1.v200803260804' singleton='false'>
- <update id='org.apache.xalan' range='[0.0.0,2.7.1.v200803260804)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Xalan-Java'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='45'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.xalan' version='2.7.1.v200803260804'/>
- <provided namespace='osgi.bundle' name='org.apache.xalan' version='2.7.1.v200803260804'/>
- <provided namespace='java.package' name='META-INF.services' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.regexp' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.client' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.extensions' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.lib' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.lib.sql' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.processor' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.res' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.serialize' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.templates' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.trace' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.transformer' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.xslt' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.xsltc' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.xsltc.cmdline' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.xsltc.cmdline.getopt' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.xsltc.compiler' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.xsltc.compiler.util' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.xsltc.dom' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.xsltc.runtime' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.xsltc.runtime.output' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.xsltc.trax' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.xsltc.util' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xml.dtm' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xml.dtm.ref' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xml.dtm.ref.dom2dtm' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xml.dtm.ref.sax2dtm' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xml.res' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xml.utils' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xml.utils.res' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xpath' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xpath.axes' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xpath.compiler' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xpath.domapi' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xpath.functions' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xpath.jaxp' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xpath.objects' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xpath.operations' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xpath.patterns' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xpath.res' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='4'>
- <required namespace='osgi.bundle' name='org.eclipse.osgi' range='0.0.0'/>
- <required namespace='osgi.bundle' name='java_cup.runtime' range='0.10.0' optional='true'/>
- <required namespace='osgi.bundle' name='org.apache.bcel' range='5.2.0' optional='true'/>
- <required namespace='osgi.bundle' name='org.apache.xerces' range='[2.9.0,3.0.0)' optional='true'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.xalan' version='2.7.1.v200803260804'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Require-Bundle: system.bundle,java_cup.runtime;bundle-version="0.10.0";resolution:=optional,org.apache.bcel;bundle-version="5.2.0";resolution:=optional,org.apache.xerces;bundle-version="[2.9.0,3.0.0)";resolution:=optional
-Manifest-Version: 1.0
-Bundle-Version: 2.7.1.v200803260804
-Export-Package: META-INF.services,org.apache.regexp,org.apache.xalan,org.apache.xalan.client,org.apache.xalan.extensions,org.apache.xalan.lib,org.apache.xalan.lib.sql,org.apache.xalan.processor,org.apache.xalan.res,org.apache.xalan.serialize,org.apache.xalan.templates,org.apache.xalan.trace,org.apache.xalan.transformer,org.apache.xalan.xslt,org.apache.xalan.xsltc,org.apache.xalan.xsltc.cmdline,org.apache.xalan.xsltc.cmdline.getopt,org.apache.xalan.xsltc.compiler,org.apache.xalan.xsltc.compiler.util,org.apache.xalan.xsltc.dom,org.apache.xalan.xsltc.runtime,org.apache.xalan.xsltc.runtime.output,org.apache.xalan.xsltc.trax,org.apache.xalan.xsltc.util,org.apache.xml.dtm,org.apache.xml.dtm.ref,org.apache.xml.dtm.ref.dom2dtm,org.apache.xml.dtm.ref.sax2dtm,org.apache.xml.res,org.apache.xml.utils,org.apache.xml.utils.res,org.apache.xpath,org.apache.xpath.axes,org.apache.xpath.compiler,org.apache.xpath.domapi,org.apache.xpath.functions,org.apache.xpath.jaxp,org.apache.xpath.objects,org.apache.xpath.operations,org.apache.xpath.patterns,org.apache.xpath.res
-Bundle-SymbolicName: org.apache.xalan
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.commons.pool.source' version='1.3.0.v200803061811' singleton='false'>
- <update id='org.apache.commons.pool.source' range='[0.0.0,1.3.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Commons Pool'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.pool.source' version='1.3.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.commons.pool.source' version='1.3.0.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.commons.pool.source' version='1.3.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.3.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.commons.pool.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.commons.pool;version="1.3.0.v200803061811"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.ant.source' version='1.7.0.v200803061910' singleton='false'>
- <update id='org.apache.ant.source' range='[0.0.0,1.7.0.v200803061910)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Ant Source'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.ant.source' version='1.7.0.v200803061910'/>
- <provided namespace='osgi.bundle' name='org.apache.ant.source' version='1.7.0.v200803061910'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.ant.source' version='1.7.0.v200803061910'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.7.0.v200803061910
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.ant.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.ant;version="1.7.0.v200803061910";roots:="lib/ant,lib/ant-antlr,lib/ant-apache-bcel,lib/ant-apache-bsf,lib/ant-apache-log4j,lib/ant-apache-oro,lib/ant-apache-regexp,lib/ant-apache-resolver,lib/ant-commons-logging,lib/ant-commons-net,lib/ant-jai,lib/ant-javamail,lib/ant-jdepend,lib/ant-jmf,lib/ant-jsch,lib/ant-junit,lib/ant-launcher,lib/ant-netrexx,lib/ant-nodeps,lib/ant-starteam,lib/ant-stylebook,lib/ant-swing,lib/ant-trax,lib/ant-weblogic"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.junit.source' version='3.8.1.v200803061811' singleton='false'>
- <update id='org.junit.source' range='[0.0.0,3.8.1.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='JUnit Testing Framework Source Bundle'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.junit.source' version='3.8.1.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.junit.source' version='3.8.1.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.junit.source' version='3.8.1.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Version: 3.8.1.v200803061811
-Eclipse-LazyStart: true
-Eclipse-SourceBundle: org.junit;version="3.8.1.v200803061811"
-Bundle-SymbolicName: org.junit.source
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='net.sourceforge.lpg.lpgjavaruntime' version='1.1.0.v200803061910' singleton='false'>
- <update id='net.sourceforge.lpg.lpgjavaruntime' range='[0.0.0,1.1.0.v200803061910)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='SourceForge LPG'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='5'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='net.sourceforge.lpg.lpgjavaruntime' version='1.1.0.v200803061910'/>
- <provided namespace='osgi.bundle' name='net.sourceforge.lpg.lpgjavaruntime' version='1.1.0.v200803061910'/>
- <provided namespace='java.package' name='lpg.lpgjavaruntime' version='1.1.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='net.sourceforge.lpg.lpgjavaruntime' version='1.1.0.v200803061910'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3
-Manifest-Version: 1.0
-Bundle-Version: 1.1.0.v200803061910
-Export-Package: lpg.lpgjavaruntime; version="1.1"
-Bundle-SymbolicName: net.sourceforge.lpg.lpgjavaruntime
-Bundle-Localization: plugin
-Bundle-ClassPath: .
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.commons.lang' version='2.3.0.v200803061910' singleton='false'>
- <update id='org.apache.commons.lang' range='[0.0.0,2.3.0.v200803061910)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Jakarta Commons Lang'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='13'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.lang' version='2.3.0.v200803061910'/>
- <provided namespace='osgi.bundle' name='org.apache.commons.lang' version='2.3.0.v200803061910'/>
- <provided namespace='java.package' name='org.apache.commons.lang' version='2.3.0'/>
- <provided namespace='java.package' name='org.apache.commons.lang.builder' version='2.3.0'/>
- <provided namespace='java.package' name='org.apache.commons.lang.enum' version='2.3.0'/>
- <provided namespace='java.package' name='org.apache.commons.lang.enums' version='2.3.0'/>
- <provided namespace='java.package' name='org.apache.commons.lang.exception' version='2.3.0'/>
- <provided namespace='java.package' name='org.apache.commons.lang.math' version='2.3.0'/>
- <provided namespace='java.package' name='org.apache.commons.lang.mutable' version='2.3.0'/>
- <provided namespace='java.package' name='org.apache.commons.lang.text' version='2.3.0'/>
- <provided namespace='java.package' name='org.apache.commons.lang.time' version='2.3.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.commons.lang' version='2.3.0.v200803061910'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Version: 2.3.0.v200803061910
-Export-Package: org.apache.commons.lang;version="2.3.0",org.apache.commons.lang.builder;version="2.3.0",org.apache.commons.lang.enum;version="2.3.0",org.apache.commons.lang.enums;version="2.3.0",org.apache.commons.lang.exception;version="2.3.0",org.apache.commons.lang.math;version="2.3.0",org.apache.commons.lang.mutable;version="2.3.0",org.apache.commons.lang.text;version="2.3.0",org.apache.commons.lang.time;version="2.3.0"
-Bundle-RequiredExecutionEnvironment: JRE-1.1
-Bundle-SymbolicName: org.apache.commons.lang
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.batik.svggen.source' version='1.6.0.v200803061811' singleton='false'>
- <update id='org.apache.batik.svggen.source' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Batik SVG Generation Source Bundle'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.svggen.source' version='1.6.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.batik.svggen.source' version='1.6.0.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.batik.svggen.source' version='1.6.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.6.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.batik.svggen.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.batik.svggen;version="1.6.0.v200803061811"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.commons.codec' version='1.3.0.v200803061910' singleton='false'>
- <update id='org.apache.commons.codec' range='[0.0.0,1.3.0.v200803061910)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.bundleName' value='Apache Commons Codec Plug-in'/>
- <property name='df_LT.bundleProvider' value='Eclipse.org'/>
- <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
- </properties>
- <provides size='9'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.codec' version='1.3.0.v200803061910'/>
- <provided namespace='osgi.bundle' name='org.apache.commons.codec' version='1.3.0.v200803061910'/>
- <provided namespace='java.package' name='org.apache.commons.codec' version='1.3.0'/>
- <provided namespace='java.package' name='org.apache.commons.codec.binary' version='1.3.0'/>
- <provided namespace='java.package' name='org.apache.commons.codec.digest' version='1.3.0'/>
- <provided namespace='java.package' name='org.apache.commons.codec.language' version='1.3.0'/>
- <provided namespace='java.package' name='org.apache.commons.codec.net' version='1.3.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.commons.codec' version='1.3.0.v200803061910'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.3.0.v200803061910
-Export-Package: org.apache.commons.codec;version="1.3.0",org.apache.commons.codec.binary;version="1.3.0",org.apache.commons.codec.digest;version="1.3.0",org.apache.commons.codec.language;version="1.3.0",org.apache.commons.codec.net;version="1.3.0"
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.commons.codec
-Bundle-Name: %bundleName
-Bundle-Localization: plugin
-Bundle-Vendor: %bundleProvider
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='com.ibm.icu.base.source' version='3.4.5' singleton='false'>
- <update id='com.ibm.icu.base.source' range='[0.0.0,3.4.5)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='IBM Corporation'/>
- <property name='df_LT.pluginName' value='International Components for Unicode for Java (ICU4J) Replacement source plug-in'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='com.ibm.icu.base.source' version='3.4.5'/>
- <provided namespace='osgi.bundle' name='com.ibm.icu.base.source' version='3.4.5'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='com.ibm.icu.base.source' version='3.4.5'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-Name: %pluginName
-Bundle-Version: 3.4.5
-Bundle-SymbolicName: com.ibm.icu.base.source
-Manifest-Version: 1.0
-Eclipse-SourceBundle: com.ibm.icu.base;version="3.4.5"
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='a.jre' version='1.6.0' singleton='false'>
- <provides size='117'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='a.jre' version='1.6.0'/>
- <provided namespace='java.package' name='javax.accessibility' version='0.0.0'/>
- <provided namespace='java.package' name='javax.activity' version='0.0.0'/>
- <provided namespace='java.package' name='javax.crypto' version='0.0.0'/>
- <provided namespace='java.package' name='javax.crypto.interfaces' version='0.0.0'/>
- <provided namespace='java.package' name='javax.crypto.spec' version='0.0.0'/>
- <provided namespace='java.package' name='javax.imageio' version='0.0.0'/>
- <provided namespace='java.package' name='javax.imageio.event' version='0.0.0'/>
- <provided namespace='java.package' name='javax.imageio.metadata' version='0.0.0'/>
- <provided namespace='java.package' name='javax.imageio.plugins.bmp' version='0.0.0'/>
- <provided namespace='java.package' name='javax.imageio.plugins.jpeg' version='0.0.0'/>
- <provided namespace='java.package' name='javax.imageio.spi' version='0.0.0'/>
- <provided namespace='java.package' name='javax.imageio.stream' version='0.0.0'/>
- <provided namespace='java.package' name='javax.management' version='0.0.0'/>
- <provided namespace='java.package' name='javax.management.loading' version='0.0.0'/>
- <provided namespace='java.package' name='javax.management.modelmbean' version='0.0.0'/>
- <provided namespace='java.package' name='javax.management.monitor' version='0.0.0'/>
- <provided namespace='java.package' name='javax.management.openmbean' version='0.0.0'/>
- <provided namespace='java.package' name='javax.management.relation' version='0.0.0'/>
- <provided namespace='java.package' name='javax.management.remote' version='0.0.0'/>
- <provided namespace='java.package' name='javax.management.remote.rmi' version='0.0.0'/>
- <provided namespace='java.package' name='javax.management.timer' version='0.0.0'/>
- <provided namespace='java.package' name='javax.naming' version='0.0.0'/>
- <provided namespace='java.package' name='javax.naming.directory' version='0.0.0'/>
- <provided namespace='java.package' name='javax.naming.event' version='0.0.0'/>
- <provided namespace='java.package' name='javax.naming.ldap' version='0.0.0'/>
- <provided namespace='java.package' name='javax.naming.spi' version='0.0.0'/>
- <provided namespace='java.package' name='javax.net' version='0.0.0'/>
- <provided namespace='java.package' name='javax.net.ssl' version='0.0.0'/>
- <provided namespace='java.package' name='javax.print' version='0.0.0'/>
- <provided namespace='java.package' name='javax.print.attribute' version='0.0.0'/>
- <provided namespace='java.package' name='javax.print.attribute.standard' version='0.0.0'/>
- <provided namespace='java.package' name='javax.print.event' version='0.0.0'/>
- <provided namespace='java.package' name='javax.rmi' version='0.0.0'/>
- <provided namespace='java.package' name='javax.rmi.CORBA' version='0.0.0'/>
- <provided namespace='java.package' name='javax.rmi.ssl' version='0.0.0'/>
- <provided namespace='java.package' name='javax.security.auth' version='0.0.0'/>
- <provided namespace='java.package' name='javax.security.auth.callback' version='0.0.0'/>
- <provided namespace='java.package' name='javax.security.auth.kerberos' version='0.0.0'/>
- <provided namespace='java.package' name='javax.security.auth.login' version='0.0.0'/>
- <provided namespace='java.package' name='javax.security.auth.spi' version='0.0.0'/>
- <provided namespace='java.package' name='javax.security.auth.x500' version='0.0.0'/>
- <provided namespace='java.package' name='javax.security.cert' version='0.0.0'/>
- <provided namespace='java.package' name='javax.security.sasl' version='0.0.0'/>
- <provided namespace='java.package' name='javax.sound.midi' version='0.0.0'/>
- <provided namespace='java.package' name='javax.sound.midi.spi' version='0.0.0'/>
- <provided namespace='java.package' name='javax.sound.sampled' version='0.0.0'/>
- <provided namespace='java.package' name='javax.sound.sampled.spi' version='0.0.0'/>
- <provided namespace='java.package' name='javax.sql' version='0.0.0'/>
- <provided namespace='java.package' name='javax.sql.rowset' version='0.0.0'/>
- <provided namespace='java.package' name='javax.sql.rowset.serial' version='0.0.0'/>
- <provided namespace='java.package' name='javax.sql.rowset.spi' version='0.0.0'/>
- <provided namespace='java.package' name='javax.swing' version='0.0.0'/>
- <provided namespace='java.package' name='javax.swing.border' version='0.0.0'/>
- <provided namespace='java.package' name='javax.swing.colorchooser' version='0.0.0'/>
- <provided namespace='java.package' name='javax.swing.event' version='0.0.0'/>
- <provided namespace='java.package' name='javax.swing.filechooser' version='0.0.0'/>
- <provided namespace='java.package' name='javax.swing.plaf' version='0.0.0'/>
- <provided namespace='java.package' name='javax.swing.plaf.basic' version='0.0.0'/>
- <provided namespace='java.package' name='javax.swing.plaf.metal' version='0.0.0'/>
- <provided namespace='java.package' name='javax.swing.plaf.multi' version='0.0.0'/>
- <provided namespace='java.package' name='javax.swing.plaf.synth' version='0.0.0'/>
- <provided namespace='java.package' name='javax.swing.table' version='0.0.0'/>
- <provided namespace='java.package' name='javax.swing.text' version='0.0.0'/>
- <provided namespace='java.package' name='javax.swing.text.html' version='0.0.0'/>
- <provided namespace='java.package' name='javax.swing.text.html.parser' version='0.0.0'/>
- <provided namespace='java.package' name='javax.swing.text.rtf' version='0.0.0'/>
- <provided namespace='java.package' name='javax.swing.tree' version='0.0.0'/>
- <provided namespace='java.package' name='javax.swing.undo' version='0.0.0'/>
- <provided namespace='java.package' name='javax.transaction' version='0.0.0'/>
- <provided namespace='java.package' name='javax.transaction.xa' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.datatype' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.namespace' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.parsers' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.transform' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.transform.dom' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.transform.sax' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.transform.stream' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.validation' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.xpath' version='0.0.0'/>
- <provided namespace='java.package' name='org.ietf.jgss' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.CORBA' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.CORBA_2_3' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.CORBA_2_3.portable' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.CORBA.DynAnyPackage' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.CORBA.ORBPackage' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.CORBA.portable' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.CORBA.TypeCodePackage' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.CosNaming' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.CosNaming.NamingContextExtPackage' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.CosNaming.NamingContextPackage' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.Dynamic' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.DynamicAny' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.DynamicAny.DynAnyFactoryPackage' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.DynamicAny.DynAnyPackage' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.IOP' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.IOP.CodecFactoryPackage' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.IOP.CodecPackage' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.Messaging' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.PortableInterceptor' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.PortableInterceptor.ORBInitInfoPackage' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.PortableServer' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.PortableServer.CurrentPackage' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.PortableServer.POAManagerPackage' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.PortableServer.POAPackage' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.PortableServer.portable' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.PortableServer.ServantLocatorPackage' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.SendingContext' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.stub.java.rmi' version='0.0.0'/>
- <provided namespace='java.package' name='org.w3c.dom' version='0.0.0'/>
- <provided namespace='java.package' name='org.w3c.dom.bootstrap' version='0.0.0'/>
- <provided namespace='java.package' name='org.w3c.dom.events' version='0.0.0'/>
- <provided namespace='java.package' name='org.w3c.dom.ls' version='0.0.0'/>
- <provided namespace='java.package' name='org.xml.sax' version='0.0.0'/>
- <provided namespace='java.package' name='org.xml.sax.ext' version='0.0.0'/>
- <provided namespace='java.package' name='org.xml.sax.helpers' version='0.0.0'/>
- </provides>
- <touchpoint id='org.eclipse.equinox.p2.native' version='1.0.0'/>
- </unit>
- <unit id='org.apache.batik.css' version='1.6.0.v200803061811' singleton='false'>
- <update id='org.apache.batik.css' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Batik CSS'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='12'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.css' version='1.6.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.batik.css' version='1.6.0.v200803061811'/>
- <provided namespace='java.package' name='org.apache.batik.css.dom' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.css.engine' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.css.engine.sac' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.css.engine.value' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.css.engine.value.css2' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.css.engine.value.svg' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.css.engine.value.svg12' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.css.parser' version='1.6.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.batik.css' version='1.6.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Require-bundle: org.apache.batik.util;version="[1.6.0,1.7.0)",org.w3c.css.sac;version="[1.3.0,1.4.0)",org.w3c.dom.svg;version="[1.1.0,1.3.0)"
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Manifest-Version: 1.0
-Bundle-Version: 1.6.0.v200803061811
-Export-Package: org.apache.batik.css.dom;version="1.6.0",org.apache.batik.css.engine;version="1.6.0",org.apache.batik.css.engine.sac;version="1.6.0",org.apache.batik.css.engine.value;version="1.6.0",org.apache.batik.css.engine.value.css2;version="1.6.0",org.apache.batik.css.engine.value.svg;version="1.6.0",org.apache.batik.css.engine.value.svg12;version="1.6.0",org.apache.batik.css.parser;version="1.6.0"
-Bundle-SymbolicName: org.apache.batik.css
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.jdom.source' version='1.0.0.v200803061811' singleton='false'>
- <update id='org.jdom.source' range='[0.0.0,1.0.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='JDOM Source'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.jdom.source' version='1.0.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.jdom.source' version='1.0.0.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.jdom.source' version='1.0.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.0.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.jdom.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.jdom;version="1.0.0.v200803070505"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.mortbay.jetty.server' version='6.1.7.v200803061811' singleton='false'>
- <update id='org.mortbay.jetty.server' range='[0.0.0,6.1.7.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='org.eclipse.equinox.p2.name' value='Jetty Server'/>
- <property name='org.eclipse.equinox.p2.description' value='Jetty server core'/>
- <property name='org.eclipse.equinox.p2.provider' value='Mort Bay Consulting'/>
- <property name='org.eclipse.equinox.p2.doc.url' value='http://jetty.mortbay.org'/>
- </properties>
- <provides size='17'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.mortbay.jetty.server' version='6.1.7.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.mortbay.jetty.server' version='6.1.7.v200803061811'/>
- <provided namespace='java.package' name='org.mortbay.jetty.bio' version='6.1.7'/>
- <provided namespace='java.package' name='org.mortbay.servlet.jetty' version='6.1.7'/>
- <provided namespace='java.package' name='org.mortbay.jetty.nio' version='6.1.7'/>
- <provided namespace='java.package' name='org.mortbay.resource' version='6.1.7'/>
- <provided namespace='java.package' name='org.mortbay.io.nio' version='6.1.7'/>
- <provided namespace='java.package' name='org.mortbay.jetty.security' version='6.1.7'/>
- <provided namespace='java.package' name='org.mortbay.jetty.deployer' version='6.1.7'/>
- <provided namespace='java.package' name='org.mortbay.xml' version='6.1.7'/>
- <provided namespace='java.package' name='org.mortbay.io.bio' version='6.1.7'/>
- <provided namespace='java.package' name='org.mortbay.jetty.servlet' version='6.1.7'/>
- <provided namespace='java.package' name='org.mortbay.io' version='6.1.7'/>
- <provided namespace='java.package' name='org.mortbay.jetty.handler' version='6.1.7'/>
- <provided namespace='java.package' name='org.mortbay.jetty' version='6.1.7'/>
- <provided namespace='java.package' name='org.mortbay.jetty.webapp' version='6.1.7'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- </provides>
- <requires size='13'>
- <required namespace='java.package' name='javax.net.ssl' range='0.0.0'/>
- <required namespace='java.package' name='javax.security.cert' range='0.0.0'/>
- <required namespace='java.package' name='javax.servlet' range='2.5.0'/>
- <required namespace='java.package' name='javax.servlet.http' range='2.5.0'/>
- <required namespace='java.package' name='javax.xml.parsers' range='0.0.0'/>
- <required namespace='java.package' name='org.mortbay.component' range='6.1.0'/>
- <required namespace='java.package' name='org.mortbay.log' range='6.1.0'/>
- <required namespace='java.package' name='org.mortbay.servlet' range='6.1.0'/>
- <required namespace='java.package' name='org.mortbay.thread' range='6.1.0'/>
- <required namespace='java.package' name='org.mortbay.util' range='6.1.0'/>
- <required namespace='java.package' name='org.mortbay.util.ajax' range='6.1.0'/>
- <required namespace='java.package' name='org.xml.sax' range='0.0.0'/>
- <required namespace='java.package' name='org.xml.sax.helpers' range='0.0.0'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.mortbay.jetty.server' version='6.1.7.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Manifest-Version: 1.0
-Bundle-DocURL: http://jetty.mortbay.org
-implementation-version: 6.1.7
-Ignore-Package: org.mortbay.jetty.bio,org.mortbay.servlet.jetty,org.mortbay.jetty.nio,org.mortbay.resource,org.mortbay.io.nio,org.mortbay.jetty.security,org.mortbay.jetty.deployer,org.mortbay.xml,org.mortbay.io.bio,org.mortbay.jetty.servlet,org.mortbay.jetty.handler,org.mortbay.io,org.mortbay.jetty,org.mortbay.jetty.webapp
-Created-By: 1.5.0_13 (Sun Microsystems Inc.)
-Built-By: gregw
-Bundle-Vendor: Mort Bay Consulting
-url: http://jetty.mortbay.org
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-Description: Jetty server core
-Import-Package: javax.net.ssl,javax.security.cert,javax.servlet;version=2.5,javax.servlet.http;version=2.5,javax.xml.parsers,org.mortbay.component;version=6.1,org.mortbay.log;version=6.1,org.mortbay.servlet;version=6.1,org.mortbay.thread;version=6.1,org.mortbay.util;version=6.1,org.mortbay.util.ajax;version=6.1,org.xml.sax,org.xml.sax.helpers
-Archiver-Version: Plexus Archiver
-Bundle-Name: Jetty Server
-Bundle-License: http://www.apache.org/licenses/LICENSE-2.0
-mode: development
-Export-Package: org.mortbay.jetty.bio;uses:="org.mortbay.log,org.mortbay.thread,org.mortbay.io.bio,org.mortbay.io,org.mortbay.jetty";version=6.1.7,org.mortbay.servlet.jetty;uses:="javax.servlet.http,org.mortbay.servlet,org.mortbay.jetty";version=6.1.7,org.mortbay.jetty.nio;uses:="org.mortbay.log,org.mortbay.thread,org.mortbay.io,org.mortbay.jetty,org.mortbay.util.ajax,org.mortbay.io.nio";version=6.1.7,org.mortbay.resource;uses:="org.mortbay.log,org.mortbay.util";version=6.1.7,org.mortbay.io.nio;uses:="org.mortbay.log,org.mortbay.component,org.mortbay.thread,org.mortbay.io,org.mortbay.jetty";version=6.1.7,org.mortbay.jetty.security;uses:="org.mortbay.util,org.mortbay.component,javax.servlet.http,org.mortbay.jetty.bio,javax.security.cert,org.mortbay.resource,org.mortbay.log,javax.servlet,org.mortbay.io.bio,org.mortbay.jetty.servlet,org.mortbay.io,org.mortbay.jetty.handler,org.mortbay.jetty.webapp,org.mortbay.jetty,javax.net.ssl";version=6.1.7,org.mortbay.jetty.deployer;uses:="org.mortbay.util,org.mortbay.component,org.mortbay.resource,org.mortbay.log,org.mortbay.xml,org.mortbay.jetty.handler,org.mortbay.jetty,org.mortbay.jetty.webapp";version=6.1.7,org.mortbay.xml;uses:="org.mortbay.util,org.mortbay.component,org.xml.sax,org.mortbay.resource,org.mortbay.log,javax.xml.parsers,org.xml.sax.helpers";version=6.1.7,org.mortbay.io.bio;uses:=org.mortbay.io;version=6.1.7,org.mortbay.jetty.servlet;uses:="org.mortbay.util,javax.servlet.http,org.mortbay.component,org.mortbay.jetty.nio,org.mortbay.resource,org.mortbay.io.nio,org.mortbay.jetty.security,org.mortbay.log,javax.servlet,org.mortbay.io,org.mortbay.jetty.handler,org.mortbay.jetty";version=6.1.7,org.mortbay.io;uses:=org.mortbay.util;version=6.1.7,org.mortbay.jetty.handler;uses:="org.mortbay.util,org.mortbay.component,javax.servlet.http,org.mortbay.resource,org.mortbay.log,javax.servlet,org.mortbay.jetty.servlet,org.mortbay.io,org.mortbay.jetty.webapp,org.mortbay.jetty";version=6.1.7,org.mortbay.jetty;uses:="org.mortbay.util,javax.servlet.http,org.mortbay.component,org.mortbay.jetty.bio,org.mortbay.thread,org.mortbay.resource,org.mortbay.io.nio,org.mortbay.jetty.security,org.mortbay.log,javax.servlet,org.mortbay.jetty.servlet,org.mortbay.jetty.handler,org.mortbay.io,org.mortbay.jetty.webapp,org.mortbay.util.ajax";version=6.1.7,org.mortbay.jetty.webapp;uses:="org.mortbay.util,javax.servlet.http,org.mortbay.resource,org.mortbay.jetty.security,org.mortbay.jetty.deployer,org.mortbay.log,javax.servlet,org.mortbay.xml,org.mortbay.jetty.servlet,org.mortbay.jetty.handler,org.mortbay.jetty";version=6.1.7
-Bundle-Version: 6.1.7.v200803061811
-Bundle-ManifestVersion: 2
-Bnd-LastModified: 1198463911965
-package: org.mortbay
-Build-Jdk: 1.5.0_13
-Tool: Bnd-0.0.160
-Bundle-SymbolicName: org.mortbay.jetty.server
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.log4j' version='1.2.8.v200803061910' singleton='false'>
- <update id='org.apache.log4j' range='[0.0.0,1.2.8.v200803061910)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.PLUGIN_NAME' value='Apache Jakarta log4j Plug-in'/>
- <property name='df_LT.PLUGIN_PROVIDER' value='Eclipse.org'/>
- <property name='org.eclipse.equinox.p2.name' value='%PLUGIN_NAME'/>
- <property name='org.eclipse.equinox.p2.provider' value='%PLUGIN_PROVIDER'/>
- </properties>
- <provides size='25'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.log4j' version='1.2.8.v200803061910'/>
- <provided namespace='osgi.bundle' name='org.apache.log4j' version='1.2.8.v200803061910'/>
- <provided namespace='java.package' name='org.apache.log4j' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.log4j.chainsaw' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.log4j.config' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.log4j.helpers' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.log4j.jdbc' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.log4j.jmx' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.log4j.lf5' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.log4j.lf5.config' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.log4j.lf5.util' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.log4j.lf5.viewer' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.log4j.lf5.viewer.categoryexplorer' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.log4j.lf5.viewer.configure' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.log4j.lf5.viewer.images' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.log4j.net' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.log4j.nt' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.log4j.or' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.log4j.or.jms' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.log4j.or.sax' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.log4j.spi' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.log4j.varia' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.log4j.xml' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.log4j' version='1.2.8.v200803061910'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-Vendor: %PLUGIN_PROVIDER
-Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-ClassPath: .
-Bundle-Name: %PLUGIN_NAME
-Bundle-Localization: plugin
-Eclipse-BuddyPolicy: registered
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.log4j
-Bundle-Version: 1.2.8.v200803061910
-Export-Package: org.apache.log4j,org.apache.log4j.chainsaw,org.apache.log4j.config,org.apache.log4j.helpers,org.apache.log4j.jdbc,org.apache.log4j.jmx,org.apache.log4j.lf5,org.apache.log4j.lf5.config,org.apache.log4j.lf5.util,org.apache.log4j.lf5.viewer,org.apache.log4j.lf5.viewer.categoryexplorer,org.apache.log4j.lf5.viewer.configure,org.apache.log4j.lf5.viewer.images,org.apache.log4j.net,org.apache.log4j.nt,org.apache.log4j.or,org.apache.log4j.or.jms,org.apache.log4j.or.sax,org.apache.log4j.spi,org.apache.log4j.varia,org.apache.log4j.xml
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.commons.net.source' version='1.4.1.v200803071935' singleton='false'>
- <update id='org.apache.commons.net.source' range='[0.0.0,1.4.1.v200803071935)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Commons Net Source Bundle'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.net.source' version='1.4.1.v200803071935'/>
- <provided namespace='osgi.bundle' name='org.apache.commons.net.source' version='1.4.1.v200803071935'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.commons.net.source' version='1.4.1.v200803071935'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.4.1.v200803071935
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.commons.net.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.commons.net;version="1.4.1.v200803071935"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='java_cup.runtime' version='0.10.0.v200803061811' singleton='false'>
- <update id='java_cup.runtime' range='[0.0.0,0.10.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Java Cup'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='5'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='java_cup.runtime' version='0.10.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='java_cup.runtime' version='0.10.0.v200803061811'/>
- <provided namespace='java.package' name='java_cup.runtime' version='0.10.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='java_cup.runtime' version='0.10.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Version: 0.10.0.v200803061811
-Export-Package: java_cup.runtime;version="0.10.0"
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-SymbolicName: java_cup.runtime
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.batik.xml.source' version='1.6.0.v200803061811' singleton='false'>
- <update id='org.apache.batik.xml.source' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Batik XML Source Bundle'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.xml.source' version='1.6.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.batik.xml.source' version='1.6.0.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.batik.xml.source' version='1.6.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.6.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.batik.xml.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.batik.xml;version="1.6.0.v200803061811"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.commons.cli' version='1.0.0.v200803061811' singleton='false'>
- <update id='org.apache.commons.cli' range='[0.0.0,1.0.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Jakarta Commons CLI'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='5'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.cli' version='1.0.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.commons.cli' version='1.0.0.v200803061811'/>
- <provided namespace='java.package' name='org.apache.commons.cli' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='2'>
- <required namespace='osgi.bundle' name='org.apache.commons.lang' range='[2.0.0,3.0.0)'/>
- <required namespace='osgi.bundle' name='org.apache.commons.logging' range='[1.0.0,2.0.0)'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.commons.cli' version='1.0.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.0.0.v200803061811
-Export-Package: org.apache.commons.cli;version="1.0.0"
-Require-Bundle: org.apache.commons.lang;bundle-version="[2.0.0,3.0.0)",org.apache.commons.logging;bundle-version="[1.0.0,2.0.0)"
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.commons.cli
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.commons.cli.source' version='1.0.0.v200803061811' singleton='false'>
- <update id='org.apache.commons.cli.source' range='[0.0.0,1.0.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Jakarta Commons CLI'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.cli.source' version='1.0.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.commons.cli.source' version='1.0.0.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.commons.cli.source' version='1.0.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.0.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.commons.cli.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.commons.cli;version="1.0.0.v200803061811"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.ant' version='1.6.5.v200803061811' singleton='false'>
- <update id='org.apache.ant' range='[0.0.0,1.6.5.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Ant'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='75'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.ant' version='1.6.5.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.ant' version='1.6.5.v200803061811'/>
- <provided namespace='java.package' name='org.apache.tools.ant' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.filters' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.filters.util' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.helper' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.input' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.launch' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.listener' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.loader' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.compilers' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.condition' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.cvslib' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.email' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.ccm' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.clearcase' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.depend' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.depend.constantpool' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.dotnet' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.ejb' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.extension' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.extension.resolvers' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.i18n' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.ide' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.image' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.j2ee' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.javacc' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.javah' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.jdepend' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.jlink' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.jsp' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.jsp.compilers' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.junit' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.junit.xsl' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.metamata' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.native2ascii' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.net' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.perforce' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.pvcs' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.scm' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.script' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.sitraka' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.sitraka.bytecode' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.sitraka.bytecode.attributes' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.sos' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.sound' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.splash' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.ssh' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.starteam' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.unix' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.vss' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.windows' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.rmic' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.types' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.types.mappers' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.types.optional' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.types.optional.depend' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.types.optional.image' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.types.resolver' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.types.selectors' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.types.selectors.modifiedselector' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.util' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.util.depend' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.util.depend.bcel' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.util.facade' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.util.optional' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.util.regexp' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.bzip2' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.mail' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.tar' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.zip' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='1'>
- <required namespace='osgi.bundle' name='org.eclipse.osgi' range='0.0.0'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.ant' version='1.6.5.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='2'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Export-Package: org.apache.tools.ant,org.apache.tools.ant.filters,org.apache.tools.ant.filters.util,org.apache.tools.ant.helper,org.apache.tools.ant.input,org.apache.tools.ant.launch,org.apache.tools.ant.listener,org.apache.tools.ant.loader,org.apache.tools.ant.taskdefs,org.apache.tools.ant.taskdefs.compilers,org.apache.tools.ant.taskdefs.condition,org.apache.tools.ant.taskdefs.cvslib,org.apache.tools.ant.taskdefs.email,org.apache.tools.ant.taskdefs.optional,org.apache.tools.ant.taskdefs.optional.ccm,org.apache.tools.ant.taskdefs.optional.clearcase,org.apache.tools.ant.taskdefs.optional.depend,org.apache.tools.ant.taskdefs.optional.depend.constantpool,org.apache.tools.ant.taskdefs.optional.dotnet,org.apache.tools.ant.taskdefs.optional.ejb,org.apache.tools.ant.taskdefs.optional.extension,org.apache.tools.ant.taskdefs.optional.extension.resolvers,org.apache.tools.ant.taskdefs.optional.i18n,org.apache.tools.ant.taskdefs.optional.ide,org.apache.tools.ant.taskdefs.optional.image,org.apache.tools.ant.taskdefs.optional.j2ee,org.apache.tools.ant.taskdefs.optional.javacc,org.apache.tools.ant.taskdefs.optional.javah,org.apache.tools.ant.taskdefs.optional.jdepend,org.apache.tools.ant.taskdefs.optional.jlink,org.apache.tools.ant.taskdefs.optional.jsp,org.apache.tools.ant.taskdefs.optional.jsp.compilers,org.apache.tools.ant.taskdefs.optional.junit,org.apache.tools.ant.taskdefs.optional.junit.xsl,org.apache.tools.ant.taskdefs.optional.metamata,org.apache.tools.ant.taskdefs.optional.native2ascii,org.apache.tools.ant.taskdefs.optional.net,org.apache.tools.ant.taskdefs.optional.perforce,org.apache.tools.ant.taskdefs.optional.pvcs,org.apache.tools.ant.taskdefs.optional.scm,org.apache.tools.ant.taskdefs.optional.script,org.apache.tools.ant.taskdefs.optional.sitraka,org.apache.tools.ant.taskdefs.optional.sitraka.bytecode,org.apache.tools.ant.taskdefs.optional.sitraka.bytecode.attributes,org.apache.tools.ant.taskdefs.optional.sos,org.apache.tools.ant.taskdefs.optional.sound,org.apache.tools.ant.taskdefs.optional.splash,org.apache.tools.ant.taskdefs.optional.ssh,org.apache.tools.ant.taskdefs.optional.starteam,org.apache.tools.ant.taskdefs.optional.unix,org.apache.tools.ant.taskdefs.optional.vss,org.apache.tools.ant.taskdefs.optional.windows,org.apache.tools.ant.taskdefs.rmic,org.apache.tools.ant.types,org.apache.tools.ant.types.mappers,org.apache.tools.ant.types.optional,org.apache.tools.ant.types.optional.depend,org.apache.tools.ant.types.optional.image,org.apache.tools.ant.types.resolver,org.apache.tools.ant.types.selectors,org.apache.tools.ant.types.selectors.modifiedselector,org.apache.tools.ant.util,org.apache.tools.ant.util.depend,org.apache.tools.ant.util.depend.bcel,org.apache.tools.ant.util.facade,org.apache.tools.ant.util.optional,org.apache.tools.ant.util.regexp,org.apache.tools.bzip2,org.apache.tools.mail,org.apache.tools.tar,org.apache.tools.zip
-Bundle-RequiredExecutionEnvironment: J2SE-1.2
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.osgi
-Bundle-Name: %pluginName
-Bundle-Version: 1.6.5.v200803061811
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.apache.ant
-Bundle-ClassPath: lib/ant.jar,lib/ant-antlr.jar,lib/ant-apache-bcel.jar,lib/ant-apache-bsf.jar,lib/ant-apache-log4j.jar,lib/ant-apache-oro.jar,lib/ant-apache-regexp.jar,lib/ant-apache-resolver.jar,lib/ant-commons-logging.jar,lib/ant-commons-net.jar,lib/ant-icontract.jar,lib/ant-jai.jar,lib/ant-javamail.jar,lib/ant-jdepend.jar,lib/ant-jmf.jar,lib/ant-jsch.jar,lib/ant-junit.jar,lib/ant-launcher.jar,lib/ant-netrexx.jar,lib/ant-nodeps.jar,lib/ant-starteam.jar,lib/ant-stylebook.jar,lib/ant-swing.jar,lib/ant-trax.jar,lib/ant-vaj.jar,lib/ant-weblogic.jar,lib/ant-xalan1.jar,lib/ant-xslp.jar
-Manifest-Version: 1.0
-Eclipse-LazyStart: true
-
- </instruction>
- <instruction key='zipped'>
- true
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='com.sun.syndication' version='0.9.0.v200803061811' singleton='false'>
- <update id='com.sun.syndication' range='[0.0.0,0.9.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Rss and atOM utilitiEs (ROME)'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='14'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='com.sun.syndication' version='0.9.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='com.sun.syndication' version='0.9.0.v200803061811'/>
- <provided namespace='java.package' name='com.sun.syndication.feed' version='0.9.0'/>
- <provided namespace='java.package' name='com.sun.syndication.feed.atom' version='0.9.0'/>
- <provided namespace='java.package' name='com.sun.syndication.feed.impl' version='0.9.0'/>
- <provided namespace='java.package' name='com.sun.syndication.feed.module' version='0.9.0'/>
- <provided namespace='java.package' name='com.sun.syndication.feed.module.impl' version='0.9.0'/>
- <provided namespace='java.package' name='com.sun.syndication.feed.rss' version='0.9.0'/>
- <provided namespace='java.package' name='com.sun.syndication.feed.synd' version='0.9.0'/>
- <provided namespace='java.package' name='com.sun.syndication.feed.synd.impl' version='0.9.0'/>
- <provided namespace='java.package' name='com.sun.syndication.io' version='0.9.0'/>
- <provided namespace='java.package' name='com.sun.syndication.io.impl' version='0.9.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='7'>
- <required namespace='java.package' name='org.jdom' range='1.0.0'/>
- <required namespace='java.package' name='org.jdom.adapters' range='1.0.0'/>
- <required namespace='java.package' name='org.jdom.filter' range='1.0.0'/>
- <required namespace='java.package' name='org.jdom.input' range='1.0.0'/>
- <required namespace='java.package' name='org.jdom.output' range='1.0.0'/>
- <required namespace='java.package' name='org.jdom.transform' range='1.0.0'/>
- <required namespace='java.package' name='org.jdom.xpath' range='1.0.0'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='com.sun.syndication' version='0.9.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Manifest-Version: 1.0
-Bundle-Version: 0.9.0.v200803061811
-Export-Package: com.sun.syndication.feed;version="0.9.0",com.sun.syndication.feed.atom;version="0.9.0",com.sun.syndication.feed.impl;version="0.9.0",com.sun.syndication.feed.module;version="0.9.0",com.sun.syndication.feed.module.impl;version="0.9.0",com.sun.syndication.feed.rss;version="0.9.0",com.sun.syndication.feed.synd;version="0.9.0",com.sun.syndication.feed.synd.impl;version="0.9.0",com.sun.syndication.io;version="0.9.0",com.sun.syndication.io.impl;version="0.9.0"
-Bundle-SymbolicName: com.sun.syndication
-Import-Package: org.jdom;version="1.0.0",org.jdom.adapters;version="1.0.0",org.jdom.filter;version="1.0.0",org.jdom.input;version="1.0.0",org.jdom.output;version="1.0.0",org.jdom.transform;version="1.0.0",org.jdom.xpath;version="1.0.0"
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.lucene.source' version='1.4.3.v200803061910' singleton='false'>
- <update id='org.apache.lucene.source' range='[0.0.0,1.4.3.v200803061910)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.lucene_plugin_name' value='Apache Lucene'/>
- <property name='org.eclipse.equinox.p2.name' value='%lucene_plugin_name'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.lucene.source' version='1.4.3.v200803061910'/>
- <provided namespace='osgi.bundle' name='org.apache.lucene.source' version='1.4.3.v200803061910'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.lucene.source' version='1.4.3.v200803061910'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Name: %lucene_plugin_name
-Bundle-Version: 1.4.3.v200803061910
-Eclipse-LazyStart: false
-Eclipse-SourceBundle: org.apache.lucene;version="1.4.3.v200803061910"
-Bundle-SymbolicName: org.apache.lucene.source
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.mozilla.javascript' version='1.6.6.v200803061910' singleton='false'>
- <update id='org.mozilla.javascript' range='[0.0.0,1.6.6.v200803061910)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
- <property name='df_LT.Bundle-Name.0' value='Mozilla Rhino'/>
- <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
- <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
- </properties>
- <provides size='21'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.mozilla.javascript' version='1.6.6.v200803061910'/>
- <provided namespace='osgi.bundle' name='org.mozilla.javascript' version='1.6.6.v200803061910'/>
- <provided namespace='java.package' name='org.mozilla.classfile' version='0.0.0'/>
- <provided namespace='java.package' name='org.mozilla.javascript' version='0.0.0'/>
- <provided namespace='java.package' name='org.mozilla.javascript.continuations' version='0.0.0'/>
- <provided namespace='java.package' name='org.mozilla.javascript.debug' version='0.0.0'/>
- <provided namespace='java.package' name='org.mozilla.javascript.jdk11' version='0.0.0'/>
- <provided namespace='java.package' name='org.mozilla.javascript.jdk13' version='0.0.0'/>
- <provided namespace='java.package' name='org.mozilla.javascript.optimizer' version='0.0.0'/>
- <provided namespace='java.package' name='org.mozilla.javascript.regexp' version='0.0.0'/>
- <provided namespace='java.package' name='org.mozilla.javascript.resources' version='0.0.0'/>
- <provided namespace='java.package' name='org.mozilla.javascript.serialize' version='0.0.0'/>
- <provided namespace='java.package' name='org.mozilla.javascript.tools' version='0.0.0'/>
- <provided namespace='java.package' name='org.mozilla.javascript.tools.idswitch' version='0.0.0'/>
- <provided namespace='java.package' name='org.mozilla.javascript.tools.jsc' version='0.0.0'/>
- <provided namespace='java.package' name='org.mozilla.javascript.tools.resources' version='0.0.0'/>
- <provided namespace='java.package' name='org.mozilla.javascript.tools.shell' version='0.0.0'/>
- <provided namespace='java.package' name='org.mozilla.javascript.xml' version='0.0.0'/>
- <provided namespace='java.package' name='org.mozilla.javascript.xmlimpl' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='14'>
- <required namespace='java.package' name='javax.xml.transform.dom' range='0.0.0'/>
- <required namespace='java.package' name='javax.swing.event' range='0.0.0'/>
- <required namespace='java.package' name='org.w3c.dom' range='0.0.0'/>
- <required namespace='java.package' name='javax.swing.border' range='0.0.0'/>
- <required namespace='java.package' name='javax.xml.transform.stream' range='0.0.0'/>
- <required namespace='java.package' name='javax.swing.text' range='0.0.0'/>
- <required namespace='java.package' name='javax.swing.filechooser' range='0.0.0'/>
- <required namespace='java.package' name='javax.swing.table' range='0.0.0'/>
- <required namespace='java.package' name='javax.xml.namespace' range='0.0.0'/>
- <required namespace='java.package' name='javax.xml.transform' range='0.0.0'/>
- <required namespace='java.package' name='org.xml.sax' range='0.0.0'/>
- <required namespace='java.package' name='javax.swing.tree' range='0.0.0'/>
- <required namespace='java.package' name='javax.swing' range='0.0.0'/>
- <required namespace='java.package' name='javax.xml.parsers' range='0.0.0'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.mozilla.javascript' version='1.6.6.v200803061910'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-Vendor: %Bundle-Vendor.0
-Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Main-Class: org.mozilla.javascript.tools.shell.Main
-Import-Package: javax.xml.transform.dom,javax.swing.event,org.w3c.dom,javax.swing.border,javax.xml.transform.stream,javax.swing.text,javax.swing.filechooser,javax.swing.table,javax.xml.namespace,javax.xml.transform,org.xml.sax,javax.swing.tree,javax.swing,javax.xml.parsers
-Bundle-Name: %Bundle-Name.0
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.mozilla.javascript
-Bundle-Version: 1.6.6.v200803061910
-Export-Package: org.mozilla.classfile,org.mozilla.javascript,org.mozilla.javascript.continuations,org.mozilla.javascript.debug,org.mozilla.javascript.jdk11,org.mozilla.javascript.jdk13,org.mozilla.javascript.optimizer,org.mozilla.javascript.regexp,org.mozilla.javascript.resources,org.mozilla.javascript.serialize,org.mozilla.javascript.tools,org.mozilla.javascript.tools.idswitch,org.mozilla.javascript.tools.jsc,org.mozilla.javascript.tools.resources,org.mozilla.javascript.tools.shell,org.mozilla.javascript.xml,org.mozilla.javascript.xmlimpl
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.objectweb.asm' version='3.0.0.v200803061811' singleton='false'>
- <update id='org.objectweb.asm' range='[0.0.0,3.0.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='ASM'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='11'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.objectweb.asm' version='3.0.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.objectweb.asm' version='3.0.0.v200803061811'/>
- <provided namespace='java.package' name='org.objectweb.asm' version='3.0.0'/>
- <provided namespace='java.package' name='org.objectweb.asm.commons' version='3.0.0'/>
- <provided namespace='java.package' name='org.objectweb.asm.signature' version='3.0.0'/>
- <provided namespace='java.package' name='org.objectweb.asm.tree' version='3.0.0'/>
- <provided namespace='java.package' name='org.objectweb.asm.tree.analysis' version='3.0.0'/>
- <provided namespace='java.package' name='org.objectweb.asm.util' version='3.0.0'/>
- <provided namespace='java.package' name='org.objectweb.asm.xml' version='3.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.objectweb.asm' version='3.0.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Version: 3.0.0.v200803061811
-Export-Package: org.objectweb.asm;version="3.0.0",org.objectweb.asm.commons;version="3.0.0",org.objectweb.asm.signature;version="3.0.0",org.objectweb.asm.tree;version="3.0.0",org.objectweb.asm.tree.analysis;version="3.0.0",org.objectweb.asm.util;version="3.0.0",org.objectweb.asm.xml;version="3.0.0"
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Bundle-SymbolicName: org.objectweb.asm
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.batik.ext.awt.source' version='1.6.0.v200803061811' singleton='false'>
- <update id='org.apache.batik.ext.awt.source' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Batik AWT Utilities Source Bundle'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.ext.awt.source' version='1.6.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.batik.ext.awt.source' version='1.6.0.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.batik.ext.awt.source' version='1.6.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.6.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.batik.ext.awt.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.batik.ext.awt;version="1.6.0.v200803061811"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.xalan' version='2.7.0.v200803062026' singleton='false'>
- <update id='org.apache.xalan' range='[0.0.0,2.7.0.v200803062026)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Xalan-Java'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='46'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.xalan' version='2.7.0.v200803062026'/>
- <provided namespace='osgi.bundle' name='org.apache.xalan' version='2.7.0.v200803062026'/>
- <provided namespace='java.package' name='META-INF.services' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.client' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.extensions' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.lib' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.lib.sql' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.processor' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.res' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.serialize' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.templates' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.trace' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.transformer' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.xslt' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.xsltc' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.xsltc.cmdline' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.xsltc.cmdline.getopt' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.xsltc.compiler' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.xsltc.compiler.util' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.xsltc.dom' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.xsltc.runtime' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.xsltc.runtime.output' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.xsltc.trax' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xalan.xsltc.util' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xml.dtm' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xml.dtm.ref' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xml.dtm.ref.dom2dtm' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xml.dtm.ref.sax2dtm' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xml.res' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xml.serializer' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xml.serializer.utils' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xml.utils' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xml.utils.res' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xpath' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xpath.axes' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xpath.compiler' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xpath.domapi' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xpath.functions' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xpath.jaxp' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xpath.objects' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xpath.operations' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xpath.patterns' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xpath.res' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='4'>
- <required namespace='osgi.bundle' name='org.eclipse.osgi' range='0.0.0'/>
- <required namespace='osgi.bundle' name='java_cup.runtime' range='0.10.0' optional='true'/>
- <required namespace='osgi.bundle' name='org.apache.bcel' range='5.2.0' optional='true'/>
- <required namespace='osgi.bundle' name='org.apache.xerces' range='[2.8.0,3.0.0)' optional='true'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.xalan' version='2.7.0.v200803062026'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Require-Bundle: system.bundle,java_cup.runtime;bundle-version="0.10.0";resolution:=optional,org.apache.bcel;bundle-version="5.2.0";resolution:=optional,org.apache.xerces;bundle-version="[2.8.0,3.0.0)";resolution:=optional
-Manifest-Version: 1.0
-Bundle-Version: 2.7.0.v200803062026
-Export-Package: META-INF.services,org.apache.xalan,org.apache.xalan.client,org.apache.xalan.extensions,org.apache.xalan.lib,org.apache.xalan.lib.sql,org.apache.xalan.processor,org.apache.xalan.res,org.apache.xalan.serialize,org.apache.xalan.templates,org.apache.xalan.trace,org.apache.xalan.transformer,org.apache.xalan.xslt,org.apache.xalan.xsltc,org.apache.xalan.xsltc.cmdline,org.apache.xalan.xsltc.cmdline.getopt,org.apache.xalan.xsltc.compiler,org.apache.xalan.xsltc.compiler.util,org.apache.xalan.xsltc.dom,org.apache.xalan.xsltc.runtime,org.apache.xalan.xsltc.runtime.output,org.apache.xalan.xsltc.trax,org.apache.xalan.xsltc.util,org.apache.xml.dtm,org.apache.xml.dtm.ref,org.apache.xml.dtm.ref.dom2dtm,org.apache.xml.dtm.ref.sax2dtm,org.apache.xml.res,org.apache.xml.serializer,org.apache.xml.serializer.utils,org.apache.xml.utils,org.apache.xml.utils.res,org.apache.xpath,org.apache.xpath.axes,org.apache.xpath.compiler,org.apache.xpath.domapi,org.apache.xpath.functions,org.apache.xpath.jaxp,org.apache.xpath.objects,org.apache.xpath.operations,org.apache.xpath.patterns,org.apache.xpath.res
-Bundle-SymbolicName: org.apache.xalan
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='javax.xml.soap' version='1.2.0.v200803070511' singleton='false'>
- <update id='javax.xml.soap' range='[0.0.0,1.2.0.v200803070511)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
- <property name='df_LT.Bundle-Name.0' value='SAAJ'/>
- <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
- <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
- </properties>
- <provides size='5'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='javax.xml.soap' version='1.2.0.v200803070511'/>
- <provided namespace='osgi.bundle' name='javax.xml.soap' version='1.2.0.v200803070511'/>
- <provided namespace='java.package' name='javax.xml.soap' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='1'>
- <required namespace='osgi.bundle' name='org.eclipse.osgi' range='0.0.0'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='javax.xml.soap' version='1.2.0.v200803070511'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='2'>
- <instruction key='manifest'>
- Bundle-Vendor: %Bundle-Vendor.0
-Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-ClassPath: lib/saaj.jar
-Require-Bundle: system.bundle
-Bundle-Name: %Bundle-Name.0
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-SymbolicName: javax.xml.soap
-Bundle-Version: 1.2.0.v200803070511
-Export-Package: javax.xml.soap
-
- </instruction>
- <instruction key='zipped'>
- true
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.batik.svggen' version='1.6.0.v200803061811' singleton='false'>
- <update id='org.apache.batik.svggen' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Batik SVG Generation'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='7'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.svggen' version='1.6.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.batik.svggen' version='1.6.0.v200803061811'/>
- <provided namespace='java.package' name='org.apache.batik.svggen' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.svggen.font' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.svggen.font.table' version='1.6.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='2'>
- <required namespace='osgi.bundle' name='org.apache.batik.ext.awt' range='0.0.0'/>
- <required namespace='osgi.bundle' name='org.apache.batik.util' range='0.0.0'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.batik.svggen' version='1.6.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Require-Bundle: org.apache.batik.ext.awt;version="[1.6.0,1.7.0)",org.apache.batik.util;version="[1.6.0,1.7.0)"
-Manifest-Version: 1.0
-Bundle-Version: 1.6.0.v200803061811
-Export-Package: org.apache.batik.svggen;version="1.6.0",org.apache.batik.svggen.font;version="1.6.0",org.apache.batik.svggen.font.table;version="1.6.0"
-Bundle-SymbolicName: org.apache.batik.svggen
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.batik.dom.source' version='1.6.0.v200803061811' singleton='false'>
- <update id='org.apache.batik.dom.source' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Batik DOM Source Bundle'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.dom.source' version='1.6.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.batik.dom.source' version='1.6.0.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.batik.dom.source' version='1.6.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.6.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.batik.dom.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.batik.dom;version="1.6.0.v200803061811"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='com.ibm.icu.base.source' version='3.8.1.v20080304' singleton='false'>
- <update id='com.ibm.icu.base.source' range='[0.0.0,3.8.1.v20080304)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='IBM Corporation'/>
- <property name='df_LT.pluginName' value='International Components for Unicode for Java (ICU4J) Replacement source plug-in'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='com.ibm.icu.base.source' version='3.8.1.v20080304'/>
- <provided namespace='osgi.bundle' name='com.ibm.icu.base.source' version='3.8.1.v20080304'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='com.ibm.icu.base.source' version='3.8.1.v20080304'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-Name: %pluginName
-Bundle-Version: 3.8.1.v20080304
-Bundle-SymbolicName: com.ibm.icu.base.source
-Manifest-Version: 1.0
-Eclipse-SourceBundle: com.ibm.icu.base;version="3.8.1.v20080304"
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.commons.lang.source' version='2.3.0.v200803061910' singleton='false'>
- <update id='org.apache.commons.lang.source' range='[0.0.0,2.3.0.v200803061910)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Jakarta Commons Lang'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.lang.source' version='2.3.0.v200803061910'/>
- <provided namespace='osgi.bundle' name='org.apache.commons.lang.source' version='2.3.0.v200803061910'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.commons.lang.source' version='2.3.0.v200803061910'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 2.3.0.v200803061910
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.commons.lang.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.commons.lang;version="2.3.0.v200803061910"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.objectweb.asm' version='3.1.0.v200803061910' singleton='false'>
- <update id='org.objectweb.asm' range='[0.0.0,3.1.0.v200803061910)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='ASM'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='11'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.objectweb.asm' version='3.1.0.v200803061910'/>
- <provided namespace='osgi.bundle' name='org.objectweb.asm' version='3.1.0.v200803061910'/>
- <provided namespace='java.package' name='org.objectweb.asm' version='3.1.0'/>
- <provided namespace='java.package' name='org.objectweb.asm.commons' version='3.1.0'/>
- <provided namespace='java.package' name='org.objectweb.asm.signature' version='3.1.0'/>
- <provided namespace='java.package' name='org.objectweb.asm.tree' version='3.1.0'/>
- <provided namespace='java.package' name='org.objectweb.asm.tree.analysis' version='3.1.0'/>
- <provided namespace='java.package' name='org.objectweb.asm.util' version='3.1.0'/>
- <provided namespace='java.package' name='org.objectweb.asm.xml' version='3.1.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.objectweb.asm' version='3.1.0.v200803061910'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Version: 3.1.0.v200803061910
-Export-Package: org.objectweb.asm;version="3.1.0",org.objectweb.asm.commons;version="3.1.0",org.objectweb.asm.signature;version="3.1.0",org.objectweb.asm.tree;version="3.1.0",org.objectweb.asm.tree.analysis;version="3.1.0",org.objectweb.asm.util;version="3.1.0",org.objectweb.asm.xml;version="3.1.0"
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Bundle-SymbolicName: org.objectweb.asm
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.w3c.dom.smil' version='1.0.0.v200803081811' singleton='false'>
- <update id='org.w3c.dom.smil' range='[0.0.0,1.0.0.v200803081811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='W3C SMIL DOM'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='5'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.w3c.dom.smil' version='1.0.0.v200803081811'/>
- <provided namespace='osgi.bundle' name='org.w3c.dom.smil' version='1.0.0.v200803081811'/>
- <provided namespace='java.package' name='org.w3c.dom.smil' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='1'>
- <required namespace='java.package' name='org.w3c.dom' range='0.0.0'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.w3c.dom.smil' version='1.0.0.v200803081811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,J2SE-1.3,CDC-1.0/Foundation-1.0
-Manifest-Version: 1.0
-Bundle-Version: 1.0.0.v200803081811
-Export-Package: org.w3c.dom.smil;version="1.0.0"
-Bundle-SymbolicName: org.w3c.dom.smil
-Import-Package: org.w3c.dom
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.xmlrpc' version='3.0.0.v200803061811' singleton='false'>
- <update id='org.apache.xmlrpc' range='[0.0.0,3.0.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
- <property name='df_LT.Bundle-Name.0' value='Apache XML-RPC Plug-in'/>
- <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
- <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
- </properties>
- <provides size='15'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.xmlrpc' version='3.0.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.xmlrpc' version='3.0.0.v200803061811'/>
- <provided namespace='java.package' name='org.apache.xmlrpc' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xmlrpc.client' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xmlrpc.client.util' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xmlrpc.common' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xmlrpc.jaxb' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xmlrpc.metadata' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xmlrpc.parser' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xmlrpc.serializer' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xmlrpc.server' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xmlrpc.util' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xmlrpc.webserver' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='13'>
- <required namespace='java.package' name='javax.xml.bind' range='0.0.0'/>
- <required namespace='java.package' name='javax.xml.namespace' range='0.0.0'/>
- <required namespace='java.package' name='javax.xml.parsers' range='0.0.0'/>
- <required namespace='java.package' name='org.apache.commons.httpclient' range='0.0.0'/>
- <required namespace='java.package' name='org.apache.commons.httpclient.auth' range='0.0.0'/>
- <required namespace='java.package' name='org.apache.commons.httpclient.methods' range='0.0.0'/>
- <required namespace='java.package' name='org.apache.commons.httpclient.params' range='0.0.0'/>
- <required namespace='java.package' name='org.apache.commons.logging' range='0.0.0'/>
- <required namespace='java.package' name='org.apache.ws.commons.serialize' range='0.0.0'/>
- <required namespace='java.package' name='org.apache.ws.commons.util' range='0.0.0'/>
- <required namespace='java.package' name='org.w3c.dom' range='0.0.0'/>
- <required namespace='java.package' name='org.xml.sax' range='0.0.0'/>
- <required namespace='java.package' name='org.xml.sax.helpers' range='0.0.0'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.xmlrpc' version='3.0.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-Vendor: %Bundle-Vendor.0
-Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,CDC-1.0/Foundation-1.0,J2SE-1.3
-Import-Package: javax.xml.bind,javax.xml.namespace,javax.xml.parsers,org.apache.commons.httpclient,org.apache.commons.httpclient.auth,org.apache.commons.httpclient.methods,org.apache.commons.httpclient.params,org.apache.commons.logging,org.apache.ws.commons.serialize,org.apache.ws.commons.util,org.w3c.dom,org.xml.sax,org.xml.sax.helpers
-Bundle-Name: %Bundle-Name.0
-Bundle-Localization: plugin
-Eclipse-BuddyPolicy: dependent
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.xmlrpc
-Bundle-Version: 3.0.0.v200803061811
-Export-Package: org.apache.xmlrpc,org.apache.xmlrpc.client,org.apache.xmlrpc.client.util,org.apache.xmlrpc.common,org.apache.xmlrpc.jaxb,org.apache.xmlrpc.metadata,org.apache.xmlrpc.parser,org.apache.xmlrpc.serializer,org.apache.xmlrpc.server,org.apache.xmlrpc.util,org.apache.xmlrpc.webserver
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='com.jcraft.jsch' version='0.1.37.v200803061811' singleton='false'>
- <update id='com.jcraft.jsch' range='[0.0.0,0.1.37.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.bundleName' value='JSch'/>
- <property name='df_LT.venderName' value='JCraft, Inc.'/>
- <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%venderName'/>
- </properties>
- <provides size='8'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='com.jcraft.jsch' version='0.1.37.v200803061811'/>
- <provided namespace='osgi.bundle' name='com.jcraft.jsch' version='0.1.37.v200803061811'/>
- <provided namespace='java.package' name='com.jcraft.jsch' version='0.0.0'/>
- <provided namespace='java.package' name='com.jcraft.jsch.jce' version='0.0.0'/>
- <provided namespace='java.package' name='com.jcraft.jsch.jcraft' version='0.0.0'/>
- <provided namespace='java.package' name='com.jcraft.jsch.jgss' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='com.jcraft.jsch' version='0.1.37.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Manifest-Version: 1.0
-Bundle-Version: 0.1.37.v200803061811
-Export-Package: com.jcraft.jsch,com.jcraft.jsch.jce;x-internal:=true,com.jcraft.jsch.jcraft;x-internal:=true,com.jcraft.jsch.jgss;x-internal:=true
-Bundle-SymbolicName: com.jcraft.jsch
-Bundle-Localization: plugin
-Bundle-ClassPath: .
-Bundle-Name: %bundleName
-Bundle-Vendor: %venderName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.oro.source' version='2.0.8.v200803061811' singleton='false'>
- <update id='org.apache.oro.source' range='[0.0.0,2.0.8.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Jakarta ORO Source Bundle'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.oro.source' version='2.0.8.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.oro.source' version='2.0.8.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.oro.source' version='2.0.8.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 2.0.8.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.oro.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.oro;version="2.0.8.v200803061811"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.w3c.css.sac.source' version='1.3.0.v200803081811' singleton='false'>
- <update id='org.w3c.css.sac.source' range='[0.0.0,1.3.0.v200803081811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='W3C CSS SAC Source Bundle'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.w3c.css.sac.source' version='1.3.0.v200803081811'/>
- <provided namespace='osgi.bundle' name='org.w3c.css.sac.source' version='1.3.0.v200803081811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.w3c.css.sac.source' version='1.3.0.v200803081811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.3.0.v200803081811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.w3c.css.sac.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.w3c.css.sac;version="1.3.0.v200803081811"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='com.sun.syndication.source' version='0.9.0.v200803061811' singleton='false'>
- <update id='com.sun.syndication.source' range='[0.0.0,0.9.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Rss and atOM utilitiEs (ROME) Source'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='com.sun.syndication.source' version='0.9.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='com.sun.syndication.source' version='0.9.0.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='com.sun.syndication.source' version='0.9.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 0.9.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: com.sun.syndication.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: com.sun.syndication;version="0.9.0.v200803061811"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.commons.codec' version='1.2.0.v200803061811' singleton='false'>
- <update id='org.apache.commons.codec' range='[0.0.0,1.2.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.bundleName' value='Apache Commons Codec Plug-in'/>
- <property name='df_LT.bundleProvider' value='Eclipse.org'/>
- <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
- </properties>
- <provides size='9'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.codec' version='1.2.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.commons.codec' version='1.2.0.v200803061811'/>
- <provided namespace='java.package' name='org.apache.commons.codec' version='1.2.0'/>
- <provided namespace='java.package' name='org.apache.commons.codec.binary' version='1.2.0'/>
- <provided namespace='java.package' name='org.apache.commons.codec.digest' version='1.2.0'/>
- <provided namespace='java.package' name='org.apache.commons.codec.language' version='1.2.0'/>
- <provided namespace='java.package' name='org.apache.commons.codec.net' version='1.2.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.commons.codec' version='1.2.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Name: %bundleName
-Bundle-Version: 1.2.0.v200803061811
-Export-Package: org.apache.commons.codec;version="1.2.0",org.apache.commons.codec.binary;version="1.2.0",org.apache.commons.codec.digest;version="1.2.0",org.apache.commons.codec.language;version="1.2.0",org.apache.commons.codec.net;version="1.2.0"
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3
-Bundle-SymbolicName: org.apache.commons.codec
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %bundleProvider
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.lucene.analysis' version='1.9.1.v200803061811' singleton='false'>
- <update id='org.apache.lucene.analysis' range='[0.0.0,1.9.1.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Lucene Analysis'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='13'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.lucene.analysis' version='1.9.1.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.lucene.analysis' version='1.9.1.v200803061811'/>
- <provided namespace='java.package' name='org.apache.lucene.analysis.br' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.lucene.analysis.cjk' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.lucene.analysis.cn' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.lucene.analysis.cz' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.lucene.analysis.de' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.lucene.analysis.el' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.lucene.analysis.fr' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.lucene.analysis.nl' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.lucene.analysis.ru' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='1'>
- <required namespace='osgi.bundle' name='org.apache.lucene' range='[1.9.1,2.0.0)'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.lucene.analysis' version='1.9.1.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Version: 1.9.1.v200803061811
-Require-Bundle: org.apache.lucene;bundle-version="[1.9.1,2.0.0)";visibility:=reexport
-Export-Package: org.apache.lucene.analysis.br,org.apache.lucene.analysis.cjk,org.apache.lucene.analysis.cn,org.apache.lucene.analysis.cz,org.apache.lucene.analysis.de,org.apache.lucene.analysis.el,org.apache.lucene.analysis.fr,org.apache.lucene.analysis.nl,org.apache.lucene.analysis.ru
-Bundle-SymbolicName: org.apache.lucene.analysis
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.commons.logging.source' version='1.0.4.v200803061811' singleton='false'>
- <update id='org.apache.commons.logging.source' range='[0.0.0,1.0.4.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.bundleName' value='Apache Commons Logging Plug-in Source'/>
- <property name='df_LT.bundleProvider' value='Eclipse.org'/>
- <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.logging.source' version='1.0.4.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.commons.logging.source' version='1.0.4.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.commons.logging.source' version='1.0.4.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.0.4.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.commons.logging.source
-Bundle-Name: %bundleName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.commons.logging;version="1.0.4.v200803061811"
-Bundle-Vendor: %bundleProvider
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.sat4j.core' version='2.0.0.v20080307' singleton='false'>
- <update id='org.sat4j.core' range='[0.0.0,2.0.0.v20080307)' severity='0'/>
- <properties size='2'>
- <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='18'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.sat4j.core' version='2.0.0.v20080307'/>
- <provided namespace='osgi.bundle' name='org.sat4j.core' version='2.0.0.v20080307'/>
- <provided namespace='java.package' name='org.sat4j' version='0.0.0'/>
- <provided namespace='java.package' name='org.sat4j.core' version='0.0.0'/>
- <provided namespace='java.package' name='org.sat4j.minisat' version='0.0.0'/>
- <provided namespace='java.package' name='org.sat4j.minisat.constraints' version='0.0.0'/>
- <provided namespace='java.package' name='org.sat4j.minisat.constraints.card' version='0.0.0'/>
- <provided namespace='java.package' name='org.sat4j.minisat.constraints.cnf' version='0.0.0'/>
- <provided namespace='java.package' name='org.sat4j.minisat.core' version='0.0.0'/>
- <provided namespace='java.package' name='org.sat4j.minisat.learning' version='0.0.0'/>
- <provided namespace='java.package' name='org.sat4j.minisat.orders' version='0.0.0'/>
- <provided namespace='java.package' name='org.sat4j.minisat.restarts' version='0.0.0'/>
- <provided namespace='java.package' name='org.sat4j.minisat.uip' version='0.0.0'/>
- <provided namespace='java.package' name='org.sat4j.opt' version='0.0.0'/>
- <provided namespace='java.package' name='org.sat4j.reader' version='0.0.0'/>
- <provided namespace='java.package' name='org.sat4j.specs' version='0.0.0'/>
- <provided namespace='java.package' name='org.sat4j.tools' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.sat4j.core' version='2.0.0.v20080307'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Implementation-Vendor: CRIL CNRS UMR 8188 - Universite d'Artois
-Bundle-Version: 2.0.0.v20080307
-Specification-Title: SAT4J
-Implementation-Title: SAT4J
-Export-Package: org.sat4j,org.sat4j.core,org.sat4j.minisat,org.sat4j.minisat.constraints,org.sat4j.minisat.constraints.card,org.sat4j.minisat.constraints.cnf,org.sat4j.minisat.core,org.sat4j.minisat.learning,org.sat4j.minisat.orders,org.sat4j.minisat.restarts,org.sat4j.minisat.uip,org.sat4j.opt,org.sat4j.reader,org.sat4j.specs,org.sat4j.tools
-Manifest-Version: 1.0
-Ant-Version: Apache Ant 1.6.1
-Bundle-SymbolicName: org.sat4j.core
-Created-By: 1.6.0_02-b05 (Sun Microsystems Inc.)
-Specification-Version: NA
-Built-By: Daniel Le Berre
-Main-Class: org.sat4j.BasicLauncher
-Implementation-Version: 2.0
-Specification-Vendor: Daniel Le Berre
-Bundle-Vendor: %providerName
-Bundle-Name: %bundleName
-Bundle-ManifestVersion: 2
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.commons.beanutils' version='1.7.0.v200803061811' singleton='false'>
- <update id='org.apache.commons.beanutils' range='[0.0.0,1.7.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Commons BeanUtils'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='8'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.beanutils' version='1.7.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.commons.beanutils' version='1.7.0.v200803061811'/>
- <provided namespace='java.package' name='org.apache.commons.beanutils' version='1.7.0'/>
- <provided namespace='java.package' name='org.apache.commons.beanutils.converters' version='1.7.0'/>
- <provided namespace='java.package' name='org.apache.commons.beanutils.locale' version='1.7.0'/>
- <provided namespace='java.package' name='org.apache.commons.beanutils.locale.converters' version='1.7.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='2'>
- <required namespace='osgi.bundle' name='org.apache.commons.collections' range='3.2.0' optional='true'/>
- <required namespace='osgi.bundle' name='org.apache.commons.logging' range='1.0.4'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.commons.beanutils' version='1.7.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Version: 1.7.0.v200803061811
-Require-Bundle: org.apache.commons.collections;bundle-version="3.2.0";resolution:=optional,org.apache.commons.logging;bundle-version="1.0.4"
-Export-Package: org.apache.commons.beanutils;version="1.7.0",org.apache.commons.beanutils.converters;version="1.7.0",org.apache.commons.beanutils.locale;version="1.7.0",org.apache.commons.beanutils.locale.converters;version="1.7.0"
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Bundle-SymbolicName: org.apache.commons.beanutils
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='javax.servlet' version='2.3.0.v200803061811' singleton='false'>
- <update id='javax.servlet' range='[0.0.0,2.3.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Servlet API'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='7'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='javax.servlet' version='2.3.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='javax.servlet' version='2.3.0.v200803061811'/>
- <provided namespace='java.package' name='javax.servlet' version='2.3.0'/>
- <provided namespace='java.package' name='javax.servlet.http' version='2.3.0'/>
- <provided namespace='java.package' name='javax.servlet.resources' version='2.3.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='javax.servlet' version='2.3.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Version: 2.3.0.v200803061811
-Export-Package: javax.servlet; version=2.3,javax.servlet.http; version=2.3,javax.servlet.resources; version=2.3
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3
-Bundle-SymbolicName: javax.servlet
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.log4j' version='1.2.13.v200803061811' singleton='false'>
- <update id='org.apache.log4j' range='[0.0.0,1.2.13.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.PLUGIN_NAME' value='Apache Jakarta log4j Plug-in'/>
- <property name='df_LT.PLUGIN_PROVIDER' value='Eclipse.org'/>
- <property name='org.eclipse.equinox.p2.name' value='%PLUGIN_NAME'/>
- <property name='org.eclipse.equinox.p2.provider' value='%PLUGIN_PROVIDER'/>
- </properties>
- <provides size='25'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.log4j' version='1.2.13.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.log4j' version='1.2.13.v200803061811'/>
- <provided namespace='java.package' name='org.apache.log4j' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.log4j.chainsaw' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.log4j.config' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.log4j.helpers' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.log4j.jdbc' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.log4j.jmx' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.log4j.lf5' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.log4j.lf5.config' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.log4j.lf5.util' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.log4j.lf5.viewer' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.log4j.lf5.viewer.categoryexplorer' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.log4j.lf5.viewer.configure' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.log4j.lf5.viewer.images' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.log4j.net' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.log4j.nt' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.log4j.or' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.log4j.or.jms' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.log4j.or.sax' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.log4j.spi' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.log4j.varia' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.log4j.xml' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.log4j' version='1.2.13.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-Vendor: %PLUGIN_PROVIDER
-Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-ClassPath: .
-Bundle-Name: %PLUGIN_NAME
-Bundle-Localization: plugin
-Eclipse-BuddyPolicy: registered
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.log4j
-Bundle-Version: 1.2.13.v200803061811
-Export-Package: org.apache.log4j,org.apache.log4j.chainsaw,org.apache.log4j.config,org.apache.log4j.helpers,org.apache.log4j.jdbc,org.apache.log4j.jmx,org.apache.log4j.lf5,org.apache.log4j.lf5.config,org.apache.log4j.lf5.util,org.apache.log4j.lf5.viewer,org.apache.log4j.lf5.viewer.categoryexplorer,org.apache.log4j.lf5.viewer.configure,org.apache.log4j.lf5.viewer.images,org.apache.log4j.net,org.apache.log4j.nt,org.apache.log4j.or,org.apache.log4j.or.jms,org.apache.log4j.or.sax,org.apache.log4j.spi,org.apache.log4j.varia,org.apache.log4j.xml
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.antlr.runtime' version='3.0.0.v200803061811' singleton='false'>
- <update id='org.antlr.runtime' range='[0.0.0,3.0.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='ANTLR Runtime'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='8'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.antlr.runtime' version='3.0.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.antlr.runtime' version='3.0.0.v200803061811'/>
- <provided namespace='java.package' name='org.antlr.runtime' version='3.0.0'/>
- <provided namespace='java.package' name='org.antlr.runtime.debug' version='3.0.0'/>
- <provided namespace='java.package' name='org.antlr.runtime.misc' version='3.0.0'/>
- <provided namespace='java.package' name='org.antlr.runtime.tree' version='3.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.antlr.runtime' version='3.0.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Version: 3.0.0.v200803061811
-Export-Package: org.antlr.runtime;version="3.0.0",org.antlr.runtime.debug;version="3.0.0",org.antlr.runtime.misc;version="3.0.0",org.antlr.runtime.tree;version="3.0.0"
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Bundle-SymbolicName: org.antlr.runtime
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.commons.discovery' version='0.2.0.v200706111329' singleton='false'>
- <update id='org.apache.commons.discovery' range='[0.0.0,0.2.0.v200706111329)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
- <property name='df_LT.Bundle-Name.0' value='Jakarta-Commons Discovery'/>
- <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
- <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
- </properties>
- <provides size='12'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.discovery' version='0.2.0.v200706111329'/>
- <provided namespace='osgi.bundle' name='org.apache.commons.discovery' version='0.2.0.v200706111329'/>
- <provided namespace='java.package' name='org.apache.commons.discovery' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.commons.discovery.ant' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.commons.discovery.jdk' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.commons.discovery.log' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.commons.discovery.resource' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.commons.discovery.resource.classes' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.commons.discovery.resource.names' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.commons.discovery.tools' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='2'>
- <required namespace='osgi.bundle' name='org.apache.commons.logging' range='[1.0.4,2.0.0)'/>
- <required namespace='osgi.bundle' name='org.junit' range='[3.8.0,4.0.0)' optional='true'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.commons.discovery' version='0.2.0.v200706111329'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='2'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Implementation-Version: 0.2
-Manifest-Version: 1.0
-Extension-Name: org.apache.commons.discovery
-Bundle-Name: %Bundle-Name.0
-Bundle-Vendor: %Bundle-Vendor.0
-Bundle-ClassPath: lib/commons-discovery-0.2.jar
-Specification-Vendor: Apache Software Foundation
-Specification-Version: 1.0
-Bundle-Version: 0.2.0.v200706111329
-Export-Package: org.apache.commons.discovery,org.apache.commons.discovery.ant,org.apache.commons.discovery.jdk,org.apache.commons.discovery.log,org.apache.commons.discovery.resource,org.apache.commons.discovery.resource.classes,org.apache.commons.discovery.resource.names,org.apache.commons.discovery.tools
-Require-Bundle: org.apache.commons.logging;bundle-version="[1.0.4,2.0.0)",org.junit;bundle-version="[3.8.0,4.0.0)";resolution:=optional
-Bundle-SymbolicName: org.apache.commons.discovery
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-Localization: plugin
-Implementation-Vendor: Apache Software Foundation
-
- </instruction>
- <instruction key='zipped'>
- true
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.w3c.dom.svg' version='1.1.0.v200803081811' singleton='false'>
- <update id='org.w3c.dom.svg' range='[0.0.0,1.1.0.v200803081811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='W3C SVG DOM'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='5'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.w3c.dom.svg' version='1.1.0.v200803081811'/>
- <provided namespace='osgi.bundle' name='org.w3c.dom.svg' version='1.1.0.v200803081811'/>
- <provided namespace='java.package' name='org.w3c.dom.svg' version='1.1.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='2'>
- <required namespace='osgi.bundle' name='org.w3c.dom.smil' range='0.0.0'/>
- <required namespace='java.package' name='org.w3c.dom' range='0.0.0'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.w3c.dom.svg' version='1.1.0.v200803081811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-Vendor: %providerName
-Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,J2SE-1.3,CDC-1.0/Foundation-1.0
-Require-Bundle: org.w3c.dom.smil;version="[1.0.0,1.1.0)"
-Import-Package: org.w3c.dom
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.w3c.dom.svg
-Bundle-Version: 1.1.0.v200803081811
-Export-Package: org.w3c.dom.svg;version="1.1.0"
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.batik.transcoder' version='1.6.0.v200803061811' singleton='false'>
- <update id='org.apache.batik.transcoder' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Batik Transcoder'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='12'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.transcoder' version='1.6.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.batik.transcoder' version='1.6.0.v200803061811'/>
- <provided namespace='java.package' name='org.apache.batik.transcoder' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.transcoder.image' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.transcoder.image.resources' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.transcoder.keys' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.transcoder.print' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.transcoder.svg2svg' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.transcoder.wmf' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.transcoder.wmf.tosvg' version='1.6.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='8'>
- <required namespace='osgi.bundle' name='org.apache.batik.bridge' range='0.0.0'/>
- <required namespace='osgi.bundle' name='org.apache.batik.dom' range='0.0.0'/>
- <required namespace='osgi.bundle' name='org.apache.batik.dom.svg' range='0.0.0'/>
- <required namespace='osgi.bundle' name='org.apache.batik.ext.awt' range='0.0.0'/>
- <required namespace='osgi.bundle' name='org.apache.batik.svggen' range='0.0.0'/>
- <required namespace='osgi.bundle' name='org.apache.batik.util' range='0.0.0'/>
- <required namespace='osgi.bundle' name='org.apache.batik.xml' range='0.0.0'/>
- <required namespace='osgi.bundle' name='org.w3c.dom.svg' range='0.0.0'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.batik.transcoder' version='1.6.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Require-Bundle: org.apache.batik.bridge;version="[1.6.0,1.7.0)",org.apache.batik.dom;version="[1.6.0,1.7.0)",org.apache.batik.dom.svg;version="[1.6.0,1.7.0)",org.apache.batik.ext.awt;version="[1.6.0,1.7.0)",org.apache.batik.svggen;version="[1.6.0,1.7.0)",org.apache.batik.util;version="[1.6.0,1.7.0)",org.apache.batik.xml;version="[1.6.0,1.7.0)",org.w3c.dom.svg;version="[1.1.0,1.3.0)"
-Manifest-Version: 1.0
-Bundle-Version: 1.6.0.v200803061811
-Export-Package: org.apache.batik.transcoder;version="1.6.0",org.apache.batik.transcoder.image;version="1.6.0",org.apache.batik.transcoder.image.resources;version="1.6.0",org.apache.batik.transcoder.keys;version="1.6.0",org.apache.batik.transcoder.print;version="1.6.0",org.apache.batik.transcoder.svg2svg;version="1.6.0",org.apache.batik.transcoder.wmf;version="1.6.0",org.apache.batik.transcoder.wmf.tosvg;version="1.6.0"
-Bundle-SymbolicName: org.apache.batik.transcoder
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.batik.bridge.source' version='1.6.0.v200803061811' singleton='false'>
- <update id='org.apache.batik.bridge.source' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Batik Bridge/GVT/Scripting Source Bundle'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.bridge.source' version='1.6.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.batik.bridge.source' version='1.6.0.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.batik.bridge.source' version='1.6.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.6.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.batik.bridge.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.batik.bridge;version="1.6.0.v200803061811"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='javax.xml.rpc' version='1.1.0.v200803061811' singleton='false'>
- <update id='javax.xml.rpc' range='[0.0.0,1.1.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
- <property name='df_LT.Bundle-Name.0' value='JAX-RPC'/>
- <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
- <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
- </properties>
- <provides size='12'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='javax.xml.rpc' version='1.1.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='javax.xml.rpc' version='1.1.0.v200803061811'/>
- <provided namespace='java.package' name='javax.xml.messaging' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.rpc' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.rpc.encoding' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.rpc.handler' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.rpc.handler.soap' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.rpc.holders' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.rpc.server' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.rpc.soap' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='3'>
- <required namespace='osgi.bundle' name='javax.xml.soap' range='0.0.0'/>
- <required namespace='osgi.bundle' name='javax.servlet' range='0.0.0'/>
- <required namespace='osgi.bundle' name='org.apache.xerces' range='[2.8.0,3.0.0)' optional='true'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='javax.xml.rpc' version='1.1.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='2'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-Name: %Bundle-Name.0
-Bundle-ClassPath: lib/jaxrpc.jar
-Specification-Title: JAX-RPC
-Require-Bundle: javax.xml.soap,javax.servlet,org.apache.xerces;bundle-version="[2.8.0,3.0.0)";resolution:=optional
-Bundle-Vendor: %Bundle-Vendor.0
-Created-By: 1.4.2_08-b03 (Sun Microsystems Inc.)Name: javax/xml/rpc
-Manifest-Version: 1.0
-Bundle-Version: 1.1.0.v200803061811
-Bundle-Localization: plugin
-Specification-Version: 1.1
-Export-Package: javax.xml.messaging,javax.xml.rpc,javax.xml.rpc.encoding,javax.xml.rpc.handler,javax.xml.rpc.handler.soap,javax.xml.rpc.holders,javax.xml.rpc.server,javax.xml.rpc.soap
-Bundle-SymbolicName: javax.xml.rpc
-Specification-Vendor: JCP
-
- </instruction>
- <instruction key='zipped'>
- true
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='javax.xml.bind.source' version='2.0.0.v200803061811' singleton='false'>
- <update id='javax.xml.bind.source' range='[0.0.0,2.0.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='JAXB'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='javax.xml.bind.source' version='2.0.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='javax.xml.bind.source' version='2.0.0.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='javax.xml.bind.source' version='2.0.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 2.0.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: javax.xml.bind.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: javax.xml.bind;version="2.0.0.v200803061811"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.derby.source' version='10.1.2.1_v200803061811' singleton='false'>
- <update id='org.apache.derby.source' range='[0.0.0,10.1.2.1_v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
- <property name='df_LT.Bundle-Name.0' value='Apache Derby Source Plug-in'/>
- <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
- <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.derby.source' version='10.1.2.1_v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.derby.source' version='10.1.2.1_v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.derby.source' version='10.1.2.1_v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 10.1.2.1_v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.derby.source
-Bundle-Name: %Bundle-Name.0
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.derby;version="10.1.2.1_v200803061811"
-Bundle-Vendor: %Bundle-Vendor.0
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.mortbay.jetty.source' version='5.1.11.v200803061811' singleton='false'>
- <update id='org.mortbay.jetty.source' range='[0.0.0,5.1.11.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.bundleName' value='Jetty WebServer Source'/>
- <property name='df_LT.bundleProvider' value='Eclipse.org'/>
- <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.mortbay.jetty.source' version='5.1.11.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.mortbay.jetty.source' version='5.1.11.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.mortbay.jetty.source' version='5.1.11.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 5.1.11.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.mortbay.jetty.source
-Bundle-Name: %bundleName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.mortbay.jetty;version="5.1.11.v200803061811"
-Bundle-Vendor: %bundleProvider
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='com.ibm.icu.base.source' version='3.6.1.v20080304' singleton='false'>
- <update id='com.ibm.icu.base.source' range='[0.0.0,3.6.1.v20080304)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='IBM Corporation'/>
- <property name='df_LT.pluginName' value='International Components for Unicode for Java (ICU4J) Replacement source plug-in'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='com.ibm.icu.base.source' version='3.6.1.v20080304'/>
- <provided namespace='osgi.bundle' name='com.ibm.icu.base.source' version='3.6.1.v20080304'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='com.ibm.icu.base.source' version='3.6.1.v20080304'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-Name: %pluginName
-Bundle-Version: 3.6.1.v20080304
-Bundle-SymbolicName: com.ibm.icu.base.source
-Manifest-Version: 1.0
-Eclipse-SourceBundle: com.ibm.icu.base;version="3.6.1.v20080304"
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.xml.serializer' version='2.7.1.v200803061811' singleton='false'>
- <update id='org.apache.xml.serializer' range='[0.0.0,2.7.1.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
- <property name='df_LT.Bundle-Name.0' value='Apache XML Commons Serializer'/>
- <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
- <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
- </properties>
- <provides size='6'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.xml.serializer' version='2.7.1.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.xml.serializer' version='2.7.1.v200803061811'/>
- <provided namespace='java.package' name='org.apache.xml.serializer' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xml.serializer.dom3' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='1'>
- <required namespace='osgi.bundle' name='org.eclipse.osgi' range='0.0.0'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.xml.serializer' version='2.7.1.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.2
-Require-Bundle: system.bundle
-Manifest-Version: 1.0
-Bundle-Version: 2.7.1.v200803061811
-Export-Package: org.apache.xml.serializer,org.apache.xml.serializer.dom3
-Bundle-SymbolicName: org.apache.xml.serializer
-Bundle-Localization: plugin
-Bundle-Name: %Bundle-Name.0
-Bundle-Vendor: %Bundle-Vendor.0
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.commons.lang.source' version='2.1.0.v200803061811' singleton='false'>
- <update id='org.apache.commons.lang.source' range='[0.0.0,2.1.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Jakarta Commons Lang'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.lang.source' version='2.1.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.commons.lang.source' version='2.1.0.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.commons.lang.source' version='2.1.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 2.1.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.commons.lang.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.commons.lang;version="2.1.0.v200803061811"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.xerces' version='2.9.0.v200803061910' singleton='false'>
- <update id='org.apache.xerces' range='[0.0.0,2.9.0.v200803061910)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
- <property name='df_LT.Bundle-Name.0' value='Apache Xerces-J'/>
- <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
- <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
- </properties>
- <provides size='43'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.xerces' version='2.9.0.v200803061910'/>
- <provided namespace='osgi.bundle' name='org.apache.xerces' version='2.9.0.v200803061910'/>
- <provided namespace='java.package' name='META-INF.services' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.html.dom' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.wml' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.wml.dom' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.dom' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.dom.events' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.dom3.as' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.impl' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.impl.dtd' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.impl.dtd.models' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.impl.dv' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.impl.dv.dtd' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.impl.dv.util' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.impl.dv.xs' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.impl.io' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.impl.msg' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.impl.validation' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.impl.xpath' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.impl.xpath.regex' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.impl.xs' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.impl.xs.identity' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.impl.xs.models' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.impl.xs.opti' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.impl.xs.traversers' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.impl.xs.util' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.jaxp' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.jaxp.datatype' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.jaxp.validation' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.parsers' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.util' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.xinclude' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.xni' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.xni.grammars' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.xni.parser' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.xpointer' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.xs' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xerces.xs.datatypes' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xml.serialize' version='0.0.0'/>
- <provided namespace='java.package' name='org.w3c.dom.html' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='4'>
- <required namespace='osgi.bundle' name='org.eclipse.osgi' range='0.0.0'/>
- <required namespace='osgi.bundle' name='javax.xml' range='[1.3.4,2.0.0)'/>
- <required namespace='osgi.bundle' name='org.apache.xml.resolver' range='[1.2.0,2.0.0)'/>
- <required namespace='osgi.bundle' name='org.apache.xml.serializer' range='[2.7.1,3.0.0)'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.xerces' version='2.9.0.v200803061910'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.2
-Require-Bundle: system.bundle,javax.xml;bundle-version="[1.3.4,2.0.0)";visibility:=reexport,org.apache.xml.resolver;bundle-version="[1.2.0,2.0.0)";visibility:=reexport,org.apache.xml.serializer;bundle-version="[2.7.1,3.0.0)"
-Manifest-Version: 1.0
-Bundle-Version: 2.9.0.v200803061910
-Export-Package: META-INF.services,org.apache.html.dom,org.apache.wml,org.apache.wml.dom,org.apache.xerces.dom,org.apache.xerces.dom.events,org.apache.xerces.dom3.as,org.apache.xerces.impl,org.apache.xerces.impl.dtd,org.apache.xerces.impl.dtd.models,org.apache.xerces.impl.dv,org.apache.xerces.impl.dv.dtd,org.apache.xerces.impl.dv.util,org.apache.xerces.impl.dv.xs,org.apache.xerces.impl.io,org.apache.xerces.impl.msg,org.apache.xerces.impl.validation,org.apache.xerces.impl.xpath,org.apache.xerces.impl.xpath.regex,org.apache.xerces.impl.xs,org.apache.xerces.impl.xs.identity,org.apache.xerces.impl.xs.models,org.apache.xerces.impl.xs.opti,org.apache.xerces.impl.xs.traversers,org.apache.xerces.impl.xs.util,org.apache.xerces.jaxp,org.apache.xerces.jaxp.datatype,org.apache.xerces.jaxp.validation,org.apache.xerces.parsers,org.apache.xerces.util,org.apache.xerces.xinclude,org.apache.xerces.xni,org.apache.xerces.xni.grammars,org.apache.xerces.xni.parser,org.apache.xerces.xpointer,org.apache.xerces.xs,org.apache.xerces.xs.datatypes,org.apache.xml.serialize,org.w3c.dom.html
-Bundle-SymbolicName: org.apache.xerces
-Bundle-Localization: plugin
-Bundle-Name: %Bundle-Name.0
-Bundle-Vendor: %Bundle-Vendor.0
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.batik.css.source' version='1.6.0.v200803061811' singleton='false'>
- <update id='org.apache.batik.css.source' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Batik CSS Source Bundle'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.css.source' version='1.6.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.batik.css.source' version='1.6.0.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.batik.css.source' version='1.6.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.6.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.batik.css.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.batik.css;version="1.6.0.v200803061811"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.commons.logging' version='1.0.4.v200803061811' singleton='false'>
- <update id='org.apache.commons.logging' range='[0.0.0,1.0.4.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.bundleName' value='Apache Commons Logging Plug-in'/>
- <property name='df_LT.bundleProvider' value='Eclipse.org'/>
- <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
- </properties>
- <provides size='6'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.logging' version='1.0.4.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.commons.logging' version='1.0.4.v200803061811'/>
- <provided namespace='java.package' name='org.apache.commons.logging' version='1.0.4'/>
- <provided namespace='java.package' name='org.apache.commons.logging.impl' version='1.0.4'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.commons.logging' version='1.0.4.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Name: %bundleName
-Bundle-Version: 1.0.4.v200803061811
-Export-Package: org.apache.commons.logging;version="1.0.4",org.apache.commons.logging.impl;version="1.0.4"
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3
-Bundle-SymbolicName: org.apache.commons.logging
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %bundleProvider
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.objectweb.asm.source' version='3.1.0.v200803061910' singleton='false'>
- <update id='org.objectweb.asm.source' range='[0.0.0,3.1.0.v200803061910)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='ASM Source'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.objectweb.asm.source' version='3.1.0.v200803061910'/>
- <provided namespace='osgi.bundle' name='org.objectweb.asm.source' version='3.1.0.v200803061910'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.objectweb.asm.source' version='3.1.0.v200803061910'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 3.1.0.v200803061910
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.objectweb.asm.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.objectweb.asm;version="3.1.0.v200803061910"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.batik.xml' version='1.6.0.v200803061811' singleton='false'>
- <update id='org.apache.batik.xml' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Batik XML'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='5'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.xml' version='1.6.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.batik.xml' version='1.6.0.v200803061811'/>
- <provided namespace='java.package' name='org.apache.batik.xml' version='1.6.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='1'>
- <required namespace='osgi.bundle' name='org.apache.batik.util' range='0.0.0'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.batik.xml' version='1.6.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Require-Bundle: org.apache.batik.util;version="[1.6.0,1.7.0)"
-Manifest-Version: 1.0
-Bundle-Version: 1.6.0.v200803061811
-Export-Package: org.apache.batik.xml;version="1.6.0"
-Bundle-SymbolicName: org.apache.batik.xml
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='javax.servlet.source' version='2.3.0.v200803061811' singleton='false'>
- <update id='javax.servlet.source' range='[0.0.0,2.3.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Servlet API Source'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='javax.servlet.source' version='2.3.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='javax.servlet.source' version='2.3.0.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='javax.servlet.source' version='2.3.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 2.3.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: javax.servlet.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: javax.servlet;version="2.3.0.v200803061811"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.ant' version='1.7.0.v200803061910' singleton='false'>
- <update id='org.apache.ant' range='[0.0.0,1.7.0.v200803061910)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Ant'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='78'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.ant' version='1.7.0.v200803061910'/>
- <provided namespace='osgi.bundle' name='org.apache.ant' version='1.7.0.v200803061910'/>
- <provided namespace='java.package' name='images' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.dispatch' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.filters' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.filters.util' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.helper' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.input' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.launch' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.listener' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.loader' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.compilers' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.condition' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.cvslib' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.email' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.ccm' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.clearcase' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.depend' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.depend.constantpool' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.dotnet' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.ejb' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.extension' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.extension.resolvers' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.i18n' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.image' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.j2ee' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.javacc' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.javah' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.jdepend' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.jlink' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.jsp' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.jsp.compilers' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.junit' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.junit.xsl' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.native2ascii' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.net' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.perforce' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.pvcs' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.scm' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.script' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.sos' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.sound' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.splash' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.ssh' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.starteam' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.unix' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.vss' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.windows' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.rmic' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.types' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.types.conditions' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.types.mappers' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.types.optional' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.types.optional.depend' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.types.optional.image' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.types.resolver' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.types.resources' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.types.resources.comparators' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.types.resources.selectors' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.types.selectors' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.types.selectors.modifiedselector' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.types.spi' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.util' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.util.depend' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.util.depend.bcel' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.util.facade' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.util.java15' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.util.optional' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.ant.util.regexp' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.bzip2' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.mail' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.tar' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.tools.zip' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='1'>
- <required namespace='osgi.bundle' name='org.eclipse.osgi' range='0.0.0'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.ant' version='1.7.0.v200803061910'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='2'>
- <instruction key='manifest'>
- Bundle-Vendor: %providerName
-Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.2
-Bundle-ClassPath: lib/ant.jar,lib/ant-antlr.jar,lib/ant-apache-bcel.jar,lib/ant-apache-bsf.jar,lib/ant-apache-log4j.jar,lib/ant-apache-oro.jar,lib/ant-apache-regexp.jar,lib/ant-apache-resolver.jar,lib/ant-commons-logging.jar,lib/ant-commons-net.jar,lib/ant-jai.jar,lib/ant-javamail.jar,lib/ant-jdepend.jar,lib/ant-jmf.jar,lib/ant-jsch.jar,lib/ant-junit.jar,lib/ant-launcher.jar,lib/ant-netrexx.jar,lib/ant-nodeps.jar,lib/ant-starteam.jar,lib/ant-stylebook.jar,lib/ant-swing.jar,lib/ant-trax.jar,lib/ant-weblogic.jar
-Require-Bundle: org.eclipse.osgi
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.ant
-Bundle-Version: 1.7.0.v200803061910
-Export-Package: images,org.apache.tools.ant,org.apache.tools.ant.dispatch,org.apache.tools.ant.filters,org.apache.tools.ant.filters.util,org.apache.tools.ant.helper,org.apache.tools.ant.input,org.apache.tools.ant.launch,org.apache.tools.ant.listener,org.apache.tools.ant.loader,org.apache.tools.ant.taskdefs,org.apache.tools.ant.taskdefs.compilers,org.apache.tools.ant.taskdefs.condition,org.apache.tools.ant.taskdefs.cvslib,org.apache.tools.ant.taskdefs.email,org.apache.tools.ant.taskdefs.optional,org.apache.tools.ant.taskdefs.optional.ccm,org.apache.tools.ant.taskdefs.optional.clearcase,org.apache.tools.ant.taskdefs.optional.depend,org.apache.tools.ant.taskdefs.optional.depend.constantpool,org.apache.tools.ant.taskdefs.optional.dotnet,org.apache.tools.ant.taskdefs.optional.ejb,org.apache.tools.ant.taskdefs.optional.extension,org.apache.tools.ant.taskdefs.optional.extension.resolvers,org.apache.tools.ant.taskdefs.optional.i18n,org.apache.tools.ant.taskdefs.optional.image,org.apache.tools.ant.taskdefs.optional.j2ee,org.apache.tools.ant.taskdefs.optional.javacc,org.apache.tools.ant.taskdefs.optional.javah,org.apache.tools.ant.taskdefs.optional.jdepend,org.apache.tools.ant.taskdefs.optional.jlink,org.apache.tools.ant.taskdefs.optional.jsp,org.apache.tools.ant.taskdefs.optional.jsp.compilers,org.apache.tools.ant.taskdefs.optional.junit,org.apache.tools.ant.taskdefs.optional.junit.xsl,org.apache.tools.ant.taskdefs.optional.native2ascii,org.apache.tools.ant.taskdefs.optional.net,org.apache.tools.ant.taskdefs.optional.perforce,org.apache.tools.ant.taskdefs.optional.pvcs,org.apache.tools.ant.taskdefs.optional.scm,org.apache.tools.ant.taskdefs.optional.script,org.apache.tools.ant.taskdefs.optional.sos,org.apache.tools.ant.taskdefs.optional.sound,org.apache.tools.ant.taskdefs.optional.splash,org.apache.tools.ant.taskdefs.optional.ssh,org.apache.tools.ant.taskdefs.optional.starteam,org.apache.tools.ant.taskdefs.optional.unix,org.apache.tools.ant.taskdefs.optional.vss,org.apache.tools.ant.taskdefs.optional.windows,org.apache.tools.ant.taskdefs.rmic,org.apache.tools.ant.types,org.apache.tools.ant.types.conditions,org.apache.tools.ant.types.mappers,org.apache.tools.ant.types.optional,org.apache.tools.ant.types.optional.depend,org.apache.tools.ant.types.optional.image,org.apache.tools.ant.types.resolver,org.apache.tools.ant.types.resources,org.apache.tools.ant.types.resources.comparators,org.apache.tools.ant.types.resources.selectors,org.apache.tools.ant.types.selectors,org.apache.tools.ant.types.selectors.modifiedselector,org.apache.tools.ant.types.spi,org.apache.tools.ant.util,org.apache.tools.ant.util.depend,org.apache.tools.ant.util.depend.bcel,org.apache.tools.ant.util.facade,org.apache.tools.ant.util.java15,org.apache.tools.ant.util.optional,org.apache.tools.ant.util.regexp,org.apache.tools.bzip2,org.apache.tools.mail,org.apache.tools.tar,org.apache.tools.zip
-
- </instruction>
- <instruction key='zipped'>
- true
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.commons.pool' version='1.3.0.v200803061811' singleton='false'>
- <update id='org.apache.commons.pool' range='[0.0.0,1.3.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Commons Pool'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='6'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.pool' version='1.3.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.commons.pool' version='1.3.0.v200803061811'/>
- <provided namespace='java.package' name='org.apache.commons.pool' version='1.3.0'/>
- <provided namespace='java.package' name='org.apache.commons.pool.impl' version='1.3.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='2'>
- <required namespace='osgi.bundle' name='org.apache.commons.lang' range='[2.0.0,3.0.0)'/>
- <required namespace='osgi.bundle' name='org.apache.commons.logging' range='[1.0.0,2.0.0)'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.commons.pool' version='1.3.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Version: 1.3.0.v200803061811
-Require-Bundle: org.apache.commons.lang;bundle-version="[2.0.0,3.0.0)",org.apache.commons.logging;bundle-version="[1.0.0,2.0.0)"
-Export-Package: org.apache.commons.pool;version="1.3.0",org.apache.commons.pool.impl;version="1.3.0"
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Bundle-SymbolicName: org.apache.commons.pool
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='com.ibm.icu.base.source' version='3.6.0.v20080304' singleton='false'>
- <update id='com.ibm.icu.base.source' range='[0.0.0,3.6.0.v20080304)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='IBM Corporation'/>
- <property name='df_LT.pluginName' value='International Components for Unicode for Java (ICU4J) Replacement source plug-in'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='com.ibm.icu.base.source' version='3.6.0.v20080304'/>
- <provided namespace='osgi.bundle' name='com.ibm.icu.base.source' version='3.6.0.v20080304'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='com.ibm.icu.base.source' version='3.6.0.v20080304'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-Name: %pluginName
-Bundle-Version: 3.6.0.v20080304
-Bundle-SymbolicName: com.ibm.icu.base.source
-Manifest-Version: 1.0
-Eclipse-SourceBundle: com.ibm.icu.base;version="3.6.0.v20080304"
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.bcel' version='5.2.0.v200803061811' singleton='false'>
- <update id='org.apache.bcel' range='[0.0.0,5.2.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache BCEL'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='12'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.bcel' version='5.2.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.bcel' version='5.2.0.v200803061811'/>
- <provided namespace='java.package' name='org.apache.bcel' version='5.2.0'/>
- <provided namespace='java.package' name='org.apache.bcel.classfile' version='5.2.0'/>
- <provided namespace='java.package' name='org.apache.bcel.generic' version='5.2.0'/>
- <provided namespace='java.package' name='org.apache.bcel.util' version='5.2.0'/>
- <provided namespace='java.package' name='org.apache.bcel.verifier' version='5.2.0'/>
- <provided namespace='java.package' name='org.apache.bcel.verifier.exc' version='5.2.0'/>
- <provided namespace='java.package' name='org.apache.bcel.verifier.statics' version='5.2.0'/>
- <provided namespace='java.package' name='org.apache.bcel.verifier.structurals' version='5.2.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.bcel' version='5.2.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Version: 5.2.0.v200803061811
-Export-Package: org.apache.bcel;version="5.2.0",org.apache.bcel.classfile;version="5.2.0",org.apache.bcel.generic;version="5.2.0",org.apache.bcel.util;version="5.2.0",org.apache.bcel.verifier;version="5.2.0",org.apache.bcel.verifier.exc;version="5.2.0",org.apache.bcel.verifier.statics;version="5.2.0",org.apache.bcel.verifier.structurals;version="5.2.0"
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-SymbolicName: org.apache.bcel
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.commons.httpclient.source' version='3.0.1.v200803061811' singleton='false'>
- <update id='org.apache.commons.httpclient.source' range='[0.0.0,3.0.1.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.bundleName' value='Apache Commons Httpclient Source Plug-in'/>
- <property name='df_LT.bundleProvider' value='Eclipse.org'/>
- <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.httpclient.source' version='3.0.1.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.commons.httpclient.source' version='3.0.1.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.commons.httpclient.source' version='3.0.1.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 3.0.1.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.commons.httpclient.source
-Bundle-Name: %bundleName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.commons.httpclient;version="3.0.1.v200803061811"
-Bundle-Vendor: %bundleProvider
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.commons.beanutils.source' version='1.7.0.v200803061811' singleton='false'>
- <update id='org.apache.commons.beanutils.source' range='[0.0.0,1.7.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Commons BeanUtils Source'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.beanutils.source' version='1.7.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.commons.beanutils.source' version='1.7.0.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.commons.beanutils.source' version='1.7.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.7.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.commons.beanutils.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.commons.beanutils;version="1.7.0.v200803061811"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.ant.source' version='1.6.5.v200803061811' singleton='false'>
- <update id='org.apache.ant.source' range='[0.0.0,1.6.5.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Ant Source'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.ant.source' version='1.6.5.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.ant.source' version='1.6.5.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.ant.source' version='1.6.5.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.6.5.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.ant.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.ant;version="1.6.5.v200803061811";roots:="lib/ant,lib/ant-antlr,lib/ant-apache-bcel,lib/ant-apache-bsf,lib/ant-apache-log4j,lib/ant-apache-oro,lib/ant-apache-regexp,lib/ant-apache-resolver,lib/ant-commons-logging,lib/ant-commons-net,lib/ant-icontract,lib/ant-jai,lib/ant-javamail,lib/ant-jdepend,lib/ant-jmf,lib/ant-jsch,lib/ant-junit,lib/ant-launcher,lib/ant-netrexx,lib/ant-nodeps,lib/ant-starteam,lib/ant-stylebook,lib/ant-swing,lib/ant-trax,lib/ant-vaj,lib/ant-weblogic,lib/ant-xalan1,lib/ant-xslp"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='javax.servlet.jsp' version='1.2.0.v200803061811' singleton='false'>
- <update id='javax.servlet.jsp' range='[0.0.0,1.2.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='JSP API'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='7'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='javax.servlet.jsp' version='1.2.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='javax.servlet.jsp' version='1.2.0.v200803061811'/>
- <provided namespace='java.package' name='javax.servlet.jsp' version='1.2.0'/>
- <provided namespace='java.package' name='javax.servlet.jsp.resources' version='1.2.0'/>
- <provided namespace='java.package' name='javax.servlet.jsp.tagext' version='1.2.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='2'>
- <required namespace='java.package' name='javax.servlet' range='2.3.0'/>
- <required namespace='java.package' name='javax.servlet.http' range='2.3.0'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='javax.servlet.jsp' version='1.2.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3
-Manifest-Version: 1.0
-Bundle-Version: 1.2.0.v200803061811
-Export-Package: javax.servlet.jsp; version=1.2,javax.servlet.jsp.resources; version=1.2,javax.servlet.jsp.tagext; version=1.2
-Bundle-SymbolicName: javax.servlet.jsp
-Import-Package: javax.servlet;version="2.3.0",javax.servlet.http;version="2.3.0"
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='javax.xml' version='1.3.4.v200803061811' singleton='false'>
- <update id='javax.xml' range='[0.0.0,1.3.4.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
- <property name='df_LT.Bundle-Name.0' value='JAXP XML'/>
- <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
- <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
- </properties>
- <provides size='29'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='javax.xml' version='1.3.4.v200803061811'/>
- <provided namespace='osgi.bundle' name='javax.xml' version='1.3.4.v200803061811'/>
- <provided namespace='java.package' name='javax.xml' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.datatype' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.namespace' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.parsers' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.transform' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.transform.dom' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.transform.sax' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.transform.stream' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.validation' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.xpath' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xmlcommons' version='0.0.0'/>
- <provided namespace='java.package' name='org.w3c.dom' version='0.0.0'/>
- <provided namespace='java.package' name='org.w3c.dom.bootstrap' version='0.0.0'/>
- <provided namespace='java.package' name='org.w3c.dom.css' version='0.0.0'/>
- <provided namespace='java.package' name='org.w3c.dom.events' version='0.0.0'/>
- <provided namespace='java.package' name='org.w3c.dom.html' version='0.0.0'/>
- <provided namespace='java.package' name='org.w3c.dom.ls' version='0.0.0'/>
- <provided namespace='java.package' name='org.w3c.dom.ranges' version='0.0.0'/>
- <provided namespace='java.package' name='org.w3c.dom.stylesheets' version='0.0.0'/>
- <provided namespace='java.package' name='org.w3c.dom.traversal' version='0.0.0'/>
- <provided namespace='java.package' name='org.w3c.dom.views' version='0.0.0'/>
- <provided namespace='java.package' name='org.w3c.dom.xpath' version='0.0.0'/>
- <provided namespace='java.package' name='org.xml.sax' version='0.0.0'/>
- <provided namespace='java.package' name='org.xml.sax.ext' version='0.0.0'/>
- <provided namespace='java.package' name='org.xml.sax.helpers' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='1'>
- <required namespace='osgi.bundle' name='org.eclipse.osgi' range='0.0.0'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='javax.xml' version='1.3.4.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.2
-Require-Bundle: system.bundle
-Manifest-Version: 1.0
-Bundle-Version: 1.3.4.v200803061811
-Export-Package: javax.xml,javax.xml.datatype,javax.xml.namespace,javax.xml.parsers,javax.xml.transform,javax.xml.transform.dom,javax.xml.transform.sax,javax.xml.transform.stream,javax.xml.validation,javax.xml.xpath,org.apache.xmlcommons,org.w3c.dom,org.w3c.dom.bootstrap,org.w3c.dom.css,org.w3c.dom.events,org.w3c.dom.html,org.w3c.dom.ls,org.w3c.dom.ranges,org.w3c.dom.stylesheets,org.w3c.dom.traversal,org.w3c.dom.views,org.w3c.dom.xpath,org.xml.sax,org.xml.sax.ext,org.xml.sax.helpers
-Bundle-SymbolicName: javax.xml
-Bundle-Localization: plugin
-Bundle-Name: %Bundle-Name.0
-Bundle-Vendor: %Bundle-Vendor.0
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.mortbay.jetty.util' version='6.1.7.v200803061811' singleton='false'>
- <update id='org.mortbay.jetty.util' range='[0.0.0,6.1.7.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='org.eclipse.equinox.p2.name' value='Jetty Utilities'/>
- <property name='org.eclipse.equinox.p2.description' value='Utility classes for Jetty'/>
- <property name='org.eclipse.equinox.p2.provider' value='Mort Bay Consulting'/>
- <property name='org.eclipse.equinox.p2.doc.url' value='http://jetty.mortbay.org'/>
- </properties>
- <provides size='9'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.mortbay.jetty.util' version='6.1.7.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.mortbay.jetty.util' version='6.1.7.v200803061811'/>
- <provided namespace='java.package' name='org.mortbay.util' version='6.1.7'/>
- <provided namespace='java.package' name='org.mortbay.log' version='6.1.7'/>
- <provided namespace='java.package' name='org.mortbay.component' version='6.1.7'/>
- <provided namespace='java.package' name='org.mortbay.thread' version='6.1.7'/>
- <provided namespace='java.package' name='org.mortbay.servlet' version='6.1.7'/>
- <provided namespace='java.package' name='org.mortbay.util.ajax' version='6.1.7'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- </provides>
- <requires size='2'>
- <required namespace='java.package' name='javax.servlet' range='2.5.0'/>
- <required namespace='java.package' name='javax.servlet.http' range='2.5.0'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.mortbay.jetty.util' version='6.1.7.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Manifest-Version: 1.0
-Bundle-DocURL: http://jetty.mortbay.org
-implementation-version: 6.1.7
-Ignore-Package: org.mortbay.log,org.mortbay.util,org.mortbay.component,org.mortbay.thread,org.mortbay.servlet,org.mortbay.util.ajax
-Created-By: 1.5.0_13 (Sun Microsystems Inc.)
-Built-By: gregw
-Bundle-Vendor: Mort Bay Consulting
-url: http://jetty.mortbay.org
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-Description: Utility classes for Jetty
-Import-Package: javax.servlet;version=2.5,javax.servlet.http;version=2.5
-Archiver-Version: Plexus Archiver
-Bundle-Name: Jetty Utilities
-Bundle-License: http://www.apache.org/licenses/LICENSE-2.0
-mode: development
-Export-Package: org.mortbay.util;uses:="org.mortbay.log,org.mortbay.thread";version=6.1.7,org.mortbay.log;uses:=org.mortbay.util;version=6.1.7,org.mortbay.component;uses:="org.mortbay.util,org.mortbay.log";version=6.1.7,org.mortbay.thread;uses:="org.mortbay.log,org.mortbay.component";version=6.1.7,org.mortbay.servlet;uses:="org.mortbay.log,org.mortbay.util,javax.servlet.http,javax.servlet,org.mortbay.util.ajax";version=6.1.7,org.mortbay.util.ajax;uses:="org.mortbay.log,org.mortbay.util,javax.servlet.http,javax.servlet";version=6.1.7
-Bundle-Version: 6.1.7.v200803061811
-Bundle-ManifestVersion: 2
-Bnd-LastModified: 1198463899960
-package: org.mortbay
-Build-Jdk: 1.5.0_13
-Tool: Bnd-0.0.160
-Bundle-SymbolicName: org.mortbay.jetty.util
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.lucene' version='1.9.1.v200803061811' singleton='false'>
- <update id='org.apache.lucene' range='[0.0.0,1.9.1.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Lucene'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='15'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.lucene' version='1.9.1.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.lucene' version='1.9.1.v200803061811'/>
- <provided namespace='java.package' name='org.apache.lucene' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.lucene.analysis' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.lucene.analysis.de' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.lucene.analysis.standard' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.lucene.document' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.lucene.index' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.lucene.queryParser' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.lucene.search' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.lucene.search.spans' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.lucene.store' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.lucene.util' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.lucene' version='1.9.1.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.9.1.v200803061811
-Export-Package: org.apache.lucene,org.apache.lucene.analysis,org.apache.lucene.analysis.de,org.apache.lucene.analysis.standard,org.apache.lucene.document,org.apache.lucene.index,org.apache.lucene.queryParser,org.apache.lucene.search,org.apache.lucene.search.spans,org.apache.lucene.store,org.apache.lucene.util
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.lucene
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.ws.commons.util' version='1.0.0.v200803061811' singleton='false'>
- <update id='org.apache.ws.commons.util' range='[0.0.0,1.0.0.v200803061811)' severity='0'/>
- <properties size='2'>
- <property name='df_LT.Bundle-Name' value='WS Commons Util Plug-in'/>
- <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name'/>
- </properties>
- <provides size='6'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.ws.commons.util' version='1.0.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.ws.commons.util' version='1.0.0.v200803061811'/>
- <provided namespace='java.package' name='org.apache.ws.commons.serialize' version='1.0.0'/>
- <provided namespace='java.package' name='org.apache.ws.commons.util' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='6'>
- <required namespace='java.package' name='javax.xml' range='0.0.0'/>
- <required namespace='java.package' name='javax.xml.namespace' range='0.0.0'/>
- <required namespace='java.package' name='org.w3c.dom' range='0.0.0'/>
- <required namespace='java.package' name='org.xml.sax' range='0.0.0'/>
- <required namespace='java.package' name='org.xml.sax.ext' range='0.0.0'/>
- <required namespace='java.package' name='org.xml.sax.helpers' range='0.0.0'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.ws.commons.util' version='1.0.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Version: 1.0.0.v200803061811
-Export-Package: org.apache.ws.commons.serialize;version="1.0.0",org.apache.ws.commons.util;version="1.0.0"
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,CDC-1.0/Foundation-1.0,J2SE-1.3
-Bundle-SymbolicName: org.apache.ws.commons.util
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Import-Package: javax.xml,javax.xml.namespace,org.w3c.dom,org.xml.sax,org.xml.sax.ext,org.xml.sax.helpers
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.batik.swing' version='1.6.0.v200803061811' singleton='false'>
- <update id='org.apache.batik.swing' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Batik Swing'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='7'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.swing' version='1.6.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.batik.swing' version='1.6.0.v200803061811'/>
- <provided namespace='java.package' name='org.apache.batik.swing' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.swing.gvt' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.swing.svg' version='1.6.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='8'>
- <required namespace='osgi.bundle' name='org.apache.batik.bridge' range='0.0.0'/>
- <required namespace='osgi.bundle' name='org.apache.batik.dom' range='0.0.0'/>
- <required namespace='osgi.bundle' name='org.apache.batik.dom.svg' range='0.0.0'/>
- <required namespace='osgi.bundle' name='org.apache.batik.ext.awt' range='0.0.0'/>
- <required namespace='osgi.bundle' name='org.apache.batik.util' range='0.0.0'/>
- <required namespace='osgi.bundle' name='org.apache.batik.util.gui' range='0.0.0'/>
- <required namespace='osgi.bundle' name='org.apache.batik.xml' range='0.0.0'/>
- <required namespace='osgi.bundle' name='org.w3c.dom.svg' range='0.0.0'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.batik.swing' version='1.6.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Require-Bundle: org.apache.batik.bridge;version="[1.6.0,1.7.0)",org.apache.batik.dom;version="[1.6.0,1.7.0)",org.apache.batik.dom.svg;version="[1.6.0,1.7.0)",org.apache.batik.ext.awt;version="[1.6.0,1.7.0)",org.apache.batik.util;version="[1.6.0,1.7.0)",org.apache.batik.util.gui;version="[1.6.0,1.7.0)",org.apache.batik.xml;version="[1.6.0,1.7.0)",org.w3c.dom.svg;version="[1.1.0,1.3.0)"
-Manifest-Version: 1.0
-Bundle-Version: 1.6.0.v200803061811
-Export-Package: org.apache.batik.swing;version="1.6.0",org.apache.batik.swing.gvt;version="1.6.0",org.apache.batik.swing.svg;version="1.6.0"
-Bundle-SymbolicName: org.apache.batik.swing
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.batik.ext.awt' version='1.6.0.v200803061811' singleton='false'>
- <update id='org.apache.batik.ext.awt' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Batik AWT Utilities'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='16'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.ext.awt' version='1.6.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.batik.ext.awt' version='1.6.0.v200803061811'/>
- <provided namespace='java.package' name='org.apache.batik.ext.awt' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.ext.awt.color' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.ext.awt.font' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.ext.awt.g2d' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.ext.awt.geom' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.ext.awt.image' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.ext.awt.image.codec' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.ext.awt.image.codec.tiff' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.ext.awt.image.renderable' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.ext.awt.image.rendered' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.ext.awt.image.spi' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.ext.swing' version='1.6.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='2'>
- <required namespace='osgi.bundle' name='org.apache.batik.util' range='0.0.0'/>
- <required namespace='osgi.bundle' name='org.apache.batik.util.gui' range='0.0.0'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.batik.ext.awt' version='1.6.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Require-Bundle: org.apache.batik.util;version="[1.6.0,1.7.0)",org.apache.batik.util.gui;version="[1.6.0,1.7.0)"
-Manifest-Version: 1.0
-Bundle-Version: 1.6.0.v200803061811
-Export-Package: org.apache.batik.ext.awt;version="1.6.0",org.apache.batik.ext.awt.color;version="1.6.0",org.apache.batik.ext.awt.font;version="1.6.0",org.apache.batik.ext.awt.g2d;version="1.6.0",org.apache.batik.ext.awt.geom;version="1.6.0",org.apache.batik.ext.awt.image;version="1.6.0",org.apache.batik.ext.awt.image.codec;version="1.6.0",org.apache.batik.ext.awt.image.codec.tiff;version="1.6.0",org.apache.batik.ext.awt.image.renderable;version="1.6.0",org.apache.batik.ext.awt.image.rendered;version="1.6.0",org.apache.batik.ext.awt.image.spi;version="1.6.0",org.apache.batik.ext.swing;version="1.6.0"
-Bundle-SymbolicName: org.apache.batik.ext.awt
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.antlr.runtime.source' version='3.0.0.v200803061811' singleton='false'>
- <update id='org.antlr.runtime.source' range='[0.0.0,3.0.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='ANTLR Runtime Source'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.antlr.runtime.source' version='3.0.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.antlr.runtime.source' version='3.0.0.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.antlr.runtime.source' version='3.0.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 3.0.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.antlr.runtime.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.antlr.runtime;version="3.0.0.v200803061811"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.bcel.source' version='5.2.0.v200803061811' singleton='false'>
- <update id='org.apache.bcel.source' range='[0.0.0,5.2.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache BCEL'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.bcel.source' version='5.2.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.bcel.source' version='5.2.0.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.bcel.source' version='5.2.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 5.2.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.bcel.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.bcel;version="5.2.0.v200803061811"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='javax.xml.bind' version='2.0.0.v200803061811' singleton='false'>
- <update id='javax.xml.bind' range='[0.0.0,2.0.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='JAXB'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='10'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='javax.xml.bind' version='2.0.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='javax.xml.bind' version='2.0.0.v200803061811'/>
- <provided namespace='java.package' name='javax.xml.bind' version='2.0.0'/>
- <provided namespace='java.package' name='javax.xml.bind.annotation' version='2.0.0'/>
- <provided namespace='java.package' name='javax.xml.bind.annotation.adapters' version='2.0.0'/>
- <provided namespace='java.package' name='javax.xml.bind.attachment' version='2.0.0'/>
- <provided namespace='java.package' name='javax.xml.bind.helpers' version='2.0.0'/>
- <provided namespace='java.package' name='javax.xml.bind.util' version='2.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='javax.xml.bind' version='2.0.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Export-Package: javax.xml.bind;version="2.0.0",javax.xml.bind.annotation;version="2.0.0",javax.xml.bind.annotation.adapters;version="2.0.0",javax.xml.bind.attachment;version="2.0.0",javax.xml.bind.helpers;version="2.0.0",javax.xml.bind.util;version="2.0.0"
-Bundle-Name: %pluginName
-Bundle-Version: 2.0.0.v200803061811
-Bundle-SymbolicName: javax.xml.bind
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.junit.source' version='3.8.2.v200803061910' singleton='false'>
- <update id='org.junit.source' range='[0.0.0,3.8.2.v200803061910)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='JUnit Testing Framework Source'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.junit.source' version='3.8.2.v200803061910'/>
- <provided namespace='osgi.bundle' name='org.junit.source' version='3.8.2.v200803061910'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.junit.source' version='3.8.2.v200803061910'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 3.8.2.v200803061910
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.junit.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.junit;version="3.8.2.v200803061910"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.commons.fileupload.source' version='1.2.0.v200803061811' singleton='false'>
- <update id='org.apache.commons.fileupload.source' range='[0.0.0,1.2.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Commons FileUpload Source'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.fileupload.source' version='1.2.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.commons.fileupload.source' version='1.2.0.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.commons.fileupload.source' version='1.2.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.2.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.commons.fileupload.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.commons.fileupload;version="1.2.0.v200803061811"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.commons.fileupload' version='1.2.0.v200803061811' singleton='false'>
- <update id='org.apache.commons.fileupload' range='[0.0.0,1.2.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Commons FileUpload'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='9'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.fileupload' version='1.2.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.commons.fileupload' version='1.2.0.v200803061811'/>
- <provided namespace='java.package' name='org.apache.commons.fileupload' version='1.2.0'/>
- <provided namespace='java.package' name='org.apache.commons.fileupload.disk' version='1.2.0'/>
- <provided namespace='java.package' name='org.apache.commons.fileupload.portlet' version='1.2.0'/>
- <provided namespace='java.package' name='org.apache.commons.fileupload.servlet' version='1.2.0'/>
- <provided namespace='java.package' name='org.apache.commons.fileupload.util' version='1.2.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='4'>
- <required namespace='java.package' name='javax.servlet' range='2.3.0'/>
- <required namespace='java.package' name='javax.servlet.http' range='2.3.0'/>
- <required namespace='java.package' name='org.apache.commons.io' range='1.3.0'/>
- <required namespace='java.package' name='org.apache.commons.io.output' range='1.3.0'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.commons.fileupload' version='1.2.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Version: 1.2.0.v200803061811
-Export-Package: org.apache.commons.fileupload;version="1.2.0",org.apache.commons.fileupload.disk;version="1.2.0",org.apache.commons.fileupload.portlet;version="1.2.0",org.apache.commons.fileupload.servlet;version="1.2.0",org.apache.commons.fileupload.util;version="1.2.0"
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Bundle-SymbolicName: org.apache.commons.fileupload
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-Import-Package: javax.servlet;version="2.3.0",javax.servlet.http;version="2.3.0",org.apache.commons.io;version="1.3.0",org.apache.commons.io.output;version="1.3.0"
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='javax.jws' version='2.0.0.v200803061811' singleton='false'>
- <update id='javax.jws' range='[0.0.0,2.0.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
- <property name='df_LT.Bundle-Name.0' value='Web Services Metadata'/>
- <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
- <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
- </properties>
- <provides size='6'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='javax.jws' version='2.0.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='javax.jws' version='2.0.0.v200803061811'/>
- <provided namespace='java.package' name='javax.jws' version='0.0.0'/>
- <provided namespace='java.package' name='javax.jws.soap' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='javax.jws' version='2.0.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Export-Package: javax.jws,javax.jws.soap
-Bundle-Name: %Bundle-Name.0
-Bundle-Version: 2.0.0.v200803061811
-Bundle-SymbolicName: javax.jws
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Vendor: %Bundle-Vendor.0
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='net.sourceforge.mx4j' version='3.0.1.v200803061811' singleton='false'>
- <update id='net.sourceforge.mx4j' range='[0.0.0,3.0.1.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
- <property name='df_LT.Bundle-Name.0' value='MX4J'/>
- <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
- <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
- </properties>
- <provides size='13'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='net.sourceforge.mx4j' version='3.0.1.v200803061811'/>
- <provided namespace='osgi.bundle' name='net.sourceforge.mx4j' version='3.0.1.v200803061811'/>
- <provided namespace='java.package' name='mx4j' version='0.0.0'/>
- <provided namespace='java.package' name='mx4j.loading' version='0.0.0'/>
- <provided namespace='java.package' name='mx4j.log' version='0.0.0'/>
- <provided namespace='java.package' name='mx4j.monitor' version='0.0.0'/>
- <provided namespace='java.package' name='mx4j.persist' version='0.0.0'/>
- <provided namespace='java.package' name='mx4j.server' version='0.0.0'/>
- <provided namespace='java.package' name='mx4j.server.interceptor' version='0.0.0'/>
- <provided namespace='java.package' name='mx4j.timer' version='0.0.0'/>
- <provided namespace='java.package' name='mx4j.util' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='net.sourceforge.mx4j' version='3.0.1.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 3.0.1.v200803061811
-Export-Package: mx4j,mx4j.loading,mx4j.log,mx4j.monitor,mx4j.persist,mx4j.server,mx4j.server.interceptor,mx4j.timer,mx4j.util
-Manifest-Version: 1.0
-Bundle-SymbolicName: net.sourceforge.mx4j
-Bundle-Name: %Bundle-Name.0
-Bundle-Localization: plugin
-Bundle-Vendor: %Bundle-Vendor.0
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.w3c.css.sac' version='1.3.0.v200803081811' singleton='false'>
- <update id='org.w3c.css.sac' range='[0.0.0,1.3.0.v200803081811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='W3C CSS SAC'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='6'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.w3c.css.sac' version='1.3.0.v200803081811'/>
- <provided namespace='osgi.bundle' name='org.w3c.css.sac' version='1.3.0.v200803081811'/>
- <provided namespace='java.package' name='org.w3c.css.sac' version='1.3.0'/>
- <provided namespace='java.package' name='org.w3c.css.sac.helpers' version='1.3.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.w3c.css.sac' version='1.3.0.v200803081811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Version: 1.3.0.v200803081811
-Export-Package: org.w3c.css.sac;version="1.3.0",org.w3c.css.sac.helpers;version="1.3.0"
-Bundle-RequiredExecutionEnvironment: J2SE-1.3,CDC-1.0/Foundation-1.0
-Bundle-SymbolicName: org.w3c.css.sac
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='javax.wsdl' version='1.5.1.v200803061910' singleton='false'>
- <update id='javax.wsdl' range='[0.0.0,1.5.1.v200803061910)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
- <property name='df_LT.Bundle-Name.0' value='WSDL4J'/>
- <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
- <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
- </properties>
- <provides size='22'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='javax.wsdl' version='1.5.1.v200803061910'/>
- <provided namespace='osgi.bundle' name='javax.wsdl' version='1.5.1.v200803061910'/>
- <provided namespace='java.package' name='com.ibm.wsdl' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.extensions' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.extensions.http' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.extensions.mime' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.extensions.schema' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.extensions.soap' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.factory' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.util' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.util.xml' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.xml' version='0.0.0'/>
- <provided namespace='java.package' name='javax.wsdl' version='0.0.0'/>
- <provided namespace='java.package' name='javax.wsdl.extensions' version='0.0.0'/>
- <provided namespace='java.package' name='javax.wsdl.extensions.http' version='0.0.0'/>
- <provided namespace='java.package' name='javax.wsdl.extensions.mime' version='0.0.0'/>
- <provided namespace='java.package' name='javax.wsdl.extensions.schema' version='0.0.0'/>
- <provided namespace='java.package' name='javax.wsdl.extensions.soap' version='0.0.0'/>
- <provided namespace='java.package' name='javax.wsdl.factory' version='0.0.0'/>
- <provided namespace='java.package' name='javax.wsdl.xml' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='1'>
- <required namespace='osgi.bundle' name='org.apache.xerces' range='[2.8.0,3.0.0)' optional='true'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='javax.wsdl' version='1.5.1.v200803061910'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Implementation-Vendor: IBM
-Bundle-Version: 1.5.1.v200803061910
-Specification-Title: JWSDL
-Implementation-Title: WSDL4J
-Export-Package: com.ibm.wsdl,com.ibm.wsdl.extensions,com.ibm.wsdl.extensions.http,com.ibm.wsdl.extensions.mime,com.ibm.wsdl.extensions.schema,com.ibm.wsdl.extensions.soap,com.ibm.wsdl.factory,com.ibm.wsdl.util,com.ibm.wsdl.util.xml,com.ibm.wsdl.xml,javax.wsdl,javax.wsdl.extensions,javax.wsdl.extensions.http,javax.wsdl.extensions.mime,javax.wsdl.extensions.schema,javax.wsdl.extensions.soap,javax.wsdl.factory,javax.wsdl.xml
-Manifest-Version: 1.0
-Bundle-RequiredExecutionEnvironment: J2SE-1.2
-Require-Bundle: org.apache.xerces;bundle-version="[2.8.0,3.0.0)";resolution:=optional
-Bundle-Localization: plugin
-Bundle-SymbolicName: javax.wsdl
-Created-By: 1.4.2 (IBM Corporation)
-Specification-Version: 1.1
-Implementation-Version: 1.5.1
-Specification-Vendor: IBM (Java Community Process)
-Bundle-Vendor: %Bundle-Vendor.0
-Bundle-Name: %Bundle-Name.0
-Bundle-ManifestVersion: 2
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='javax.servlet.jsp.source' version='1.2.0.v200803061811' singleton='false'>
- <update id='javax.servlet.jsp.source' range='[0.0.0,1.2.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='JSP API Source'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='javax.servlet.jsp.source' version='1.2.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='javax.servlet.jsp.source' version='1.2.0.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='javax.servlet.jsp.source' version='1.2.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.2.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: javax.servlet.jsp.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: javax.servlet.jsp;version="1.2.0.v200803061811"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.batik.util' version='1.6.0.v200803061811' singleton='false'>
- <update id='org.apache.batik.util' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Batik Utilities'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='9'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.util' version='1.6.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.batik.util' version='1.6.0.v200803061811'/>
- <provided namespace='java.package' name='org.apache.batik' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.i18n' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.util' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.util.io' version='1.6.0'/>
- <provided namespace='java.package' name='org.apache.batik.util.resources' version='1.6.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='1'>
- <required namespace='osgi.bundle' name='org.apache.batik.util.gui' range='0.0.0'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.batik.util' version='1.6.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Require-Bundle: org.apache.batik.util.gui;version="[1.6.0,1.7.0)"
-Manifest-Version: 1.0
-Bundle-Version: 1.6.0.v200803061811
-Export-Package: org.apache.batik;version="1.6.0",org.apache.batik.i18n;version="1.6.0",org.apache.batik.util;version="1.6.0",org.apache.batik.util.io;version="1.6.0",org.apache.batik.util.resources;version="1.6.0"
-Bundle-SymbolicName: org.apache.batik.util
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='javax.mail' version='1.4.0.v200803061811' singleton='false'>
- <update id='javax.mail' range='[0.0.0,1.4.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
- <property name='df_LT.Bundle-Name.0' value='Temp Plug-in'/>
- <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
- <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
- </properties>
- <provides size='16'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='javax.mail' version='1.4.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='javax.mail' version='1.4.0.v200803061811'/>
- <provided namespace='java.package' name='com.sun.mail.handlers' version='0.0.0'/>
- <provided namespace='java.package' name='com.sun.mail.iap' version='0.0.0'/>
- <provided namespace='java.package' name='com.sun.mail.imap' version='0.0.0'/>
- <provided namespace='java.package' name='com.sun.mail.imap.protocol' version='0.0.0'/>
- <provided namespace='java.package' name='com.sun.mail.pop3' version='0.0.0'/>
- <provided namespace='java.package' name='com.sun.mail.smtp' version='0.0.0'/>
- <provided namespace='java.package' name='com.sun.mail.util' version='0.0.0'/>
- <provided namespace='java.package' name='javax.mail' version='0.0.0'/>
- <provided namespace='java.package' name='javax.mail.event' version='0.0.0'/>
- <provided namespace='java.package' name='javax.mail.internet' version='0.0.0'/>
- <provided namespace='java.package' name='javax.mail.search' version='0.0.0'/>
- <provided namespace='java.package' name='javax.mail.util' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='2'>
- <required namespace='osgi.bundle' name='org.eclipse.osgi' range='0.0.0'/>
- <required namespace='osgi.bundle' name='javax.activation' range='1.1.0'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='javax.mail' version='1.4.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Require-Bundle: system.bundle, javax.activation;bundle-version="1.1.0"
-Manifest-Version: 1.0
-Bundle-Version: 1.4.0.v200803061811
-Export-Package: com.sun.mail.handlers,com.sun.mail.iap,com.sun.mail.imap,com.sun.mail.imap.protocol,com.sun.mail.pop3,com.sun.mail.smtp,com.sun.mail.util,javax.mail,javax.mail.event,javax.mail.internet,javax.mail.search,javax.mail.util
-Bundle-SymbolicName: javax.mail
-Bundle-Localization: plugin
-Bundle-Name: %Bundle-Name.0
-Bundle-Vendor: %Bundle-Vendor.0
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='com.jcraft.jsch' version='0.1.28' singleton='false'>
- <update id='com.jcraft.jsch' range='[0.0.0,0.1.28)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.bundleName' value='JSch'/>
- <property name='df_LT.venderName' value='JCraft, Inc.'/>
- <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%venderName'/>
- </properties>
- <provides size='7'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='com.jcraft.jsch' version='0.1.28'/>
- <provided namespace='osgi.bundle' name='com.jcraft.jsch' version='0.1.28'/>
- <provided namespace='java.package' name='com.jcraft.jsch' version='0.0.0'/>
- <provided namespace='java.package' name='com.jcraft.jsch.jce' version='0.0.0'/>
- <provided namespace='java.package' name='com.jcraft.jsch.jcraft' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='com.jcraft.jsch' version='0.1.28'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-Vendor: %venderName
-Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-ClassPath: .
-Bundle-Name: %bundleName
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-SymbolicName: com.jcraft.jsch
-Bundle-Version: 0.1.28
-Created-By: 1.4.0 (Sun Microsystems Inc.)
-Export-Package: com.jcraft.jsch, com.jcraft.jsch.jce;x-internal:=true, com.jcraft.jsch.jcraft;x-internal:=true
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='com.jcraft.jsch.source' version='0.1.37.v200803061811' singleton='false'>
- <update id='com.jcraft.jsch.source' range='[0.0.0,0.1.37.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.bundleName' value='JSch Source'/>
- <property name='df_LT.venderName' value='JCraft, Inc.'/>
- <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%venderName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='com.jcraft.jsch.source' version='0.1.37.v200803061811'/>
- <provided namespace='osgi.bundle' name='com.jcraft.jsch.source' version='0.1.37.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='com.jcraft.jsch.source' version='0.1.37.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 0.1.37.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: com.jcraft.jsch.source
-Bundle-Name: %bundleName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: com.jcraft.jsch;version="0.1.37.v200803061811"
-Bundle-Vendor: %venderName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.jasper' version='5.5.17.v200803061811' singleton='false'>
- <update id='org.apache.jasper' range='[0.0.0,5.5.17.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.bundleName' value='Apache Jasper 2 Plug-in'/>
- <property name='df_LT.bundleProvider' value='Eclipse.org'/>
- <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
- </properties>
- <provides size='15'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.jasper' version='5.5.17.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.jasper' version='5.5.17.v200803061811'/>
- <provided namespace='java.package' name='org.apache.jasper' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.jasper.compiler' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.jasper.compiler.tagplugin' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.jasper.resources' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.jasper.runtime' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.jasper.security' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.jasper.servlet' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.jasper.tagplugins.jstl' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.jasper.tagplugins.jstl.core' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.jasper.util' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.jasper.xmlparser' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='18'>
- <required namespace='java.package' name='javax.servlet' range='2.4.0'/>
- <required namespace='java.package' name='javax.servlet.http' range='2.4.0'/>
- <required namespace='java.package' name='javax.servlet.jsp' range='2.0.0'/>
- <required namespace='java.package' name='javax.servlet.jsp.el' range='2.0.0'/>
- <required namespace='java.package' name='javax.servlet.jsp.resources' range='2.0.0'/>
- <required namespace='java.package' name='javax.servlet.jsp.tagext' range='2.0.0'/>
- <required namespace='java.package' name='javax.servlet.resources' range='2.4.0'/>
- <required namespace='java.package' name='javax.xml.parsers' range='0.0.0'/>
- <required namespace='java.package' name='org.apache.commons.el' range='[1.0.0,2.0.0)'/>
- <required namespace='java.package' name='org.apache.commons.logging' range='[1.0.0,2.0.0)'/>
- <required namespace='java.package' name='org.apache.tools.ant' range='0.0.0' optional='true'/>
- <required namespace='java.package' name='org.apache.tools.ant.taskdefs' range='0.0.0' optional='true'/>
- <required namespace='java.package' name='org.apache.tools.ant.types' range='0.0.0' optional='true'/>
- <required namespace='java.package' name='org.apache.tools.ant.util' range='0.0.0' optional='true'/>
- <required namespace='java.package' name='org.w3c.dom' range='0.0.0'/>
- <required namespace='java.package' name='org.xml.sax' range='0.0.0'/>
- <required namespace='java.package' name='org.xml.sax.ext' range='0.0.0'/>
- <required namespace='java.package' name='org.xml.sax.helpers' range='0.0.0'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.jasper' version='5.5.17.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-Vendor: %bundleProvider
-Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,CDC-1.0/Foundation-1.0,J2SE-1.3
-Bundle-ClassPath: .
-Import-Package: javax.servlet;version="2.4",javax.servlet.http;version="2.4",javax.servlet.jsp;version="2.0",javax.servlet.jsp.el;version="2.0",javax.servlet.jsp.resources;version="2.0",javax.servlet.jsp.tagext;version="2.0",javax.servlet.resources;version="2.4",javax.xml.parsers,org.apache.commons.el;version="[1.0.0,2.0.0)",org.apache.commons.logging;version="[1.0.0,2.0.0)",org.apache.tools.ant;resolution:=optional,org.apache.tools.ant.taskdefs;resolution:=optional,org.apache.tools.ant.types;resolution:=optional,org.apache.tools.ant.util;resolution:=optional,org.w3c.dom,org.xml.sax,org.xml.sax.ext,org.xml.sax.helpers
-Bundle-Name: %bundleName
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.jasper
-Bundle-Version: 5.5.17.v200803061811
-Export-Package: org.apache.jasper,org.apache.jasper.compiler,org.apache.jasper.compiler.tagplugin,org.apache.jasper.resources,org.apache.jasper.runtime,org.apache.jasper.security,org.apache.jasper.servlet,org.apache.jasper.tagplugins.jstl,org.apache.jasper.tagplugins.jstl.core,org.apache.jasper.util,org.apache.jasper.xmlparser
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.w3c.dom.svg.source' version='1.1.0.v200803081811' singleton='false'>
- <update id='org.w3c.dom.svg.source' range='[0.0.0,1.1.0.v200803081811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='W3C SVG DOM Source Bundle'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.w3c.dom.svg.source' version='1.1.0.v200803081811'/>
- <provided namespace='osgi.bundle' name='org.w3c.dom.svg.source' version='1.1.0.v200803081811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.w3c.dom.svg.source' version='1.1.0.v200803081811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.1.0.v200803081811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.w3c.dom.svg.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.w3c.dom.svg;version="1.1.0.v200803081811"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.commons.lang' version='2.1.0.v200803061811' singleton='false'>
- <update id='org.apache.commons.lang' range='[0.0.0,2.1.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Jakarta Commons Lang'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='11'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.lang' version='2.1.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.commons.lang' version='2.1.0.v200803061811'/>
- <provided namespace='java.package' name='org.apache.commons.lang' version='2.1.0'/>
- <provided namespace='java.package' name='org.apache.commons.lang.builder' version='2.1.0'/>
- <provided namespace='java.package' name='org.apache.commons.lang.enums' version='2.1.0'/>
- <provided namespace='java.package' name='org.apache.commons.lang.exception' version='2.1.0'/>
- <provided namespace='java.package' name='org.apache.commons.lang.math' version='2.1.0'/>
- <provided namespace='java.package' name='org.apache.commons.lang.mutable' version='2.1.0'/>
- <provided namespace='java.package' name='org.apache.commons.lang.time' version='2.1.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.commons.lang' version='2.1.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Version: 2.1.0.v200803061811
-Export-Package: org.apache.commons.lang;version="2.1.0",org.apache.commons.lang.builder;version="2.1.0",org.apache.commons.lang.enums;version="2.1.0",org.apache.commons.lang.exception;version="2.1.0",org.apache.commons.lang.math;version="2.1.0",org.apache.commons.lang.mutable;version="2.1.0",org.apache.commons.lang.time;version="2.1.0"
-Bundle-RequiredExecutionEnvironment: JRE-1.1
-Bundle-SymbolicName: org.apache.commons.lang
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.junit' version='3.8.2.v200803061910' singleton='false'>
- <update id='org.junit' range='[0.0.0,3.8.2.v200803061910)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='JUnit Testing Framework'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='11'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.junit' version='3.8.2.v200803061910'/>
- <provided namespace='osgi.bundle' name='org.junit' version='3.8.2.v200803061910'/>
- <provided namespace='java.package' name='junit.awtui' version='3.8.2'/>
- <provided namespace='java.package' name='junit.extensions' version='3.8.2'/>
- <provided namespace='java.package' name='junit.framework' version='3.8.2'/>
- <provided namespace='java.package' name='junit.runner' version='3.8.2'/>
- <provided namespace='java.package' name='junit.swingui' version='3.8.2'/>
- <provided namespace='java.package' name='junit.swingui.icons' version='3.8.2'/>
- <provided namespace='java.package' name='junit.textui' version='3.8.2'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.junit' version='3.8.2.v200803061910'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='2'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Manifest-Version: 1.0
-Bundle-Version: 3.8.2.v200803061910
-Export-Package: junit.awtui;version="3.8.2",junit.extensions;version="3.8.2",junit.framework;version="3.8.2",junit.runner;version="3.8.2",junit.swingui;version="3.8.2",junit.swingui.icons;version="3.8.2",junit.textui;version="3.8.2"
-Bundle-SymbolicName: org.junit
-Bundle-Localization: plugin
-Bundle-ClassPath: junit.jar
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-
- </instruction>
- <instruction key='zipped'>
- true
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='javax.wsdl15' version='1.5.1.v200705290614' singleton='false'>
- <update id='javax.wsdl15' range='[0.0.0,1.5.1.v200705290614)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
- <property name='df_LT.Bundle-Name.0' value='WSDL4J'/>
- <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
- <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
- </properties>
- <provides size='22'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='javax.wsdl15' version='1.5.1.v200705290614'/>
- <provided namespace='osgi.bundle' name='javax.wsdl15' version='1.5.1.v200705290614'/>
- <provided namespace='java.package' name='com.ibm.wsdl' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.extensions' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.extensions.http' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.extensions.mime' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.extensions.schema' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.extensions.soap' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.factory' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.util' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.util.xml' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.xml' version='0.0.0'/>
- <provided namespace='java.package' name='javax.wsdl' version='0.0.0'/>
- <provided namespace='java.package' name='javax.wsdl.extensions' version='0.0.0'/>
- <provided namespace='java.package' name='javax.wsdl.extensions.http' version='0.0.0'/>
- <provided namespace='java.package' name='javax.wsdl.extensions.mime' version='0.0.0'/>
- <provided namespace='java.package' name='javax.wsdl.extensions.schema' version='0.0.0'/>
- <provided namespace='java.package' name='javax.wsdl.extensions.soap' version='0.0.0'/>
- <provided namespace='java.package' name='javax.wsdl.factory' version='0.0.0'/>
- <provided namespace='java.package' name='javax.wsdl.xml' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='1'>
- <required namespace='osgi.bundle' name='org.apache.xerces' range='[2.8.0,3.0.0)' optional='true'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='javax.wsdl15' version='1.5.1.v200705290614'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Require-Bundle: org.apache.xerces;bundle-version="[2.8.0,3.0.0)";resolution:=optional
-Created-By: 1.4.2 (IBM Corporation)
-Manifest-Version: 1.0
-Bundle-ClassPath: lib/wsdl4j-1.5.1.jar
-Bundle-Vendor: %Bundle-Vendor.0
-Implementation-Title: WSDL4J
-Implementation-Vendor: IBM
-Bundle-Name: %Bundle-Name.0
-Specification-Vendor: IBM (Java Community Process)
-Bundle-Version: 1.5.1.v200705290614
-Specification-Version: 1.1
-Bundle-RequiredExecutionEnvironment: J2SE-1.2
-Export-Package: com.ibm.wsdl,com.ibm.wsdl.extensions,com.ibm.wsdl.extensions.http,com.ibm.wsdl.extensions.mime,com.ibm.wsdl.extensions.schema,com.ibm.wsdl.extensions.soap,com.ibm.wsdl.factory,com.ibm.wsdl.util,com.ibm.wsdl.util.xml,com.ibm.wsdl.xml,javax.wsdl,javax.wsdl.extensions,javax.wsdl.extensions.http,javax.wsdl.extensions.mime,javax.wsdl.extensions.schema,javax.wsdl.extensions.soap,javax.wsdl.factory,javax.wsdl.xml
-Bundle-SymbolicName: javax.wsdl15
-Bundle-Localization: plugin
-Specification-Title: JWSDL
-Implementation-Version: 1.5.1
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.lucene.source' version='1.9.1.v200803061811' singleton='false'>
- <update id='org.apache.lucene.source' range='[0.0.0,1.9.1.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Lucene Source'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.lucene.source' version='1.9.1.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.lucene.source' version='1.9.1.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.lucene.source' version='1.9.1.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.9.1.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.lucene.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.lucene;version="1.9.1.v200803061811"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.batik.transcoder.source' version='1.6.0.v200803061811' singleton='false'>
- <update id='org.apache.batik.transcoder.source' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='Apache Batik Transcoder Source Bundle'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.transcoder.source' version='1.6.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='org.apache.batik.transcoder.source' version='1.6.0.v200803061811'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.batik.transcoder.source' version='1.6.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.6.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.batik.transcoder.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.batik.transcoder;version="1.6.0.v200803061811"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='net.sourceforge.lpg.lpgjavaruntime.source' version='1.1.0.v200803061910' singleton='false'>
- <update id='net.sourceforge.lpg.lpgjavaruntime.source' range='[0.0.0,1.1.0.v200803061910)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.providerName' value='Eclipse.org'/>
- <property name='df_LT.pluginName' value='SourceForge LPG Source Bundle'/>
- <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
- </properties>
- <provides size='4'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='net.sourceforge.lpg.lpgjavaruntime.source' version='1.1.0.v200803061910'/>
- <provided namespace='osgi.bundle' name='net.sourceforge.lpg.lpgjavaruntime.source' version='1.1.0.v200803061910'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='net.sourceforge.lpg.lpgjavaruntime.source' version='1.1.0.v200803061910'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-Version: 1.1.0.v200803061910
-Manifest-Version: 1.0
-Bundle-SymbolicName: net.sourceforge.lpg.lpgjavaruntime.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: net.sourceforge.lpg.lpgjavaruntime;version="1.1.0.v200803061910"
-Bundle-Vendor: %providerName
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.commons.httpclient' version='3.1.0.v200803061910' singleton='false'>
- <update id='org.apache.commons.httpclient' range='[0.0.0,3.1.0.v200803061910)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.bundleName' value='Apache Commons Httpclient Plug-in'/>
- <property name='df_LT.bundleProvider' value='Eclipse.org'/>
- <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
- <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
- </properties>
- <provides size='12'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.httpclient' version='3.1.0.v200803061910'/>
- <provided namespace='osgi.bundle' name='org.apache.commons.httpclient' version='3.1.0.v200803061910'/>
- <provided namespace='java.package' name='org.apache.commons.httpclient' version='3.1.0'/>
- <provided namespace='java.package' name='org.apache.commons.httpclient.auth' version='3.1.0'/>
- <provided namespace='java.package' name='org.apache.commons.httpclient.cookie' version='3.1.0'/>
- <provided namespace='java.package' name='org.apache.commons.httpclient.methods' version='3.1.0'/>
- <provided namespace='java.package' name='org.apache.commons.httpclient.methods.multipart' version='3.1.0'/>
- <provided namespace='java.package' name='org.apache.commons.httpclient.params' version='3.1.0'/>
- <provided namespace='java.package' name='org.apache.commons.httpclient.protocol' version='3.1.0'/>
- <provided namespace='java.package' name='org.apache.commons.httpclient.util' version='3.1.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='8'>
- <required namespace='java.package' name='javax.crypto' range='0.0.0' optional='true'/>
- <required namespace='java.package' name='javax.crypto.spec' range='0.0.0' optional='true'/>
- <required namespace='java.package' name='javax.net' range='0.0.0' optional='true'/>
- <required namespace='java.package' name='javax.net.ssl' range='0.0.0' optional='true'/>
- <required namespace='java.package' name='org.apache.commons.codec' range='[1.2.0,2.0.0)'/>
- <required namespace='java.package' name='org.apache.commons.codec.binary' range='[1.2.0,2.0.0)'/>
- <required namespace='java.package' name='org.apache.commons.codec.net' range='[1.2.0,2.0.0)'/>
- <required namespace='java.package' name='org.apache.commons.logging' range='[1.0.4,2.0.0)'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.commons.httpclient' version='3.1.0.v200803061910'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.2
-Manifest-Version: 1.0
-Bundle-Version: 3.1.0.v200803061910
-Export-Package: org.apache.commons.httpclient;version="3.1.0",org.apache.commons.httpclient.auth;version="3.1.0",org.apache.commons.httpclient.cookie;version="3.1.0",org.apache.commons.httpclient.methods;version="3.1.0",org.apache.commons.httpclient.methods.multipart;version="3.1.0",org.apache.commons.httpclient.params;version="3.1.0",org.apache.commons.httpclient.protocol;version="3.1.0",org.apache.commons.httpclient.util;version="3.1.0"
-Bundle-SymbolicName: org.apache.commons.httpclient
-Import-Package: javax.crypto;resolution:=optional,javax.crypto.spec;resolution:=optional,javax.net;resolution:=optional,javax.net.ssl;resolution:=optional,org.apache.commons.codec;version="[1.2.0,2.0.0)",org.apache.commons.codec.binary;version="[1.2.0,2.0.0)",org.apache.commons.codec.net;version="[1.2.0,2.0.0)",org.apache.commons.logging;version="[1.0.4,2.0.0)"
-Bundle-Localization: plugin
-Bundle-Name: %bundleName
-Bundle-Vendor: %bundleProvider
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='org.apache.xml.resolver' version='1.2.0.v200803061910' singleton='false'>
- <update id='org.apache.xml.resolver' range='[0.0.0,1.2.0.v200803061910)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
- <property name='df_LT.Bundle-Name.0' value='Apache XmlResolver'/>
- <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
- <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
- </properties>
- <provides size='11'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.xml.resolver' version='1.2.0.v200803061910'/>
- <provided namespace='osgi.bundle' name='org.apache.xml.resolver' version='1.2.0.v200803061910'/>
- <provided namespace='java.package' name='org.apache.env' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xml.resolver' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xml.resolver.apps' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xml.resolver.etc' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xml.resolver.helpers' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xml.resolver.readers' version='0.0.0'/>
- <provided namespace='java.package' name='org.apache.xml.resolver.tools' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='1'>
- <required namespace='osgi.bundle' name='org.eclipse.osgi' range='0.0.0'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.apache.xml.resolver' version='1.2.0.v200803061910'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-Vendor: %Bundle-Vendor.0
-Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.2
-Main-Class: org.apache.xml.resolver.apps.resolver
-Require-Bundle: system.bundle
-Bundle-Name: %Bundle-Name.0
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.xml.resolver
-Bundle-Version: 1.2.0.v200803061910
-Export-Package: org.apache.env,org.apache.xml.resolver,org.apache.xml.resolver.apps,org.apache.xml.resolver.etc,org.apache.xml.resolver.helpers,org.apache.xml.resolver.readers,org.apache.xml.resolver.tools
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- </units>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/org.eclipse.jdt.3.2.1.patch_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/org.eclipse.jdt.3.2.1.patch_1.0.0.jar
deleted file mode 100644
index 3b134bc..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/org.eclipse.jdt.3.2.1.patch_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/aaa_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/aaa_1.0.0.jar
deleted file mode 100644
index 56fc4a8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/aaa_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/bbb.linux_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/bbb.linux_1.0.0.jar
deleted file mode 100644
index eb571ec..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/bbb.linux_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/bbb.win32_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/bbb.win32_1.0.0.jar
deleted file mode 100644
index 0d13cdc..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/bbb.win32_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/bbb_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/bbb_1.0.0.jar
deleted file mode 100644
index 97cfbc5..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/bbb_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/ccc_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/ccc_1.0.0.jar
deleted file mode 100644
index 328d9ad..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/ccc_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/ccc_2.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/ccc_2.0.0.jar
deleted file mode 100644
index 9213cb8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/ccc_2.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/repositoryListener/oldBundleDirectory/plugin.xml b/bundles/org.eclipse.equinox.p2.tests/testData/repositoryListener/oldBundleDirectory/plugin.xml
deleted file mode 100644
index 1ef8fd8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/repositoryListener/oldBundleDirectory/plugin.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin id="oldBundleDirectory" name="test plug-in" version="1.0.0">
-
- <runtime>
- <library name=".">
- <export name="*"/>
- </library>
- </runtime>
-</plugin>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/repositoryListener/oldBundleDirectoryTwo/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/repositoryListener/oldBundleDirectoryTwo/META-INF/MANIFEST.MF
deleted file mode 100644
index fbd4c43..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/repositoryListener/oldBundleDirectoryTwo/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,2 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/repositoryListener/oldBundleDirectoryTwo/plugin.xml b/bundles/org.eclipse.equinox.p2.tests/testData/repositoryListener/oldBundleDirectoryTwo/plugin.xml
deleted file mode 100644
index 54a7fa7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/repositoryListener/oldBundleDirectoryTwo/plugin.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin id="oldBundleDirectoryTwo" name="test plug-in" version="1.0.0">
-
- <runtime>
- <library name=".">
- <export name="*"/>
- </library>
- </runtime>
-</plugin>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/repositoryListener/oldBundleJAR.jar b/bundles/org.eclipse.equinox.p2.tests/testData/repositoryListener/oldBundleJAR.jar
deleted file mode 100644
index 26f01e8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/repositoryListener/oldBundleJAR.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/repositoryListener/oldBundleJARTwo.jar b/bundles/org.eclipse.equinox.p2.tests/testData/repositoryListener/oldBundleJARTwo.jar
deleted file mode 100644
index 2cb2d74..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/repositoryListener/oldBundleJARTwo.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/Feature240121/.project b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/Feature240121/.project
deleted file mode 100644
index 6113ec7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/Feature240121/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>Feature240121</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.FeatureBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.FeatureNature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/Feature240121/build.properties b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/Feature240121/build.properties
deleted file mode 100644
index 64f93a9..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/Feature240121/build.properties
+++ /dev/null
@@ -1 +0,0 @@
-bin.includes = feature.xml
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/Feature240121/feature.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/Feature240121/feature.xml
deleted file mode 100644
index 6c5a8ad..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/Feature240121/feature.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
- id="Feature240121"
- label="Feature240121 Feature"
- version="1.0.0">
-
- <description url="http://www.example.com/description">
- [Enter Feature Description here.]
- </description>
-
- <copyright url="http://www.example.com/copyright">
- [Enter Copyright Description here.]
- </copyright>
-
- <license url="http://www.example.com/license">
- [Enter License Description here.]
- </license>
-
- <plugin
- id="Plugin240121"
- download-size="0"
- install-size="0"
- version="0.94"
- unpack="false"/>
-
-</feature>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/UpdateSite240121/.project b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/UpdateSite240121/.project
deleted file mode 100644
index b68ffd3..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/UpdateSite240121/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>UpdateSite240121</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.UpdateSiteBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.UpdateSiteNature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/UpdateSite240121/features/Feature240121_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/UpdateSite240121/features/Feature240121_1.0.0.jar
deleted file mode 100644
index 8810c66..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/UpdateSite240121/features/Feature240121_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/UpdateSite240121/plugins/Plugin240121_0.94.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/UpdateSite240121/plugins/Plugin240121_0.94.0.jar
deleted file mode 100644
index ca2004b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/UpdateSite240121/plugins/Plugin240121_0.94.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/UpdateSite240121/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/UpdateSite240121/site.xml
deleted file mode 100644
index d408b0a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/UpdateSite240121/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
- <feature url="features/Feature240121_1.0.0.jar" id="Feature240121" version="1.0.0"/>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/UpdateSite243422/features/org.eclipse.jdt.astview.feature_1.0.1.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/UpdateSite243422/features/org.eclipse.jdt.astview.feature_1.0.1.jar
deleted file mode 100644
index 6beb68f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/UpdateSite243422/features/org.eclipse.jdt.astview.feature_1.0.1.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/UpdateSite243422/plugins/org.eclipse.jdt.astview_1.0.1.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/UpdateSite243422/plugins/org.eclipse.jdt.astview_1.0.1.jar
deleted file mode 100644
index 3c1c8d3..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/UpdateSite243422/plugins/org.eclipse.jdt.astview_1.0.1.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/UpdateSite243422/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/UpdateSite243422/site.xml
deleted file mode 100644
index 5ff2ef2..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/UpdateSite243422/site.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
- <description url="http://www.eclipse.org/jdt/ui/update-site">
- Update site for JDT UI
- </description>
- <feature url="features/org.eclipse.jdt.astview.feature_1.0.1.jar" id="org.eclipse.jdt.astview.feature" version="1.0.1">
- <category name="ast-view-for-3.0"/>
- </feature>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badSiteXML/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badSiteXML/site.xml
deleted file mode 100644
index ac2ec19..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badSiteXML/site.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestbadsite/digest/digest.zip b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestbadsite/digest/digest.zip
deleted file mode 100644
index 35a4c23..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestbadsite/digest/digest.zip
+++ /dev/null
@@ -1,3 +0,0 @@
-<html>
-<body>file not found - bad digest test</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestbadsite/features/test.feature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestbadsite/features/test.feature_1.0.0.jar
deleted file mode 100644
index 80bbc69..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestbadsite/features/test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestbadsite/plugins/test.bundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestbadsite/plugins/test.bundle_1.0.0.jar
deleted file mode 100644
index 00dd829..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestbadsite/plugins/test.bundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestbadsite/plugins/test.fragment_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestbadsite/plugins/test.fragment_1.0.0.jar
deleted file mode 100644
index d033e2e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestbadsite/plugins/test.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestbadsite/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestbadsite/site.xml
deleted file mode 100644
index b39e2c5..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestbadsite/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site -- BADBAD
- <feature url="features/test.feature_1.0.0.jar" id="test.feature" version="1.0.0"/>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestgoodsite/digest/digest.zip b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestgoodsite/digest/digest.zip
deleted file mode 100644
index 35a4c23..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestgoodsite/digest/digest.zip
+++ /dev/null
@@ -1,3 +0,0 @@
-<html>
-<body>file not found - bad digest test</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestgoodsite/features/test.feature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestgoodsite/features/test.feature_1.0.0.jar
deleted file mode 100644
index 80bbc69..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestgoodsite/features/test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestgoodsite/plugins/test.bundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestgoodsite/plugins/test.bundle_1.0.0.jar
deleted file mode 100644
index 00dd829..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestgoodsite/plugins/test.bundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestgoodsite/plugins/test.fragment_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestgoodsite/plugins/test.fragment_1.0.0.jar
deleted file mode 100644
index d033e2e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestgoodsite/plugins/test.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestgoodsite/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestgoodsite/site.xml
deleted file mode 100644
index 4e61977..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestgoodsite/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
- <feature url="features/test.feature_1.0.0.jar" id="test.feature" version="1.0.0"/>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badfeatureurl/features/test.feature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badfeatureurl/features/test.feature_1.0.0.jar
deleted file mode 100644
index 80bbc69..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badfeatureurl/features/test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badfeatureurl/plugins/test.bundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badfeatureurl/plugins/test.bundle_1.0.0.jar
deleted file mode 100644
index 00dd829..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badfeatureurl/plugins/test.bundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badfeatureurl/plugins/test.fragment_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badfeatureurl/plugins/test.fragment_1.0.0.jar
deleted file mode 100644
index d033e2e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badfeatureurl/plugins/test.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badfeatureurl/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badfeatureurl/site.xml
deleted file mode 100644
index 3007bad..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badfeatureurl/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
- <feature url="featuresx/test.feature_1.0.0.jar" id="test.feature" version="1.0.0"/>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badincludedfeaturearchive/features/test.feature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badincludedfeaturearchive/features/test.feature_1.0.0.jar
deleted file mode 100644
index fbef2c7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badincludedfeaturearchive/features/test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badincludedfeaturearchive/features/test.featureincluder_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badincludedfeaturearchive/features/test.featureincluder_1.0.0.jar
deleted file mode 100644
index c086ab2..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badincludedfeaturearchive/features/test.featureincluder_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badincludedfeaturearchive/plugins/test.bundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badincludedfeaturearchive/plugins/test.bundle_1.0.0.jar
deleted file mode 100644
index e057d92..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badincludedfeaturearchive/plugins/test.bundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badincludedfeaturearchive/plugins/test.fragment_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badincludedfeaturearchive/plugins/test.fragment_1.0.0.jar
deleted file mode 100644
index 9a78500..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badincludedfeaturearchive/plugins/test.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badincludedfeaturearchive/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badincludedfeaturearchive/site.xml
deleted file mode 100644
index 05dd053..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badincludedfeaturearchive/site.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
- <feature url="features/test.featureincluder_1.0.0.jar" id="test.featureincluder" version="1.0.0"/>
- <archive path="features/test.feature_1.0.0.jar" url="featuresx/test.feature_1.0.0.jar"/>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/digest.zip b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/digest.zip
deleted file mode 100644
index 71fab71..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/digest.zip
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/features-usedigestinstead/test.feature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/features-usedigestinstead/test.feature_1.0.0.jar
deleted file mode 100644
index 80bbc69..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/features-usedigestinstead/test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/plugins/test.bundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/plugins/test.bundle_1.0.0.jar
deleted file mode 100644
index 00dd829..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/plugins/test.bundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/plugins/test.fragment_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/plugins/test.fragment_1.0.0.jar
deleted file mode 100644
index d033e2e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/plugins/test.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/site.xml
deleted file mode 100644
index 4e61977..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
- <feature url="features/test.feature_1.0.0.jar" id="test.feature" version="1.0.0"/>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl/digesturl/digest.zip b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl/digesturl/digest.zip
deleted file mode 100644
index 71fab71..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl/digesturl/digest.zip
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl/features-usedigestinstead/test.feature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl/features-usedigestinstead/test.feature_1.0.0.jar
deleted file mode 100644
index 80bbc69..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl/features-usedigestinstead/test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl/plugins/test.bundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl/plugins/test.bundle_1.0.0.jar
deleted file mode 100644
index 00dd829..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl/plugins/test.bundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl/plugins/test.fragment_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl/plugins/test.fragment_1.0.0.jar
deleted file mode 100644
index d033e2e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl/plugins/test.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl/site.xml
deleted file mode 100644
index 8112702..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site digestURL="digesturl/">
- <feature url="features/test.feature_1.0.0.jar" id="test.feature" version="1.0.0"/>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl2/digesturl/digest.zip b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl2/digesturl/digest.zip
deleted file mode 100644
index 71fab71..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl2/digesturl/digest.zip
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl2/features-usedigestinstead/test.feature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl2/features-usedigestinstead/test.feature_1.0.0.jar
deleted file mode 100644
index 80bbc69..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl2/features-usedigestinstead/test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl2/plugins/test.bundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl2/plugins/test.bundle_1.0.0.jar
deleted file mode 100644
index 00dd829..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl2/plugins/test.bundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl2/plugins/test.fragment_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl2/plugins/test.fragment_1.0.0.jar
deleted file mode 100644
index d033e2e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl2/plugins/test.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl2/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl2/site.xml
deleted file mode 100644
index 4e61977..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl2/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
- <feature url="features/test.feature_1.0.0.jar" id="test.feature" version="1.0.0"/>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/goodfeatureurl/featuresx/test.feature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/goodfeatureurl/featuresx/test.feature_1.0.0.jar
deleted file mode 100644
index 80bbc69..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/goodfeatureurl/featuresx/test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/goodfeatureurl/plugins/test.bundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/goodfeatureurl/plugins/test.bundle_1.0.0.jar
deleted file mode 100644
index 00dd829..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/goodfeatureurl/plugins/test.bundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/goodfeatureurl/plugins/test.fragment_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/goodfeatureurl/plugins/test.fragment_1.0.0.jar
deleted file mode 100644
index d033e2e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/goodfeatureurl/plugins/test.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/goodfeatureurl/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/goodfeatureurl/site.xml
deleted file mode 100644
index 3007bad..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/goodfeatureurl/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
- <feature url="featuresx/test.feature_1.0.0.jar" id="test.feature" version="1.0.0"/>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeature/features/test.feature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeature/features/test.feature_1.0.0.jar
deleted file mode 100644
index fbef2c7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeature/features/test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeature/features/test.featureincluder_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeature/features/test.featureincluder_1.0.0.jar
deleted file mode 100644
index c086ab2..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeature/features/test.featureincluder_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeature/plugins/test.bundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeature/plugins/test.bundle_1.0.0.jar
deleted file mode 100644
index e057d92..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeature/plugins/test.bundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeature/plugins/test.fragment_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeature/plugins/test.fragment_1.0.0.jar
deleted file mode 100644
index 9a78500..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeature/plugins/test.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeature/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeature/site.xml
deleted file mode 100644
index a0c959e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeature/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
- <feature url="features/test.featureincluder_1.0.0.jar" id="test.featureincluder" version="1.0.0"/>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeaturearchive/features/test.featureincluder_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeaturearchive/features/test.featureincluder_1.0.0.jar
deleted file mode 100644
index c086ab2..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeaturearchive/features/test.featureincluder_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeaturearchive/featuresx/test.feature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeaturearchive/featuresx/test.feature_1.0.0.jar
deleted file mode 100644
index fbef2c7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeaturearchive/featuresx/test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeaturearchive/plugins/test.bundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeaturearchive/plugins/test.bundle_1.0.0.jar
deleted file mode 100644
index e057d92..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeaturearchive/plugins/test.bundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeaturearchive/plugins/test.fragment_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeaturearchive/plugins/test.fragment_1.0.0.jar
deleted file mode 100644
index 9a78500..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeaturearchive/plugins/test.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeaturearchive/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeaturearchive/site.xml
deleted file mode 100644
index 05dd053..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeaturearchive/site.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
- <feature url="features/test.featureincluder_1.0.0.jar" id="test.featureincluder" version="1.0.0"/>
- <archive path="features/test.feature_1.0.0.jar" url="featuresx/test.feature_1.0.0.jar"/>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/features/test.feature2_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/features/test.feature2_1.0.0.jar
deleted file mode 100644
index e51708c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/features/test.feature2_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/features/test.feature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/features/test.feature_1.0.0.jar
deleted file mode 100644
index 9bab88b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/features/test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/features/test.featureincluder_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/features/test.featureincluder_1.0.0.jar
deleted file mode 100644
index 842f9da..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/features/test.featureincluder_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/plugins/test.bundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/plugins/test.bundle_1.0.0.jar
deleted file mode 100644
index 31f55a5..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/plugins/test.bundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/plugins/test.fragment_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/plugins/test.fragment_1.0.0.jar
deleted file mode 100644
index 5b99b87..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/plugins/test.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/site.xml
deleted file mode 100644
index fbd1439..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/site.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
- <feature url="features/test.feature_1.0.0.jar"/>
- <feature url="features/test.feature2_1.0.0.jar"/>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site/features/test.feature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site/features/test.feature_1.0.0.jar
deleted file mode 100644
index 80bbc69..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site/features/test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site/plugins/test.bundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site/plugins/test.bundle_1.0.0.jar
deleted file mode 100644
index 00dd829..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site/plugins/test.bundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site/plugins/test.fragment_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site/plugins/test.fragment_1.0.0.jar
deleted file mode 100644
index d033e2e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site/plugins/test.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site/site.xml
deleted file mode 100644
index 4e61977..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
- <feature url="features/test.feature_1.0.0.jar" id="test.feature" version="1.0.0"/>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl/site.xml
deleted file mode 100644
index 7056cac..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site url="siteurl">
- <feature url="features/test.feature_1.0.0.jar" id="test.feature" version="1.0.0"/>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl/siteurl/features/test.feature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl/siteurl/features/test.feature_1.0.0.jar
deleted file mode 100644
index 80bbc69..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl/siteurl/features/test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl/siteurl/plugins/test.bundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl/siteurl/plugins/test.bundle_1.0.0.jar
deleted file mode 100644
index 00dd829..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl/siteurl/plugins/test.bundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl/siteurl/plugins/test.fragment_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl/siteurl/plugins/test.fragment_1.0.0.jar
deleted file mode 100644
index d033e2e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl/siteurl/plugins/test.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl2/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl2/site.xml
deleted file mode 100644
index 4e61977..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl2/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
- <feature url="features/test.feature_1.0.0.jar" id="test.feature" version="1.0.0"/>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl2/siteurl/features/test.feature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl2/siteurl/features/test.feature_1.0.0.jar
deleted file mode 100644
index 80bbc69..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl2/siteurl/features/test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl2/siteurl/plugins/test.bundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl2/siteurl/plugins/test.bundle_1.0.0.jar
deleted file mode 100644
index 00dd829..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl2/siteurl/plugins/test.bundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl2/siteurl/plugins/test.fragment_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl2/siteurl/plugins/test.fragment_1.0.0.jar
deleted file mode 100644
index d033e2e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl2/siteurl/plugins/test.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/xxxsitexxx/features/test.feature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/xxxsitexxx/features/test.feature_1.0.0.jar
deleted file mode 100644
index 80bbc69..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/xxxsitexxx/features/test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/xxxsitexxx/plugins/test.bundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/xxxsitexxx/plugins/test.bundle_1.0.0.jar
deleted file mode 100644
index 00dd829..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/xxxsitexxx/plugins/test.bundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/xxxsitexxx/plugins/test.fragment_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/xxxsitexxx/plugins/test.fragment_1.0.0.jar
deleted file mode 100644
index d033e2e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/xxxsitexxx/plugins/test.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/xxxsitexxx/xxxsitexxx.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/xxxsitexxx/xxxsitexxx.xml
deleted file mode 100644
index 4e61977..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/xxxsitexxx/xxxsitexxx.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
- <feature url="features/test.feature_1.0.0.jar" id="test.feature" version="1.0.0"/>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/wsdlTestRepo/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/wsdlTestRepo/content.xml
deleted file mode 100644
index ae107ac..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/wsdlTestRepo/content.xml
+++ /dev/null
@@ -1,359 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?metadataRepository class='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'?>
-<repository name='WSDL REPO' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'>
- <properties size='1'>
- <property name='p2.timestamp' value='1208626797360'/>
- </properties>
- <units size='7'>
- <unit id='tooling.source.default' version='1.0.0' singleton='false'>
- <hostRequirements size='1'>
- <required namespace='org.eclipse.equinox.p2.eclipse.type' name='source' range='0.0.0' optional='true' multiple='true' greedy='false'/>
- </hostRequirements>
- <properties size='1'>
- <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
- </properties>
- <provides size='2'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='tooling.source.default' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>
- </provides>
- <requires size='1'>
- <required namespace='org.eclipse.equinox.p2.eclipse.type' name='source' range='0.0.0' optional='true' multiple='true' greedy='false'/>
- </requires>
- <touchpoint id='null' version='0.0.0'/>
- <touchpointData size='1'>
- <instructions size='2'>
- <instruction key='install'>
- addSourceBundle(bundle:${artifact})
- </instruction>
- <instruction key='uninstall'>
- removeSourceBundle(bundle:${artifact})
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='tooling.osgi.bundle.default' version='1.0.0' singleton='false'>
- <hostRequirements size='1'>
- <required namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' range='0.0.0' multiple='true' greedy='false'/>
- </hostRequirements>
- <properties size='1'>
- <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
- </properties>
- <provides size='2'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='tooling.osgi.bundle.default' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>
- </provides>
- <requires size='1'>
- <required namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' range='0.0.0' multiple='true' greedy='false'/>
- </requires>
- <touchpoint id='null' version='0.0.0'/>
- <touchpointData size='1'>
- <instructions size='4'>
- <instruction key='install'>
- installBundle(bundle:${artifact})
- </instruction>
- <instruction key='uninstall'>
- uninstallBundle(bundle:${artifact})
- </instruction>
- <instruction key='unconfigure'>
-
- </instruction>
- <instruction key='configure'>
- setStartLevel(startLevel:4);
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='javax.wsdl' version='1.4.0.v200803061811' singleton='false'>
- <update id='javax.wsdl' range='[0.0.0,1.4.0.v200803061811)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
- <property name='df_LT.Bundle-Name.0' value='WSDL4J'/>
- <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
- <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
- </properties>
- <provides size='20'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='javax.wsdl' version='1.4.0.v200803061811'/>
- <provided namespace='osgi.bundle' name='javax.wsdl' version='1.4.0.v200803061811'/>
- <provided namespace='java.package' name='com.ibm.wsdl' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.extensions' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.extensions.http' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.extensions.mime' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.extensions.soap' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.factory' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.util' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.util.xml' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.xml' version='0.0.0'/>
- <provided namespace='java.package' name='javax.wsdl' version='0.0.0'/>
- <provided namespace='java.package' name='javax.wsdl.extensions' version='0.0.0'/>
- <provided namespace='java.package' name='javax.wsdl.extensions.http' version='0.0.0'/>
- <provided namespace='java.package' name='javax.wsdl.extensions.mime' version='0.0.0'/>
- <provided namespace='java.package' name='javax.wsdl.extensions.soap' version='0.0.0'/>
- <provided namespace='java.package' name='javax.wsdl.factory' version='0.0.0'/>
- <provided namespace='java.package' name='javax.wsdl.xml' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='1'>
- <required namespace='osgi.bundle' name='org.apache.xerces' range='[2.8.0,3.0.0)' optional='true'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='javax.wsdl' version='1.4.0.v200803061811'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.2
-Require-Bundle: org.apache.xerces;bundle-version="[2.8.0,3.0.0)";resolution:=optional
-Manifest-Version: 1.0
-Bundle-Version: 1.4.0.v200803061811
-Export-Package: com.ibm.wsdl,com.ibm.wsdl.extensions,com.ibm.wsdl.extensions.http,com.ibm.wsdl.extensions.mime,com.ibm.wsdl.extensions.soap,com.ibm.wsdl.factory,com.ibm.wsdl.util,com.ibm.wsdl.util.xml,com.ibm.wsdl.xml,javax.wsdl,javax.wsdl.extensions,javax.wsdl.extensions.http,javax.wsdl.extensions.mime,javax.wsdl.extensions.soap,javax.wsdl.factory,javax.wsdl.xml
-Bundle-SymbolicName: javax.wsdl
-Bundle-Localization: plugin
-Bundle-Name: %Bundle-Name.0
-Bundle-Vendor: %Bundle-Vendor.0
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='tooling.org.eclipse.update.feature.default' version='1.0.0' singleton='false'>
- <hostRequirements size='1'>
- <required namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' range='0.0.0' optional='true' multiple='true' greedy='false'/>
- </hostRequirements>
- <properties size='1'>
- <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
- </properties>
- <provides size='2'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='tooling.org.eclipse.update.feature.default' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>
- </provides>
- <requires size='1'>
- <required namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' range='0.0.0' optional='true' multiple='true' greedy='false'/>
- </requires>
- <filter>
- (org.eclipse.update.install.features=true)
- </filter>
- <touchpoint id='null' version='0.0.0'/>
- <touchpointData size='1'>
- <instructions size='2'>
- <instruction key='install'>
- installFeature(feature:${artifact},featureId:default,featureVersion:default)
- </instruction>
- <instruction key='uninstall'>
- uninstallFeature(feature:${artifact},featureId:default,featureVersion:default)
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='config.a.jre' version='1.6.0' singleton='false'>
- <hostRequirements size='1'>
- <required namespace='org.eclipse.equinox.p2.iu' name='a.jre' range='1.6.0'/>
- </hostRequirements>
- <properties size='1'>
- <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
- </properties>
- <provides size='1'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='config.a.jre' version='1.6.0'/>
- </provides>
- <requires size='1'>
- <required namespace='org.eclipse.equinox.p2.iu' name='a.jre' range='1.6.0'/>
- </requires>
- <touchpoint id='org.eclipse.equinox.p2.native' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='install'>
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- <unit id='a.jre' version='1.6.0' singleton='false'>
- <provides size='117'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='a.jre' version='1.6.0'/>
- <provided namespace='java.package' name='javax.accessibility' version='0.0.0'/>
- <provided namespace='java.package' name='javax.activity' version='0.0.0'/>
- <provided namespace='java.package' name='javax.crypto' version='0.0.0'/>
- <provided namespace='java.package' name='javax.crypto.interfaces' version='0.0.0'/>
- <provided namespace='java.package' name='javax.crypto.spec' version='0.0.0'/>
- <provided namespace='java.package' name='javax.imageio' version='0.0.0'/>
- <provided namespace='java.package' name='javax.imageio.event' version='0.0.0'/>
- <provided namespace='java.package' name='javax.imageio.metadata' version='0.0.0'/>
- <provided namespace='java.package' name='javax.imageio.plugins.bmp' version='0.0.0'/>
- <provided namespace='java.package' name='javax.imageio.plugins.jpeg' version='0.0.0'/>
- <provided namespace='java.package' name='javax.imageio.spi' version='0.0.0'/>
- <provided namespace='java.package' name='javax.imageio.stream' version='0.0.0'/>
- <provided namespace='java.package' name='javax.management' version='0.0.0'/>
- <provided namespace='java.package' name='javax.management.loading' version='0.0.0'/>
- <provided namespace='java.package' name='javax.management.modelmbean' version='0.0.0'/>
- <provided namespace='java.package' name='javax.management.monitor' version='0.0.0'/>
- <provided namespace='java.package' name='javax.management.openmbean' version='0.0.0'/>
- <provided namespace='java.package' name='javax.management.relation' version='0.0.0'/>
- <provided namespace='java.package' name='javax.management.remote' version='0.0.0'/>
- <provided namespace='java.package' name='javax.management.remote.rmi' version='0.0.0'/>
- <provided namespace='java.package' name='javax.management.timer' version='0.0.0'/>
- <provided namespace='java.package' name='javax.naming' version='0.0.0'/>
- <provided namespace='java.package' name='javax.naming.directory' version='0.0.0'/>
- <provided namespace='java.package' name='javax.naming.event' version='0.0.0'/>
- <provided namespace='java.package' name='javax.naming.ldap' version='0.0.0'/>
- <provided namespace='java.package' name='javax.naming.spi' version='0.0.0'/>
- <provided namespace='java.package' name='javax.net' version='0.0.0'/>
- <provided namespace='java.package' name='javax.net.ssl' version='0.0.0'/>
- <provided namespace='java.package' name='javax.print' version='0.0.0'/>
- <provided namespace='java.package' name='javax.print.attribute' version='0.0.0'/>
- <provided namespace='java.package' name='javax.print.attribute.standard' version='0.0.0'/>
- <provided namespace='java.package' name='javax.print.event' version='0.0.0'/>
- <provided namespace='java.package' name='javax.rmi' version='0.0.0'/>
- <provided namespace='java.package' name='javax.rmi.CORBA' version='0.0.0'/>
- <provided namespace='java.package' name='javax.rmi.ssl' version='0.0.0'/>
- <provided namespace='java.package' name='javax.security.auth' version='0.0.0'/>
- <provided namespace='java.package' name='javax.security.auth.callback' version='0.0.0'/>
- <provided namespace='java.package' name='javax.security.auth.kerberos' version='0.0.0'/>
- <provided namespace='java.package' name='javax.security.auth.login' version='0.0.0'/>
- <provided namespace='java.package' name='javax.security.auth.spi' version='0.0.0'/>
- <provided namespace='java.package' name='javax.security.auth.x500' version='0.0.0'/>
- <provided namespace='java.package' name='javax.security.cert' version='0.0.0'/>
- <provided namespace='java.package' name='javax.security.sasl' version='0.0.0'/>
- <provided namespace='java.package' name='javax.sound.midi' version='0.0.0'/>
- <provided namespace='java.package' name='javax.sound.midi.spi' version='0.0.0'/>
- <provided namespace='java.package' name='javax.sound.sampled' version='0.0.0'/>
- <provided namespace='java.package' name='javax.sound.sampled.spi' version='0.0.0'/>
- <provided namespace='java.package' name='javax.sql' version='0.0.0'/>
- <provided namespace='java.package' name='javax.sql.rowset' version='0.0.0'/>
- <provided namespace='java.package' name='javax.sql.rowset.serial' version='0.0.0'/>
- <provided namespace='java.package' name='javax.sql.rowset.spi' version='0.0.0'/>
- <provided namespace='java.package' name='javax.swing' version='0.0.0'/>
- <provided namespace='java.package' name='javax.swing.border' version='0.0.0'/>
- <provided namespace='java.package' name='javax.swing.colorchooser' version='0.0.0'/>
- <provided namespace='java.package' name='javax.swing.event' version='0.0.0'/>
- <provided namespace='java.package' name='javax.swing.filechooser' version='0.0.0'/>
- <provided namespace='java.package' name='javax.swing.plaf' version='0.0.0'/>
- <provided namespace='java.package' name='javax.swing.plaf.basic' version='0.0.0'/>
- <provided namespace='java.package' name='javax.swing.plaf.metal' version='0.0.0'/>
- <provided namespace='java.package' name='javax.swing.plaf.multi' version='0.0.0'/>
- <provided namespace='java.package' name='javax.swing.plaf.synth' version='0.0.0'/>
- <provided namespace='java.package' name='javax.swing.table' version='0.0.0'/>
- <provided namespace='java.package' name='javax.swing.text' version='0.0.0'/>
- <provided namespace='java.package' name='javax.swing.text.html' version='0.0.0'/>
- <provided namespace='java.package' name='javax.swing.text.html.parser' version='0.0.0'/>
- <provided namespace='java.package' name='javax.swing.text.rtf' version='0.0.0'/>
- <provided namespace='java.package' name='javax.swing.tree' version='0.0.0'/>
- <provided namespace='java.package' name='javax.swing.undo' version='0.0.0'/>
- <provided namespace='java.package' name='javax.transaction' version='0.0.0'/>
- <provided namespace='java.package' name='javax.transaction.xa' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.datatype' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.namespace' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.parsers' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.transform' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.transform.dom' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.transform.sax' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.transform.stream' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.validation' version='0.0.0'/>
- <provided namespace='java.package' name='javax.xml.xpath' version='0.0.0'/>
- <provided namespace='java.package' name='org.ietf.jgss' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.CORBA' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.CORBA_2_3' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.CORBA_2_3.portable' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.CORBA.DynAnyPackage' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.CORBA.ORBPackage' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.CORBA.portable' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.CORBA.TypeCodePackage' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.CosNaming' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.CosNaming.NamingContextExtPackage' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.CosNaming.NamingContextPackage' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.Dynamic' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.DynamicAny' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.DynamicAny.DynAnyFactoryPackage' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.DynamicAny.DynAnyPackage' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.IOP' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.IOP.CodecFactoryPackage' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.IOP.CodecPackage' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.Messaging' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.PortableInterceptor' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.PortableInterceptor.ORBInitInfoPackage' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.PortableServer' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.PortableServer.CurrentPackage' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.PortableServer.POAManagerPackage' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.PortableServer.POAPackage' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.PortableServer.portable' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.PortableServer.ServantLocatorPackage' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.SendingContext' version='0.0.0'/>
- <provided namespace='java.package' name='org.omg.stub.java.rmi' version='0.0.0'/>
- <provided namespace='java.package' name='org.w3c.dom' version='0.0.0'/>
- <provided namespace='java.package' name='org.w3c.dom.bootstrap' version='0.0.0'/>
- <provided namespace='java.package' name='org.w3c.dom.events' version='0.0.0'/>
- <provided namespace='java.package' name='org.w3c.dom.ls' version='0.0.0'/>
- <provided namespace='java.package' name='org.xml.sax' version='0.0.0'/>
- <provided namespace='java.package' name='org.xml.sax.ext' version='0.0.0'/>
- <provided namespace='java.package' name='org.xml.sax.helpers' version='0.0.0'/>
- </provides>
- <touchpoint id='org.eclipse.equinox.p2.native' version='1.0.0'/>
- </unit>
- <unit id='javax.wsdl' version='1.5.1.v200803061910' singleton='false'>
- <update id='javax.wsdl' range='[0.0.0,1.5.1.v200803061910)' severity='0'/>
- <properties size='4'>
- <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
- <property name='df_LT.Bundle-Name.0' value='WSDL4J'/>
- <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
- <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
- </properties>
- <provides size='22'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='javax.wsdl' version='1.5.1.v200803061910'/>
- <provided namespace='osgi.bundle' name='javax.wsdl' version='1.5.1.v200803061910'/>
- <provided namespace='java.package' name='com.ibm.wsdl' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.extensions' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.extensions.http' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.extensions.mime' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.extensions.schema' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.extensions.soap' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.factory' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.util' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.util.xml' version='0.0.0'/>
- <provided namespace='java.package' name='com.ibm.wsdl.xml' version='0.0.0'/>
- <provided namespace='java.package' name='javax.wsdl' version='0.0.0'/>
- <provided namespace='java.package' name='javax.wsdl.extensions' version='0.0.0'/>
- <provided namespace='java.package' name='javax.wsdl.extensions.http' version='0.0.0'/>
- <provided namespace='java.package' name='javax.wsdl.extensions.mime' version='0.0.0'/>
- <provided namespace='java.package' name='javax.wsdl.extensions.schema' version='0.0.0'/>
- <provided namespace='java.package' name='javax.wsdl.extensions.soap' version='0.0.0'/>
- <provided namespace='java.package' name='javax.wsdl.factory' version='0.0.0'/>
- <provided namespace='java.package' name='javax.wsdl.xml' version='0.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
- <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
- </provides>
- <requires size='1'>
- <required namespace='osgi.bundle' name='org.apache.xerces' range='[2.8.0,3.0.0)' optional='true'/>
- </requires>
- <artifacts size='1'>
- <artifact classifier='osgi.bundle' id='javax.wsdl' version='1.5.1.v200803061910'/>
- </artifacts>
- <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
- <touchpointData size='1'>
- <instructions size='1'>
- <instruction key='manifest'>
- Implementation-Vendor: IBM
-Bundle-Version: 1.5.1.v200803061910
-Specification-Title: JWSDL
-Implementation-Title: WSDL4J
-Export-Package: com.ibm.wsdl,com.ibm.wsdl.extensions,com.ibm.wsdl.extensions.http,com.ibm.wsdl.extensions.mime,com.ibm.wsdl.extensions.schema,com.ibm.wsdl.extensions.soap,com.ibm.wsdl.factory,com.ibm.wsdl.util,com.ibm.wsdl.util.xml,com.ibm.wsdl.xml,javax.wsdl,javax.wsdl.extensions,javax.wsdl.extensions.http,javax.wsdl.extensions.mime,javax.wsdl.extensions.schema,javax.wsdl.extensions.soap,javax.wsdl.factory,javax.wsdl.xml
-Manifest-Version: 1.0
-Bundle-RequiredExecutionEnvironment: J2SE-1.2
-Require-Bundle: org.apache.xerces;bundle-version="[2.8.0,3.0.0)";resolution:=optional
-Bundle-Localization: plugin
-Bundle-SymbolicName: javax.wsdl
-Created-By: 1.4.2 (IBM Corporation)
-Specification-Version: 1.1
-Implementation-Version: 1.5.1
-Specification-Vendor: IBM (Java Community Process)
-Bundle-Vendor: %Bundle-Vendor.0
-Bundle-Name: %Bundle-Name.0
-Bundle-ManifestVersion: 2
-
- </instruction>
- </instructions>
- </touchpointData>
- </unit>
- </units>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tools/.classpath b/bundles/org.eclipse.equinox.p2.tools/.classpath
deleted file mode 100644
index 6f3b481..0000000
--- a/bundles/org.eclipse.equinox.p2.tools/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.1%Foundation-1.1"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.tools/.cvsignore b/bundles/org.eclipse.equinox.p2.tools/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/bundles/org.eclipse.equinox.p2.tools/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tools/.project b/bundles/org.eclipse.equinox.p2.tools/.project
deleted file mode 100644
index abbf609..0000000
--- a/bundles/org.eclipse.equinox.p2.tools/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.equinox.p2.tools</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.tools/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.tools/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 46aa817..0000000
--- a/bundles/org.eclipse.equinox.p2.tools/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,343 +0,0 @@
-#Fri Feb 22 11:11:17 EST 2008
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.tools/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.tools/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 8d299d8..0000000
--- a/bundles/org.eclipse.equinox.p2.tools/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:58:57 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.tools/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.tools/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 7dc0477..0000000
--- a/bundles/org.eclipse.equinox.p2.tools/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Mon Jul 30 14:52:29 EDT 2007
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.tools/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tools/META-INF/MANIFEST.MF
deleted file mode 100644
index 2552f5a..0000000
--- a/bundles/org.eclipse.equinox.p2.tools/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,36 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.tools;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 1.0.0.qualifier
-Import-Package: javax.servlet;version="2.4.0",
- javax.servlet.http;version="2.4.0",
- org.eclipse.core.runtime;version="3.4.0",
- org.eclipse.equinox.app;version="1.0.0",
- org.eclipse.equinox.internal.p2.artifact.repository,
- org.eclipse.equinox.internal.p2.console,
- org.eclipse.equinox.internal.p2.core,
- org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.p2.engine,
- org.eclipse.equinox.internal.p2.metadata,
- org.eclipse.equinox.internal.p2.metadata.repository,
- org.eclipse.equinox.internal.p2.updatechecker,
- org.eclipse.equinox.internal.provisional.p2.artifact.repository,
- org.eclipse.equinox.internal.provisional.p2.core,
- org.eclipse.equinox.internal.provisional.p2.core.eventbus,
- org.eclipse.equinox.internal.provisional.p2.core.repository,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.internal.provisional.p2.metadata.query,
- org.eclipse.equinox.internal.provisional.p2.metadata.repository,
- org.eclipse.equinox.internal.provisional.p2.query,
- org.eclipse.equinox.internal.provisional.p2.updatechecker,
- org.eclipse.osgi.service.resolver,
- org.osgi.framework;version="1.4.0",
- org.osgi.service.http;version="1.2.0"
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
- J2SE-1.4
-Export-Package: org.eclipse.equinox.internal.p2.tools;x-internal:=true
-Bundle-Activator: org.eclipse.equinox.internal.p2.tools.Activator
-Eclipse-LazyStart: true
diff --git a/bundles/org.eclipse.equinox.p2.tools/about.html b/bundles/org.eclipse.equinox.p2.tools/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.tools/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 2, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tools/build.properties b/bundles/org.eclipse.equinox.p2.tools/build.properties
deleted file mode 100644
index 4bbd9bd..0000000
--- a/bundles/org.eclipse.equinox.p2.tools/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.xml,\
- about.html,\
- plugin.properties
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.p2.tools/p2 tools - compare metadata.launch b/bundles/org.eclipse.equinox.p2.tools/p2 tools - compare metadata.launch
deleted file mode 100644
index eb179db..0000000
--- a/bundles/org.eclipse.equinox.p2.tools/p2 tools - compare metadata.launch
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/p2 tools - compare metadata"/>
-<booleanAttribute key="default_auto_start" value="false"/>
-<intAttribute key="default_start_level" value="4"/>
-<booleanAttribute key="includeOptional" value="false"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.JAVA_COMMAND" value="java"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-console -consolelog -application org.eclipse.equinox.p2.tools.metadataCompareApplication -source http://download.eclipse.org/eclipse/updates/3.4milestones/ -target file:/users/bensonwong/tmp/eclipse.3.4.mirror/ -compare"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<booleanAttribute key="show_selected_only" value="true"/>
-<stringAttribute key="target_bundles" value="org.eclipse.equinox.common@default:default,org.eclipse.equinox.security@default:default,org.eclipse.equinox.app@default:true,org.eclipse.osgi@:,org.eclipse.equinox.registry@default:default,org.eclipse.core.jobs@default:default,org.eclipse.equinox.launcher@default:default,org.eclipse.core.runtime@default:default,org.eclipse.core.contenttype@default:default,javax.servlet@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.osgi.services@default:default"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<booleanAttribute key="useNamedJRE" value="true"/>
-<stringAttribute key="workspace_bundles" value="org.eclipse.equinox.p2.console@default:default,org.eclipse.ecf@default:default,org.eclipse.equinox.p2.tools@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.equinox.simpleconfigurator@default:true,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.updatechecker@default:default,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.ecf.filetransfer@default:default,org.sat4j.core@default:default,org.sat4j.pb@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.artifact.repository@default:default"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.tools/p2 tools - file server.launch b/bundles/org.eclipse.equinox.p2.tools/p2 tools - file server.launch
deleted file mode 100644
index 27ecbf1..0000000
--- a/bundles/org.eclipse.equinox.p2.tools/p2 tools - file server.launch
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="false"/>
-<stringAttribute key="configLocation" value="c:\prov\p2\ProvAdminUI"/>
-<booleanAttribute key="default_auto_start" value="false"/>
-<intAttribute key="default_start_level" value="4"/>
-<stringAttribute key="execEnvironment" value="J2SE-1.5"/>
-<booleanAttribute key="includeOptional" value="false"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-console -consolelog -application org.eclipse.equinox.p2.tools.fileserverApplication -resource /artifact file:c:/prov/p2/servers"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.p2.data.area=c:/prov/p2/agentData/ -Dosgi.noShutdown=true"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<stringAttribute key="target_bundles" value="javax.servlet@default:default,org.apache.commons.logging@default:default,org.eclipse.core.jobs@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@default:default,org.eclipse.equinox.http.jetty@default:true,org.eclipse.equinox.http.registry@default:true,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.osgi@:,org.eclipse.osgi.services@default:default,org.mortbay.jetty@default:default"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfigArea" value="false"/>
-<booleanAttribute key="useNamedJRE" value="false"/>
-<stringAttribute key="workspace_bundles" value="org.eclipse.ecf@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.equinox.frameworkadmin.equinox@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.p2.console@default:true,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.equinox.p2.download@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.exemplarysetup@default:true,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.tools@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.eclipse.equinox.p2.touchpoint.natives@default:default,org.eclipse.equinox.simpleconfigurator@default:true,org.eclipse.equinox.simpleconfigurator.manipulator@default:default"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.tools/p2 tools - mirror.launch b/bundles/org.eclipse.equinox.p2.tools/p2 tools - mirror.launch
deleted file mode 100644
index eced27a..0000000
--- a/bundles/org.eclipse.equinox.p2.tools/p2 tools - mirror.launch
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/p2 tools - mirror"/>
-<booleanAttribute key="default_auto_start" value="false"/>
-<intAttribute key="default_start_level" value="4"/>
-<booleanAttribute key="includeOptional" value="false"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.JAVA_COMMAND" value="java"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-console -consolelog -application org.eclipse.equinox.p2.tools.MirrorApplication -source file:z:/tmp/cdt/ -destination file:/tmp/cdt.mirror.win/ -ius all -artifacts all"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="target_bundles" value="org.eclipse.osgi.services@default:default,org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.common@default:default,org.eclipse.osgi@:,org.eclipse.core.jobs@default:default,org.eclipse.core.contenttype@default:default,org.sat4j.core@default:default,javax.servlet@default:default,org.eclipse.core.runtime@default:default,org.eclipse.equinox.security@default:default,org.eclipse.equinox.app@default:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.sat4j.pb@default:default"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<booleanAttribute key="useNamedJRE" value="true"/>
-<stringAttribute key="workspace_bundles" value="org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.equinox.p2.tools@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.console@default:default,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.ecf@default:default,org.eclipse.equinox.simpleconfigurator@default:true,org.eclipse.equinox.p2.updatechecker@default:default"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.tools/plugin.properties b/bundles/org.eclipse.equinox.p2.tools/plugin.properties
deleted file mode 100644
index a8fbbc7..0000000
--- a/bundles/org.eclipse.equinox.p2.tools/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Equinox p2 Tools (Incubation)
-providerName = Eclipse.org
diff --git a/bundles/org.eclipse.equinox.p2.tools/plugin.xml b/bundles/org.eclipse.equinox.p2.tools/plugin.xml
deleted file mode 100644
index e3dd040..0000000
--- a/bundles/org.eclipse.equinox.p2.tools/plugin.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<plugin>
- <extension id="fileserverApplication" point="org.eclipse.core.runtime.applications">
- <application cardinality="1" thread="main" visible="true">
- <run class="org.eclipse.equinox.internal.p2.tools.FileServerApplication"/>
- </application>
- </extension>
- <extension id="application" point="org.eclipse.core.runtime.applications">
- <application>
- <run class="org.eclipse.equinox.internal.p2.tools.UpdateCheckerApplication"/>
- </application>
- </extension>
- <extension id="metadataCompareApplication" point="org.eclipse.core.runtime.applications">
- <application>
- <run class="org.eclipse.equinox.internal.p2.tools.MetadataCompareApplication"/>
- </application>
- </extension>
- <extension id="MirrorApplication" point="org.eclipse.core.runtime.applications">
- <application>
- <run class="org.eclipse.equinox.internal.p2.tools.mirror.MirrorApplication"/>
- </application>
- </extension>
-</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.tools/src/org/eclipse/equinox/internal/p2/tools/Activator.java b/bundles/org.eclipse.equinox.p2.tools/src/org/eclipse/equinox/internal/p2/tools/Activator.java
deleted file mode 100644
index 5423e68..0000000
--- a/bundles/org.eclipse.equinox.p2.tools/src/org/eclipse/equinox/internal/p2/tools/Activator.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.tools;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-
- private static BundleContext bundleContext;
-
- public static BundleContext getContext() {
- return bundleContext;
- }
-
- public void start(BundleContext context) throws Exception {
- bundleContext = context;
- }
-
- public void stop(BundleContext context) throws Exception {
- bundleContext = null;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tools/src/org/eclipse/equinox/internal/p2/tools/FileServerApplication.java b/bundles/org.eclipse.equinox.p2.tools/src/org/eclipse/equinox/internal/p2/tools/FileServerApplication.java
deleted file mode 100644
index c698e8d..0000000
--- a/bundles/org.eclipse.equinox.p2.tools/src/org/eclipse/equinox/internal/p2/tools/FileServerApplication.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.tools;
-
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.osgi.service.http.*;
-
-public class FileServerApplication implements IApplication {
- private Map resources = new HashMap(10);
-
- private static class FileSystemContext implements HttpContext {
- private String base;
-
- public FileSystemContext(String base) {
- this.base = base;
- }
-
- public String getMimeType(String name) {
- return null;
- }
-
- public URL getResource(String name) {
- try {
- return new URL(base + name);
- } catch (MalformedURLException e) {
- return null;
- }
- }
-
- public boolean handleSecurity(HttpServletRequest request, HttpServletResponse response) throws IOException {
- return true;
- }
- }
-
- public Object start(IApplicationContext context) throws Exception {
- Map args = context.getArguments();
- initializeFromArguments((String[]) args.get("application.args")); //$NON-NLS-1$
- registerResources(resources);
- return null;
- }
-
- private void registerResources(Map list) {
- HttpService http = (HttpService) ServiceHelper.getService(Activator.getContext(), HttpService.class.getName());
- for (Iterator i = resources.keySet().iterator(); i.hasNext();) {
- String key = (String) i.next();
- String value = (String) resources.get(key);
- try {
- http.registerResources(key, "/", new FileSystemContext(value)); //$NON-NLS-1$
- } catch (NamespaceException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
-
- public void stop() {
- }
-
- public void initializeFromArguments(String[] args) throws Exception {
- if (args == null)
- return;
- for (int i = 0; i < args.length; i++) {
- // check for args without parameters (i.e., a flag arg)
- // if (args[i].equals("-raw"))
- // raw = true;
-
- // 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 param so continue.
- if (i == args.length - 1 || args[i + 1].startsWith("-")) //$NON-NLS-1$
- continue;
- String arg = args[++i];
-
- if (args[i - 1].equalsIgnoreCase("-resource")) //$NON-NLS-1$
- resources.put(arg, args[++i]);
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tools/src/org/eclipse/equinox/internal/p2/tools/MetadataCompareApplication.java b/bundles/org.eclipse.equinox.p2.tools/src/org/eclipse/equinox/internal/p2/tools/MetadataCompareApplication.java
deleted file mode 100644
index b544f69..0000000
--- a/bundles/org.eclipse.equinox.p2.tools/src/org/eclipse/equinox/internal/p2/tools/MetadataCompareApplication.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.tools;
-
-import java.net.URL;
-import java.util.Arrays;
-import java.util.Comparator;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.equinox.internal.p2.metadata.InstallableUnit;
-import org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.RequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-
-public class MetadataCompareApplication implements IApplication {
-
- private MetadataRepositoryManager repoManager = new MetadataRepositoryManager();
- private IMetadataRepository sourceRepo = null;
- private IMetadataRepository targetRepo = null;
-
- private static Comparator iuIdComparator = new Comparator() {
- public int compare(Object source, Object target) {
- IInstallableUnit sourceIU = (IInstallableUnit) source;
- IInstallableUnit targetIU = (IInstallableUnit) target;
- int id = sourceIU.getId().compareTo(targetIU.getId());
- if (id != 0)
- return id;
- return sourceIU.getVersion().compareTo(targetIU.getVersion());
- }
- };
-
- private URL sourceLocation;
- private URL targetLocation;
- private boolean compare = false;
- private boolean list = false;
-
- public Object start(IApplicationContext context) throws Exception {
- initializeFromArguments((String[]) context.getArguments().get("application.args")); //$NON-NLS-1$
- initRepositories();
-
- if (compare) {
- compareMetadataRepositories();
- } else if (list) {
- list(sourceLocation);
- list(targetLocation);
- }
- return IApplication.EXIT_OK;
- }
-
- private void list(URL location) throws ProvisionException {
- if (location == null)
- return;
- IMetadataRepository locationRepo = repoManager.getRepository(location);
- if (locationRepo == null)
- return;
- Collector sourceRoots = locationRepo.query(InstallableUnitQuery.ANY, new Collector(), new NullProgressMonitor());
- IInstallableUnit[] sourceIUs = (IInstallableUnit[]) sourceRoots.toArray(IInstallableUnit.class);
-
- sourceIUs = sort(sourceIUs, true);
- for (int i = 0; i < sourceIUs.length; i++) {
- System.out.print(sourceIUs[i]);
- System.out.println(sourceIUs[i].isFragment() ? " (fragment)" : ""); //$NON-NLS-1$ //$NON-NLS-2$
- }
- System.out.println("Total: " + sourceIUs.length); //$NON-NLS-1$
- }
-
- private void compareMetadataRepositories() throws ProvisionException {
- System.out.println("\n" + sourceLocation.toExternalForm() + " -> " + targetLocation.toExternalForm()); //$NON-NLS-1$ //$NON-NLS-2$
- compare(sourceRepo, targetRepo);
- }
-
- private void initRepositories() throws ProvisionException {
- if (targetLocation == null || sourceLocation == null)
- throw new IllegalStateException("Must specify a source and target"); //$NON-NLS-1$
- sourceRepo = repoManager.loadRepository(sourceLocation, null);
- targetRepo = initializeTarget();
- }
-
- private IMetadataRepository initializeTarget() throws ProvisionException {
- try {
- IMetadataRepository repository = repoManager.loadRepository(targetLocation, null);
- if (!repository.isModifiable())
- throw new IllegalArgumentException("Metadata repository not modifiable: " + targetLocation); //$NON-NLS-1$
- return repository;
- } catch (ProvisionException e) {
- //fall through and create repo
- }
- String repositoryName = targetLocation + " - metadata"; //$NON-NLS-1$
- return repoManager.createRepository(targetLocation, repositoryName, IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
- }
-
- private void compare(IMetadataRepository sourceRepo, IMetadataRepository targetRepo) {
- Collector sourceRoots = sourceRepo.query(InstallableUnitQuery.ANY, new Collector(), new NullProgressMonitor());
- Collector targetRoots = targetRepo.query(InstallableUnitQuery.ANY, new Collector(), new NullProgressMonitor());
- IInstallableUnit[] sourceIUs = (IInstallableUnit[]) sourceRoots.toArray(IInstallableUnit.class);
- sourceIUs = sort(sourceIUs, true);
- IInstallableUnit[] targetIUs = (IInstallableUnit[]) targetRoots.toArray(IInstallableUnit.class);
- targetIUs = sort(targetIUs, true);
-
- int targetIndex = 0;
- for (int i = 0; i < sourceIUs.length; i++)
- targetIndex = compareUsingTargets(sourceIUs[i], targetIUs, targetIndex);
- }
-
- private int compareUsingTargets(IInstallableUnit sourceIU, IInstallableUnit[] targetIUs, int targetIndex) {
- while (targetIndex < targetIUs.length) {
- int difference = iuIdComparator.compare(sourceIU, targetIUs[targetIndex]);
- if (difference < 0) {
- System.out.println(sourceIU + " is not found in target repository"); //$NON-NLS-1$
- return targetIndex;
- } else if (difference == 0) {
- String comparison = compare(sourceIU, targetIUs[targetIndex]);
- if (comparison.length() > 0)
- System.out.println(sourceIU + comparison);
- return targetIndex + 1;
- } else {
- System.out.println(targetIUs[targetIndex++] + " is not found in source repository"); //$NON-NLS-1$
- }
- }
- System.out.println(sourceIU + " is not found in target repository"); //$NON-NLS-1$
- return targetIndex;
- }
-
- private boolean compare(Object a, Object b) {
- if (a == null)
- return b == null;
- return a.equals(b);
- }
-
- private boolean compare(Object[] a, Object b[]) {
- if (a == null)
- return b == null;
- return Arrays.equals(a, b);
- }
-
- private String compare(IInstallableUnit iu, IInstallableUnit next) {
- if (next == null)
- return " iu artifactLocators providedCapabilities requiredCapabilities touchpointType"; //$NON-NLS-1$
- String result = ""; //$NON-NLS-1$
- if (!iu.equals(next))
- result += " iu"; //$NON-NLS-1$
- // if (!compare(iu.getApplicabilityFilter(), next.getApplicabilityFilter()))
- // result += " applicabilityFilter";
- if (!compare(iu.getArtifacts(), next.getArtifacts()))
- result += " artifactLocators"; //$NON-NLS-1$
- if (!compare(iu.getProvidedCapabilities(), next.getProvidedCapabilities()))
- result += " providedCapabilities"; //$NON-NLS-1$
- if (!compareRequires(iu.getRequiredCapabilities(), next.getRequiredCapabilities()))
- result += " requiredCapabilities"; //$NON-NLS-1$
- if (!compare(iu.getTouchpointType(), next.getTouchpointType()))
- result += " touchpointType"; //$NON-NLS-1$
-
- if (iu.isFragment()) {
- // if (((InstallableUnitFragment) iu).getHost() == null || ((InstallableUnitFragment) iu).getVersion() == null)
- // return result;
- // if (!((InstallableUnitFragment) iu).getHost().equals(((InstallableUnitFragment) next).getHost()))
- // result += " hostid";
- // if (!((InstallableUnitFragment) iu).getVersion().equals(((InstallableUnitFragment) next).getVersion()))
- // result += " hostversionRange";
- }
- return result;
- }
-
- private boolean compareRequires(RequiredCapability[] a, RequiredCapability[] b) {
- if (a == null)
- return b == null;
- if (a.length != b.length)
- return false;
- if (a == b)
- return true;
- for (int i = 0; i < a.length; i++)
- if (findCapability(a[i], b) == null)
- return false;
- return true;
- }
-
- private RequiredCapability findCapability(RequiredCapability target, RequiredCapability[] b) {
- for (int i = 0; i < b.length; i++) {
- RequiredCapability capability = b[i];
- if (target.equals(capability))
- return capability;
- }
- return null;
- }
-
- private IInstallableUnit[] sort(IInstallableUnit[] ius, boolean clone) {
- IInstallableUnit[] result = ius;
- if (clone) {
- result = new InstallableUnit[ius.length];
- System.arraycopy(ius, 0, result, 0, ius.length);
- }
- Arrays.sort(result, iuIdComparator);
- return result;
- }
-
- public void initializeFromArguments(String[] args) throws Exception {
- if (args == null)
- return;
- for (int i = 0; i < args.length; i++) {
- if (args[i].equalsIgnoreCase("-compare")) //$NON-NLS-1$
- compare = true;
- if (args[i].equalsIgnoreCase("-list")) //$NON-NLS-1$
- list = true;
-
- // check for args with parameters. If we are at the last argument or
- // if the next one
- // has a '-' as the first character, then we can't have an arg with
- // a parm so continue.
- if (i == args.length - 1 || args[i + 1].startsWith("-")) //$NON-NLS-1$
- continue;
-
- String arg = args[++i];
-
- if (args[i - 1].equalsIgnoreCase("-source")) //$NON-NLS-1$
- sourceLocation = new URL(arg);
- if (args[i - 1].equalsIgnoreCase("-target")) //$NON-NLS-1$
- targetLocation = new URL(arg);
- }
- }
-
- public void stop() {
- //do nothing
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tools/src/org/eclipse/equinox/internal/p2/tools/UpdateCheckerApplication.java b/bundles/org.eclipse.equinox.p2.tools/src/org/eclipse/equinox/internal/p2/tools/UpdateCheckerApplication.java
deleted file mode 100644
index 17fa88c..0000000
--- a/bundles/org.eclipse.equinox.p2.tools/src/org/eclipse/equinox/internal/p2/tools/UpdateCheckerApplication.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.tools;
-
-import java.util.Map;
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.updatechecker.*;
-
-/**
- * A little app that demonstrates how to register for automatic update checks on
- * a profile.
- *
- * -profile profileID (specifies the profile id to check for updates)
- * -delay long (specifies a long which is the initial delay before beginning polling)
- * -poll long (specifies a long which is the frequency of the update poll)
- * -debug, -trace can be used to show you what's going on.
- *
- * This checker simply writes to system.out when updates are available and lists the
- * IU's that have updates available.
- */
-public class UpdateCheckerApplication implements IApplication {
-
- private static String ARG_PROFILE = "-profile"; //$NON-NLS-1$
- private static String ARG_POLL = "-poll"; //$NON-NLS-1$
- private static String ARG_DELAY = "-delay"; //$NON-NLS-1$
- private static String ARG_DEBUG = "-debug"; //$NON-NLS-1$
- private static String ARG_TRACE = "-trace"; //$NON-NLS-1$
- String profileId;
- long delay = IUpdateChecker.ONE_TIME_CHECK;
- long poll = IUpdateChecker.ONE_TIME_CHECK;
- IUpdateChecker checker;
- IUpdateListener listener = new IUpdateListener() {
-
- public void updatesAvailable(UpdateEvent event) {
- System.out.println("Updates available for " + profileId); //$NON-NLS-1$
- IInstallableUnit[] ius = event.getIUs();
- for (int i = 0; i < ius.length; i++)
- System.out.println(ius[i].toString());
- }
-
- };
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.IApplicationContext)
- */
- public Object start(IApplicationContext context) throws Exception {
- checker = (IUpdateChecker) ServiceHelper.getService(Activator.getContext(), IUpdateChecker.SERVICE_NAME);
- if (checker == null)
- throw new RuntimeException("Update checker could not be loaded."); //$NON-NLS-1$
-
- Map args = context.getArguments();
- initializeFromArguments((String[]) args.get("application.args")); //$NON-NLS-1$
- if (profileId == null) {
- System.out.println("Must specify a profile id using -profile arg"); //$NON-NLS-1$
- } else {
- checker.addUpdateCheck(profileId, InstallableUnitQuery.ANY, delay, poll, listener);
- }
-
- return null;
- }
-
- public void stop() {
- checker.removeUpdateCheck(listener);
- }
-
- public void initializeFromArguments(String[] args) throws Exception {
- if (args == null)
- return;
- for (int i = 0; i < args.length; i++) {
- if (args[i].equals(ARG_DEBUG))
- UpdateChecker.DEBUG = true;
- else if (args[i].equals(ARG_TRACE))
- UpdateChecker.TRACE = true;
-
- // The remaining args have parameters. If we are at the
- // last argument, or if the next one starts with a '-',
- // then there won't be a parm, so skip this one.
- if (i == args.length - 1 || args[i + 1].startsWith("-")) //$NON-NLS-1$
- continue;
-
- String arg = args[++i];
-
- if (args[i - 1].equalsIgnoreCase(ARG_PROFILE))
- profileId = arg;
- else if (args[i - 1].equalsIgnoreCase(ARG_POLL))
- poll = getLong(ARG_POLL, arg, IUpdateChecker.ONE_TIME_CHECK);
- else if (args[i - 1].equalsIgnoreCase(ARG_DELAY))
- delay = getLong(ARG_DELAY, arg, IUpdateChecker.ONE_TIME_CHECK);
-
- }
- }
-
- long getLong(String argName, String value, long defaultValue) {
- if (value != null)
- try {
- return Long.parseLong(value);
- } catch (Exception e) {
- System.out.println("The value for " + argName + "(" + value + ") is not a long."); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- return defaultValue;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tools/src/org/eclipse/equinox/internal/p2/tools/mirror/MirrorApplication.java b/bundles/org.eclipse.equinox.p2.tools/src/org/eclipse/equinox/internal/p2/tools/mirror/MirrorApplication.java
deleted file mode 100644
index 0c62d5a..0000000
--- a/bundles/org.eclipse.equinox.p2.tools/src/org/eclipse/equinox/internal/p2/tools/mirror/MirrorApplication.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Code 9 and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Code 9 - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.tools.mirror;
-
-import java.net.URL;
-import java.util.*;
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-
-/**
- * An application that performs mirroring of artifacts between repositories.
- */
-public class MirrorApplication implements IApplication {
-
- private static final String EMPTY_STRING = ""; //$NON-NLS-1$
- private static final String COMMA_SEPARATOR = ","; //$NON-NLS-1$
- private String[] iuSpecs;
- private String[] artifactSpecs;
- private URL metadataSourceLocation;
- private URL metadataDestinationLocation;
- private URL artifactSourceLocation;
- private URL artifactDestinationLocation;
- private boolean transitive = false;
- private boolean raw = false;
- private boolean overwrite = false;
- private boolean verbose = false;
-
- /**
- * Convert a list of tokens into an array. The list separator has to be
- * specified.
- */
- public static String[] getArrayArgsFromString(String list, String separator) {
- if (list == null || list.trim().equals(EMPTY_STRING))
- return new String[0];
- List result = new ArrayList();
- for (StringTokenizer tokens = new StringTokenizer(list, separator); tokens.hasMoreTokens();) {
- String token = tokens.nextToken().trim();
- if (!token.equals(EMPTY_STRING)) {
- if ((token.indexOf('[') >= 0 || token.indexOf('(') >= 0) && tokens.hasMoreTokens())
- result.add(token + separator + tokens.nextToken());
- else
- result.add(token);
- }
- }
- return (String[]) result.toArray(new String[result.size()]);
- }
-
- private static String[] getArrayArgsFromString(String list, String delimiterStart, String delimiterEnd, String separator) {
- if (list == null || list.trim().equals(EMPTY_STRING))
- return new String[0];
- List result = new ArrayList();
- for (StringTokenizer tokens = new StringTokenizer(list, delimiterStart); tokens.hasMoreTokens();) {
- String token = tokens.nextToken().trim();
- if (token.endsWith(delimiterEnd))
- token = token.substring(0, token.length() - delimiterEnd.length());
- if (token.endsWith(delimiterEnd + separator))
- token = token.substring(0, token.length() - delimiterEnd.length() - separator.length());
- if (!token.equals(EMPTY_STRING))
- result.add(token);
- }
- return (String[]) result.toArray(new String[result.size()]);
- }
-
- public Object start(IApplicationContext context) throws Exception {
- long time = -System.currentTimeMillis();
- initializeFromArguments((String[]) context.getArguments().get("application.args")); //$NON-NLS-1$
- RepositoryMirroring operation = new RepositoryMirroring(metadataSourceLocation, metadataDestinationLocation, artifactSourceLocation, artifactDestinationLocation, overwrite);
- operation.setTransitive(transitive);
- operation.setRaw(raw);
- operation.setVerbose(verbose);
- operation.mirror(iuSpecs, artifactSpecs);
- time += System.currentTimeMillis();
- if (verbose)
- System.out.println("Operation completed in " + new Long(time) + " ms."); //$NON-NLS-1$//$NON-NLS-2$
- return IApplication.EXIT_OK;
- }
-
- public void stop() {
- //do nothing
- }
-
- public void initializeFromArguments(String[] args) throws Exception {
- if (args == null)
- return;
- for (int i = 0; i < args.length; i++) {
- // check for args without parameters (i.e., a flag arg)
- if (args[i].equalsIgnoreCase("-referencedIUs")) //$NON-NLS-1$
- transitive = true;
- if (args[i].equalsIgnoreCase("-raw")) //$NON-NLS-1$
- raw = true;
- if (args[i].equalsIgnoreCase("-overwrite")) //$NON-NLS-1$
- overwrite = true;
- if (args[i].equalsIgnoreCase("-verbose")) //$NON-NLS-1$
- verbose = true;
-
- // 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 param so continue.
- if (i == args.length - 1 || args[i + 1].startsWith("-")) //$NON-NLS-1$
- continue;
- String arg = args[++i];
-
- if (args[i - 1].equalsIgnoreCase("-source")) { //$NON-NLS-1$
- metadataSourceLocation = new URL(arg);
- artifactSourceLocation = new URL(arg);
- }
- if (args[i - 1].equalsIgnoreCase("-destination")) { //$NON-NLS-1$
- metadataDestinationLocation = new URL(arg);
- artifactDestinationLocation = new URL(arg);
- }
- if (args[i - 1].equalsIgnoreCase("-metadatadestination")) //$NON-NLS-1$
- metadataDestinationLocation = new URL(arg);
- if (args[i - 1].equalsIgnoreCase("-metadatasource")) //$NON-NLS-1$
- metadataSourceLocation = new URL(arg);
- if (args[i - 1].equalsIgnoreCase("-artifactdestination")) //$NON-NLS-1$
- artifactDestinationLocation = new URL(arg);
- if (args[i - 1].equalsIgnoreCase("-artifactsource")) //$NON-NLS-1$
- artifactSourceLocation = new URL(arg);
- if (args[i - 1].equalsIgnoreCase("-ius")) //$NON-NLS-1$
- if (arg.equalsIgnoreCase("all") || arg.equalsIgnoreCase("*")) //$NON-NLS-1$ //$NON-NLS-2$
- iuSpecs = new String[0];
- else
- iuSpecs = getArrayArgsFromString(arg, COMMA_SEPARATOR);
- if (args[i - 1].equalsIgnoreCase("-artifacts")) //$NON-NLS-1$
- if (arg.equalsIgnoreCase("all") || arg.equalsIgnoreCase("*")) //$NON-NLS-1$ //$NON-NLS-2$
- artifactSpecs = new String[0];
- else
- artifactSpecs = getArrayArgsFromString(arg, "{", "}", COMMA_SEPARATOR); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tools/src/org/eclipse/equinox/internal/p2/tools/mirror/RangeQuery.java b/bundles/org.eclipse.equinox.p2.tools/src/org/eclipse/equinox/internal/p2/tools/mirror/RangeQuery.java
deleted file mode 100644
index 468a402..0000000
--- a/bundles/org.eclipse.equinox.p2.tools/src/org/eclipse/equinox/internal/p2/tools/mirror/RangeQuery.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Code 9 and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Code 9 - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.tools.mirror;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.query.Query;
-
-/**
- * A convenience query that will match any {@link IInstallableUnit}
- * it encounters.
- */
-public class RangeQuery extends Query {
- private VersionRangedName[] targets;
-
- /**
- * Creates a query that will match any {@link IInstallableUnit} with the given
- * VerionRangedName.
- *
- * @param targets The installable unit names with versions to match, or <code>null</code> to match any id
- */
- public RangeQuery(VersionRangedName[] targets) {
- this.targets = targets;
- }
-
- /**
- * Returns true if the <code>IInstallableUnit</code> object is contained in the <code>VerionRangedName</code>'s or targets is null.
- */
- public boolean isMatch(Object object) {
- if (!(object instanceof IInstallableUnit))
- return false;
- if (targets == null)
- return true;
- IInstallableUnit candidate = (IInstallableUnit) object;
- for (int i = 0; i < targets.length; i++) {
- VersionRangedName entry = targets[i];
- if (entry.getId().equalsIgnoreCase(candidate.getId()) && entry.getVersionRange().isIncluded(candidate.getVersion()))
- return true;
- }
- return false;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tools/src/org/eclipse/equinox/internal/p2/tools/mirror/RepositoryMirroring.java b/bundles/org.eclipse.equinox.p2.tools/src/org/eclipse/equinox/internal/p2/tools/mirror/RepositoryMirroring.java
deleted file mode 100644
index 11212e4..0000000
--- a/bundles/org.eclipse.equinox.p2.tools/src/org/eclipse/equinox/internal/p2/tools/mirror/RepositoryMirroring.java
+++ /dev/null
@@ -1,217 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Code 9 and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Code 9 - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.tools.mirror;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.net.URL;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.artifact.repository.Activator;
-import org.eclipse.equinox.internal.p2.artifact.repository.ArtifactRepositoryManager;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.query.Query;
-
-/**
- * A utility class that performs mirroring of metadata and artifacts between repositories.
- */
-public class RepositoryMirroring {
-
- private IMetadataRepository metadataSourceRepository;
- private IMetadataRepository metadataDestinationRepository;
- private IArtifactRepository artifactSourceRepository;
- private IArtifactRepository artifactDestinationRepository;
- private boolean transitive = false;
- private boolean validArtifactRepos = false;
- private boolean validMetadataRepos = false;
- private boolean mirrorArtifactsWithMetadata = false;
- private boolean raw = false;
- private boolean overwrite = false;
- private boolean verbose = false;
-
- public RepositoryMirroring(URL metadataSourceLocation, URL metadataDestinationLocation, URL artifactSourceLocation, URL artifactDestinationLocation, boolean overwrite2) throws ProvisionException {
- this.overwrite = overwrite;
- if (metadataSourceLocation != null && metadataDestinationLocation != null) {
- MetadataRepositoryManager metadataRepoManager = new MetadataRepositoryManager();
- metadataSourceRepository = metadataRepoManager.loadRepository(metadataSourceLocation, null);
- metadataDestinationRepository = initializeMetadataDestination(metadataRepoManager, metadataDestinationLocation);
- validMetadataRepos = validateMetadataRepositories();
- }
- if (artifactSourceLocation != null && artifactDestinationLocation != null) {
- ArtifactRepositoryManager artifactRepoManager = new ArtifactRepositoryManager();
- artifactSourceRepository = artifactRepoManager.loadRepository(artifactSourceLocation, null);
- artifactDestinationRepository = initializeArtifactDestination(artifactRepoManager, artifactDestinationLocation);
- validArtifactRepos = validateArtifactRepositories();
- }
- }
-
- public void mirror(String[] iuSpecs, String[] artifactSpecs) throws ProvisionException {
- mirrorArtifactsWithMetadata = validArtifactRepos && artifactSpecs != null && artifactSpecs.length == 0 && iuSpecs != null && iuSpecs.length == 0;
- if (validMetadataRepos)
- mirrorMetadata(iuSpecs);
- if (validArtifactRepos && !mirrorArtifactsWithMetadata)
- mirrorArtifacts(artifactSpecs, raw);
- }
-
- public void mirrorMetadata(String[] iuSpecs) throws ProvisionException {
- if (iuSpecs.length == 0)
- mirrorMetadata(InstallableUnitQuery.ANY);
- else {
- VersionRangedName[] iuRanges = new VersionRangedName[iuSpecs.length];
- for (int i = 0; i < iuSpecs.length; i++)
- iuRanges[i] = VersionRangedName.parse(iuSpecs[i]);
- mirrorMetadata(new RangeQuery(iuRanges));
- }
- }
-
- public void mirrorMetadata(Query query) throws ProvisionException {
- Collector result = metadataSourceRepository.query(query, new Collector(), null);
- mirrorMetadata((IInstallableUnit[]) result.toArray(IInstallableUnit.class));
- }
-
- private void mirrorMetadata(IInstallableUnit[] ius) throws ProvisionException {
- if (transitive)
- ius = addTransitiveIUs(metadataSourceRepository, ius);
- for (int i = 0; i < ius.length; i++) {
- IInstallableUnit iu = ius[i];
- if (verbose)
- System.out.println("Mirroring IU: " + iu);
- if (mirrorArtifactsWithMetadata)
- mirrorArtifacts(iu.getArtifacts(), raw);
- }
- metadataDestinationRepository.addInstallableUnits(ius);
- }
-
- private void mirrorArtifact(IArtifactDescriptor descriptor) throws ProvisionException {
- IArtifactDescriptor newDescriptor = raw ? descriptor : new ArtifactDescriptor(descriptor);
- OutputStream repositoryStream = null;
- try {
- repositoryStream = artifactDestinationRepository.getOutputStream(newDescriptor);
- if (repositoryStream == null)
- return;
- if (verbose)
- System.out.println("Mirroring artifact: " + descriptor);
- // TODO Is that ok to ignore the result?
- artifactSourceRepository.getArtifact(descriptor, repositoryStream, new NullProgressMonitor());
- } finally {
- if (repositoryStream != null)
- try {
- repositoryStream.close();
- } catch (IOException e) {
- // TODO Is that ok to ignore the exception
- e.printStackTrace();
- }
- }
- }
-
- private void mirrorArtifacts(IArtifactKey[] keys, boolean raw) throws ProvisionException {
- for (int i = 0; i < keys.length; i++) {
- IArtifactKey key = keys[i];
- IArtifactDescriptor[] descriptors = artifactSourceRepository.getArtifactDescriptors(key);
- for (int j = 0; j < descriptors.length; j++)
- mirrorArtifact(descriptors[j]);
- }
- }
-
- private void mirrorArtifacts(String[] artifactSpecs, boolean raw) throws ProvisionException {
- IArtifactKey[] keys;
- if (artifactSpecs == null)
- return;
- if (artifactSpecs.length == 0)
- keys = artifactSourceRepository.getArtifactKeys();
- else {
- keys = new ArtifactKey[artifactSpecs.length];
- for (int i = 0; i < artifactSpecs.length; i++) {
- keys[i] = ArtifactKey.parse(artifactSpecs[i]);
- }
- }
- mirrorArtifacts(keys, raw);
- }
-
- protected IInstallableUnit[] addTransitiveIUs(IMetadataRepository source, IInstallableUnit[] ius) {
- // TODO Here we should create a profile from the source repo and discover all the
- // IUs that are needed to support the given ius. For now just assume that the
- // given ius are enough.
- return ius;
- }
-
- private boolean validateMetadataRepositories() {
- if (metadataSourceRepository == null)
- throw new IllegalStateException("Source metadata repository is null."); //$NON-NLS-1$
- if (metadataDestinationRepository == null)
- throw new IllegalStateException("Destination metadata repository is null."); //$NON-NLS-1$
- if (!metadataDestinationRepository.isModifiable())
- throw new IllegalStateException("Destination metadata repository must be modifiable: " + metadataDestinationRepository.getLocation()); //$NON-NLS-1$
- return true;
- }
-
- private boolean validateArtifactRepositories() {
- if (artifactSourceRepository == null)
- throw new IllegalStateException("Source artifact repository is null."); //$NON-NLS-1$
- if (artifactDestinationRepository == null)
- throw new IllegalStateException("Destination artifact repository is null."); //$NON-NLS-1$
- if (!artifactDestinationRepository.isModifiable())
- throw new IllegalStateException("Destination artifact repository must be modifiable: " + artifactDestinationRepository.getLocation()); //$NON-NLS-1$
- return true;
- }
-
- private IMetadataRepository initializeMetadataDestination(MetadataRepositoryManager repoManager, URL destinationLocation) throws ProvisionException {
- try {
- IMetadataRepository repository = repoManager.loadRepository(destinationLocation, null);
- if (!repository.isModifiable())
- throw new IllegalArgumentException("Metadata repository not modifiable: " + destinationLocation); //$NON-NLS-1$
- return repository;
- } catch (ProvisionException e) {
- //fall through and create repo
- }
- String repositoryName = destinationLocation + " - metadata"; //$NON-NLS-1$
- return repoManager.createRepository(destinationLocation, repositoryName, IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
- }
-
- private IArtifactRepository initializeArtifactDestination(ArtifactRepositoryManager repoManager, URL destinationLocation) throws ProvisionException {
- IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.class.getName());
- try {
- IArtifactRepository repository = manager.loadRepository(destinationLocation, null);
- if (!repository.isModifiable())
- throw new IllegalArgumentException("Artifact repository not modifiable: " + destinationLocation); //$NON-NLS-1$
- if (overwrite)
- repository.removeAll();
- return repository;
- } catch (ProvisionException e) {
- //fall through and create a new repository below
- }
- // the given repo location is not an existing repo so we have to create something
- // TODO for now create a Simple repo by default.
- String repositoryName = destinationLocation + " - artifacts"; //$NON-NLS-1$
- return manager.createRepository(destinationLocation, repositoryName, IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
- }
-
- public void setVerbose(boolean value) {
- verbose = value;
- }
-
- public void setTransitive(boolean value) {
- transitive = value;
- }
-
- public void setRaw(boolean value) {
- raw = value;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tools/src/org/eclipse/equinox/internal/p2/tools/mirror/VersionRangedName.java b/bundles/org.eclipse.equinox.p2.tools/src/org/eclipse/equinox/internal/p2/tools/mirror/VersionRangedName.java
deleted file mode 100644
index 2b1ab22..0000000
--- a/bundles/org.eclipse.equinox.p2.tools/src/org/eclipse/equinox/internal/p2/tools/mirror/VersionRangedName.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Code 9 and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Code 9 - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.tools.mirror;
-
-import org.eclipse.osgi.service.resolver.VersionRange;
-
-public class VersionRangedName {
- private String id;
- private VersionRange range;
-
- /**
- * Creates and returns a new version ranged id from the given spec. The spec should be
- * id/version range.
- * @param spec the spec for the version ranged id to create
- * @return the parsed versioned id
- */
- public static VersionRangedName parse(String spec) {
- String[] segments = MirrorApplication.getArrayArgsFromString(spec, "/"); //$NON-NLS-1$
- return new VersionRangedName(segments[0], segments.length == 1 ? null : segments[1]);
- }
-
- public VersionRangedName(String id, String rangeSpec) {
- this.id = id;
- this.range = new VersionRange(rangeSpec);
- }
-
- public VersionRangedName(String id, VersionRange range) {
- this.id = id;
- this.range = range;
- }
-
- public String getId() {
- return id;
- }
-
- public VersionRange getVersionRange() {
- return range;
- }
-
- public String toString() {
- return id + "/" + (range == null ? "0.0.0" : range.toString()); //$NON-NLS-1$ //$NON-NLS-2$
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tools/updatechecker app.launch b/bundles/org.eclipse.equinox.p2.tools/updatechecker app.launch
deleted file mode 100644
index 5058fea..0000000
--- a/bundles/org.eclipse.equinox.p2.tools/updatechecker app.launch
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/updatechecker app"/>
-<booleanAttribute key="default_auto_start" value="false"/>
-<intAttribute key="default_start_level" value="4"/>
-<booleanAttribute key="includeOptional" value="false"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-console -consolelog -application org.eclipse.equinox.p2.updatechecker.app.application -metadataRepository file:c:/prov/p2/servers/metadataRepository/ -artifactRepository file:c:/prov/p2/servers/artifactRepository/ -profile Test -delay 5000 -poll 10000 -trace"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.p2.data.area=c:/prov/p2/agentData"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<stringAttribute key="target_bundles" value="org.eclipse.core.contenttype@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:default,org.eclipse.core.runtime.compatibility.registry@default:default,org.eclipse.equinox.app@default:true,org.eclipse.equinox.common@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.osgi@:,org.eclipse.osgi.services@default:default"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<booleanAttribute key="useNamedJRE" value="true"/>
-<stringAttribute key="vminstall" value="jre1.5.0_11"/>
-<stringAttribute key="workspace_bundles" value="com.thoughtworks.xstream@default:default,org.eclipse.ecf@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.equinox.frameworkadmin.equinox@default:true,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.p2.console@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.equinox.p2.director.app@default:default,org.eclipse.equinox.p2.download@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.exemplarysetup@default:true,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.eclipse.equinox.p2.touchpoint.natives@default:default,org.eclipse.equinox.p2.updatechecker@5:true,org.eclipse.equinox.p2.updatechecker.app@default:default,org.eclipse.equinox.simpleconfigurator@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@default:true"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.classpath b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.classpath
deleted file mode 100644
index 2fbb7a2..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.project b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.project
deleted file mode 100644
index 36758f2..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.equinox.p2.touchpoint.eclipse</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 2daa5df..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,330 +0,0 @@
-#Fri Feb 22 11:24:21 EST 2008
-eclipse.preferences.version=1
-instance/org.eclipse.core.net/org.eclipse.core.net.hasMigrated=true
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 8bc0190..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:59:03 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 7913d20..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/META-INF/MANIFEST.MF
deleted file mode 100644
index b79417a..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,39 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.touchpoint.eclipse;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 1.0.2.qualifier
-Import-Package: javax.xml.parsers,
- org.eclipse.core.runtime;common=split,
- org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.p2.engine,
- org.eclipse.equinox.internal.p2.garbagecollector,
- org.eclipse.equinox.internal.provisional.frameworkadmin,
- org.eclipse.equinox.internal.provisional.p2.artifact.repository,
- org.eclipse.equinox.internal.provisional.p2.core,
- org.eclipse.equinox.internal.provisional.p2.core.location,
- org.eclipse.equinox.internal.provisional.p2.core.repository,
- org.eclipse.equinox.internal.provisional.p2.engine,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.internal.provisional.p2.metadata.generator;resolution:=optional,
- org.eclipse.equinox.internal.provisional.p2.metadata.query,
- org.eclipse.equinox.internal.provisional.p2.query,
- org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository,
- org.eclipse.equinox.internal.simpleconfigurator.manipulator,
- org.eclipse.osgi.service.datalocation;version="1.0.0",
- org.eclipse.osgi.service.environment;version="1.0.0",
- org.eclipse.osgi.service.resolver;version="1.2.0";resolution:=optional,
- org.eclipse.osgi.util;version="1.1.0",
- org.osgi.framework;version="1.3.0",
- org.osgi.util.tracker;version="1.3.2",
- org.w3c.dom,
- org.xml.sax
-Export-Package: org.eclipse.equinox.internal.p2.touchpoint.eclipse;x-friends:="org.eclipse.equinox.p2.reconciler.dropins,org.eclipse.equinox.p2.extensionlocation",
- org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;x-internal:=true,
- org.eclipse.equinox.internal.p2.update;x-friends:="org.eclipse.equinox.p2.reconciler.dropins,org.eclipse.equinox.p2.extensionlocation"
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,
- CDC-1.1/Foundation-1.1
-Bundle-ActivationPolicy: lazy
-Bundle-Activator: org.eclipse.equinox.internal.p2.touchpoint.eclipse.Activator
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/about.html b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 2, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/build.properties b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/build.properties
deleted file mode 100644
index 4bbd9bd..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.xml,\
- about.html,\
- plugin.properties
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/plugin.properties b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/plugin.properties
deleted file mode 100644
index 0266d16..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Equinox Provisioning Eclipse Touchpoint
-providerName = Eclipse.org
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/plugin.xml b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/plugin.xml
deleted file mode 100644
index 7719695..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<plugin>
- <extension point="org.eclipse.equinox.p2.engine.touchpoints" id="eclipse" name="Eclipse Touchpoint">
- <touchpoint
- type="org.eclipse.equinox.p2.osgi"
- class="org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint"
- version="1.0.0"/>
- </extension>
- <extension
- point="org.eclipse.equinox.p2.garbagecollector.marksetproviders"
- id="EclipseTouchpoint">
- <run
- class="org.eclipse.equinox.internal.p2.touchpoint.eclipse.MarkSetProvider"/>
- </extension>
- </plugin>
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/Activator.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/Activator.java
deleted file mode 100644
index 77f5529..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/Activator.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
- public static final String ID = "org.eclipse.equinox.p2.touchpoint.eclipse"; //$NON-NLS-1$
- private static BundleContext context = null;
-
- public void start(BundleContext ctx) throws Exception {
- Activator.context = ctx;
- }
-
- public void stop(BundleContext ctx) throws Exception {
- Activator.context = null;
- }
-
- public static BundleContext getContext() {
- return Activator.context;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/AggregatedBundleRepository.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/AggregatedBundleRepository.java
deleted file mode 100644
index 3e309f0..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/AggregatedBundleRepository.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse;
-
-import java.io.File;
-import java.io.OutputStream;
-import java.util.*;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository.AbstractArtifactRepository;
-
-public class AggregatedBundleRepository extends AbstractArtifactRepository implements IFileArtifactRepository {
-
- private static final String REPOSITORY_TYPE = AggregatedBundleRepository.class.getName();
- private final Collection bundleRepositories;
-
- public AggregatedBundleRepository(Collection bundleRepositories) {
- super(REPOSITORY_TYPE, REPOSITORY_TYPE, "1.0", null, null, null, null); //$NON-NLS-1$
- this.bundleRepositories = bundleRepositories;
- }
-
- public File getArtifactFile(IArtifactKey key) {
- for (Iterator it = bundleRepositories.iterator(); it.hasNext();) {
- IFileArtifactRepository repository = (IFileArtifactRepository) it.next();
- File artifactFile = repository.getArtifactFile(key);
- if (artifactFile != null)
- return artifactFile;
- }
- return null;
- }
-
- public File getArtifactFile(IArtifactDescriptor descriptor) {
- for (Iterator it = bundleRepositories.iterator(); it.hasNext();) {
- IFileArtifactRepository repository = (IFileArtifactRepository) it.next();
- File artifactFile = repository.getArtifactFile(descriptor);
- if (artifactFile != null)
- return artifactFile;
- }
- return null;
- }
-
- public boolean contains(IArtifactDescriptor descriptor) {
- for (Iterator it = bundleRepositories.iterator(); it.hasNext();) {
- IFileArtifactRepository repository = (IFileArtifactRepository) it.next();
- if (repository.contains(descriptor))
- return true;
- }
- return false;
- }
-
- public boolean contains(IArtifactKey key) {
- for (Iterator it = bundleRepositories.iterator(); it.hasNext();) {
- IFileArtifactRepository repository = (IFileArtifactRepository) it.next();
- if (repository.contains(key))
- return true;
- }
- return false;
- }
-
- public IArtifactDescriptor[] getArtifactDescriptors(IArtifactKey key) {
- Set artifactDescriptors = new HashSet();
- for (Iterator it = bundleRepositories.iterator(); it.hasNext();) {
- IFileArtifactRepository repository = (IFileArtifactRepository) it.next();
- IArtifactDescriptor[] descriptors = repository.getArtifactDescriptors(key);
- if (descriptors != null)
- artifactDescriptors.addAll(Arrays.asList(descriptors));
- }
- return (IArtifactDescriptor[]) artifactDescriptors.toArray(new IArtifactDescriptor[artifactDescriptors.size()]);
- }
-
- public IArtifactKey[] getArtifactKeys() {
- Set artifactKeys = new HashSet();
- for (Iterator it = bundleRepositories.iterator(); it.hasNext();) {
- IFileArtifactRepository repository = (IFileArtifactRepository) it.next();
- IArtifactKey[] keys = repository.getArtifactKeys();
- if (keys != null)
- artifactKeys.addAll(Arrays.asList(keys));
- }
- return (IArtifactKey[]) artifactKeys.toArray(new IArtifactKey[artifactKeys.size()]);
- }
-
- public IStatus getArtifact(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) {
- throw new UnsupportedOperationException(Messages.artifact_retrieval_unsupported);
- }
-
- public IStatus getArtifacts(IArtifactRequest[] requests, IProgressMonitor monitor) {
- throw new UnsupportedOperationException(Messages.artifact_retrieval_unsupported);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/EclipseTouchpoint.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/EclipseTouchpoint.java
deleted file mode 100644
index dda2c4f..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/EclipseTouchpoint.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URL;
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.ActionFactory;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.FrameworkAdminRuntimeException;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.Version;
-
-public class EclipseTouchpoint extends Touchpoint {
-
- private static final TouchpointType TOUCHPOINT_TYPE = MetadataFactory.createTouchpointType("org.eclipse.equinox.p2.osgi", new Version("1.0")); //$NON-NLS-1$ //$NON-NLS-2$
-
- // TODO: phase id constants should be defined elsewhere.
- public static final String INSTALL_PHASE_ID = "install"; //$NON-NLS-1$
- public static final String UNINSTALL_PHASE_ID = "uninstall"; //$NON-NLS-1$
-
- public static final String PROFILE_PROP_LAUNCHER_NAME = "eclipse.touchpoint.launcherName"; //$NON-NLS-1$
- public static final String PARM_MANIPULATOR = "manipulator"; //$NON-NLS-1$
- public static final String PARM_PLATFORM_CONFIGURATION = "platformConfiguration"; //$NON-NLS-1$
- public static final String PARM_SOURCE_BUNDLES = "sourceBundles"; //$NON-NLS-1$
- public static final String PARM_IU = "iu"; //$NON-NLS-1$
- public static final String PARM_INSTALL_FOLDER = "installFolder"; //$NON-NLS-1$
-
- public IStatus completePhase(IProgressMonitor monitor, IProfile profile, String phaseId, Map touchpointParameters) {
- Manipulator manipulator = (Manipulator) touchpointParameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
- try {
- manipulator.save(false);
- } catch (RuntimeException e) {
- return Util.createError(Messages.error_saving_manipulator, e);
- } catch (IOException e) {
- return Util.createError(Messages.error_saving_manipulator, e);
- }
-
- if (INSTALL_PHASE_ID.equals(phaseId) || UNINSTALL_PHASE_ID.equals(phaseId)) {
- PlatformConfigurationWrapper configuration = (PlatformConfigurationWrapper) touchpointParameters.get(EclipseTouchpoint.PARM_PLATFORM_CONFIGURATION);
- try {
- configuration.save();
- } catch (ProvisionException pe) {
- return Util.createError(Messages.error_saving_platform_configuration, pe);
- }
- }
-
- SourceManipulator m = (SourceManipulator) touchpointParameters.get(EclipseTouchpoint.PARM_SOURCE_BUNDLES);
- try {
- m.save();
- } catch (IOException e) {
- return Util.createError(Messages.error_saving_source_bundles_list, e);
- }
-
- return Status.OK_STATUS;
- }
-
- public ProvisioningAction getAction(String actionId) {
- return ActionFactory.create(actionId);
- }
-
- public TouchpointType getTouchpointType() {
- //TODO this data probably needs to come from the XML
- return TOUCHPOINT_TYPE;
- }
-
- public IStatus initializePhase(IProgressMonitor monitor, IProfile profile, String phaseId, Map touchpointParameters) {
- touchpointParameters.put(PARM_INSTALL_FOLDER, Util.getInstallFolder(profile));
- LazyManipulator manipulator = new LazyManipulator(profile);
- touchpointParameters.put(PARM_MANIPULATOR, manipulator);
- touchpointParameters.put(PARM_SOURCE_BUNDLES, new SourceManipulator(profile));
- File configLocation = Util.getConfigurationFolder(profile);
- URL poolURL = Util.getBundlePoolLocation(profile);
- touchpointParameters.put(PARM_PLATFORM_CONFIGURATION, new PlatformConfigurationWrapper(configLocation, poolURL, manipulator));
- return null;
- }
-
- public IStatus initializeOperand(IProfile profile, String phaseId, InstallableUnitOperand operand, Map parameters) {
- IInstallableUnit iu = (IInstallableUnit) parameters.get(PARM_IU);
- if (iu != null && Boolean.valueOf(iu.getProperty(IInstallableUnit.PROP_PARTIAL_IU)).booleanValue()) {
- IInstallableUnit preparedIU = prepareIU(iu, profile);
- if (preparedIU == null)
- return Util.createError(NLS.bind(Messages.failed_prepareIU, iu));
-
- parameters.put(PARM_IU, preparedIU);
- }
- return Status.OK_STATUS;
- }
-
- private IInstallableUnit prepareIU(IInstallableUnit iu, IProfile profile) {
-
- Class c = null;
- try {
- c = Class.forName("org.eclipse.equinox.internal.provisional.p2.metadata.generator.MetadataGeneratorHelper"); //$NON-NLS-1$
- if (c != null)
- c = Class.forName("org.eclipse.osgi.service.resolver.PlatformAdmin"); //$NON-NLS-1$
- } catch (ClassNotFoundException e) {
- throw new IllegalStateException(NLS.bind(Messages.generator_not_available, e.getMessage()));
- }
-
- if (c != null) {
- IArtifactKey[] artifacts = iu.getArtifacts();
- if (artifacts == null || artifacts.length == 0)
- return iu;
-
- IArtifactKey artifactKey = artifacts[0];
- if (artifactKey == null)
- return iu;
-
- File bundleFile = Util.getArtifactFile(artifactKey, profile);
- if (bundleFile == null) {
- LogHelper.log(Util.createError(NLS.bind(Messages.artifact_file_not_found, artifactKey.toString())));
- return null;
- }
- return MetadataGeneratorUtils.createBundleIU(artifactKey, bundleFile);
- }
-
- // should not occur
- throw new IllegalStateException(Messages.unexpected_prepareiu_error);
- }
-
- public static IStatus loadManipulator(Manipulator manipulator) {
- try {
- manipulator.load();
- } catch (IllegalStateException e) {
- return Util.createError(Messages.error_loading_manipulator);
- } catch (FrameworkAdminRuntimeException e) {
- return Util.createError(Messages.error_loading_manipulator);
- } catch (IOException e) {
- return Util.createError(Messages.error_loading_manipulator);
- }
- return Status.OK_STATUS;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/LazyManipulator.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/LazyManipulator.java
deleted file mode 100644
index 6f62a40..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/LazyManipulator.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse;
-
-import java.io.IOException;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.osgi.framework.*;
-import org.osgi.util.tracker.ServiceTracker;
-
-public class LazyManipulator implements Manipulator {
-
- private final static String FILTER_OBJECTCLASS = "(" + Constants.OBJECTCLASS + '=' + FrameworkAdmin.class.getName() + ')'; //$NON-NLS-1$
- private final static String filterFwName = "(" + FrameworkAdmin.SERVICE_PROP_KEY_FW_NAME + "=Equinox)"; //$NON-NLS-1$ //$NON-NLS-2$
- private final static String filterLauncherName = "(" + FrameworkAdmin.SERVICE_PROP_KEY_LAUNCHER_NAME + "=Eclipse.exe)"; //$NON-NLS-1$ //$NON-NLS-2$
- private final static String filterFwAdmin = "(&" + FILTER_OBJECTCLASS + filterFwName + filterLauncherName + ')'; //$NON-NLS-1$;
-
- private Manipulator manipulator;
- private final IProfile profile;
-
- public LazyManipulator(IProfile profile) {
- this.profile = profile;
- }
-
- private void loadDelegate() {
- if (manipulator != null)
- return;
-
- manipulator = getFrameworkManipulator();
- if (manipulator == null)
- throw new IllegalStateException(Messages.failed_acquire_framework_manipulator);
-
- LauncherData launcherData = manipulator.getLauncherData();
- launcherData.setFwConfigLocation(Util.getConfigurationFolder(profile));
- launcherData.setLauncher(Util.getLauncherPath(profile));
- launcherData.setLauncherConfigLocation(Util.getLauncherConfigLocation(profile));
-
- try {
- manipulator.load();
- } catch (IllegalStateException e) {
- //if fwJar is not included, this exception will be thrown. But ignore it.
- LogHelper.log(Util.createError(Messages.error_loading_manipulator, e));
- } catch (FrameworkAdminRuntimeException e) {
- // TODO: consider throwing an exception
- LogHelper.log(Util.createError(Messages.error_loading_manipulator, e));
- } catch (IOException e) {
- // TODO: consider throwing an exception
- LogHelper.log(Util.createError(Messages.error_loading_manipulator, e));
- }
- //TODO These values should be inserted by a configuration unit (bug 204124)
- manipulator.getConfigData().setFwDependentProp("eclipse.p2.profile", profile.getProfileId()); //$NON-NLS-1$
- manipulator.getConfigData().setFwDependentProp("eclipse.p2.data.area", Util.computeRelativeAgentLocation(profile)); //$NON-NLS-1$
- }
-
- public static FrameworkAdmin getFrameworkAdmin() {
- ServiceTracker fwAdminTracker = null;
- try {
- Filter filter = Activator.getContext().createFilter(filterFwAdmin);
- fwAdminTracker = new ServiceTracker(Activator.getContext(), filter, null);
- fwAdminTracker.open();
- FrameworkAdmin fwAdmin = (FrameworkAdmin) fwAdminTracker.getService();
- return fwAdmin;
- } catch (InvalidSyntaxException e) {
- //Can't happen we are writing the filter ourselves
- return null;
- } finally {
- if (fwAdminTracker != null)
- fwAdminTracker.close();
- }
- }
-
- private Manipulator getFrameworkManipulator() {
- FrameworkAdmin fwAdmin = getFrameworkAdmin();
- if (fwAdmin != null)
- return fwAdmin.getManipulator();
- return null;
- }
-
- public void save(boolean backup) throws IOException, FrameworkAdminRuntimeException {
- if (manipulator != null)
- manipulator.save(backup);
- }
-
- // DELEGATE METHODS
-
- public BundlesState getBundlesState() throws FrameworkAdminRuntimeException {
- loadDelegate();
- return manipulator.getBundlesState();
- }
-
- public ConfigData getConfigData() throws FrameworkAdminRuntimeException {
- loadDelegate();
- return manipulator.getConfigData();
- }
-
- public BundleInfo[] getExpectedState() throws IllegalStateException, IOException, FrameworkAdminRuntimeException {
- loadDelegate();
- return manipulator.getExpectedState();
- }
-
- public LauncherData getLauncherData() throws FrameworkAdminRuntimeException {
- loadDelegate();
- return manipulator.getLauncherData();
- }
-
- public long getTimeStamp() {
- loadDelegate();
- return manipulator.getTimeStamp();
- }
-
- public void initialize() {
- loadDelegate();
- manipulator.initialize();
- }
-
- public void load() throws IllegalStateException, FrameworkAdminRuntimeException {
- loadDelegate();
- }
-
- public void setConfigData(ConfigData configData) {
- loadDelegate();
- manipulator.setConfigData(configData);
- }
-
- public void setLauncherData(LauncherData launcherData) {
- loadDelegate();
- manipulator.setLauncherData(launcherData);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/MarkSetProvider.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/MarkSetProvider.java
deleted file mode 100644
index bb2087b..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/MarkSetProvider.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse;
-
-import java.io.File;
-import java.util.*;
-import org.eclipse.equinox.internal.p2.garbagecollector.IMarkSetProvider;
-import org.eclipse.equinox.internal.p2.garbagecollector.MarkSet;
-import org.eclipse.equinox.internal.p2.update.*;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepository;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfileRegistry;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.osgi.framework.ServiceReference;
-import org.osgi.framework.Version;
-
-/**
- * IMarkSetProvider implementation for the EclipseTouchPoint.
- */
-public class MarkSetProvider implements IMarkSetProvider {
- private static final String ARTIFACT_CLASSIFIER_OSGI_BUNDLE = "osgi.bundle"; //$NON-NLS-1$
- private static final String ARTIFACT_CLASSIFIER_FEATURE = "org.eclipse.update.feature"; //$NON-NLS-1$
-
- private Collection artifactKeyList = null;
-
- public MarkSet[] getMarkSets(IProfile inProfile) {
- artifactKeyList = new HashSet();
- IArtifactRepository repositoryToGC = Util.getBundlePoolRepository(inProfile);
- if (repositoryToGC == null)
- return new MarkSet[0];
- addArtifactKeys(inProfile);
- IProfile currentProfile = getCurrentProfile();
- if (currentProfile != null && inProfile.getProfileId().equals(currentProfile.getProfileId())) {
- addRunningBundles(repositoryToGC);
- addRunningFeatures(inProfile, repositoryToGC);
- }
- return new MarkSet[] {new MarkSet((IArtifactKey[]) artifactKeyList.toArray(new IArtifactKey[0]), repositoryToGC)};
- }
-
- private void addRunningFeatures(IProfile profile, IArtifactRepository repositoryToGC) {
- try {
- List allFeatures = getAllFeatures(Configuration.load(new File(Util.getConfigurationFolder(profile), "org.eclipse.update/platform.xml"), null)); //$NON-NLS-1$
- for (Iterator iterator = allFeatures.iterator(); iterator.hasNext();) {
- Feature f = (Feature) iterator.next();
- IArtifactKey match = searchArtifact(f.getId(), new Version(f.getVersion()), ARTIFACT_CLASSIFIER_FEATURE, repositoryToGC);
- if (match != null)
- artifactKeyList.add(match);
- }
- } catch (ProvisionException e) {
- //Ignore the exception
- }
- }
-
- private List getAllFeatures(Configuration cfg) {
- if (cfg == null)
- return Collections.EMPTY_LIST;
- List sites = cfg.getSites();
- ArrayList result = new ArrayList();
- for (Iterator iterator = sites.iterator(); iterator.hasNext();) {
- Site object = (Site) iterator.next();
- Feature[] features = object.getFeatures();
- for (int i = 0; i < features.length; i++) {
- result.add(features[i]);
- }
- }
- return result;
- }
-
- private IProfile getCurrentProfile() {
- ServiceReference sr = Activator.getContext().getServiceReference(IProfileRegistry.class.getName());
- if (sr == null)
- return null;
- IProfileRegistry pr = (IProfileRegistry) Activator.getContext().getService(sr);
- if (pr == null)
- return null;
- Activator.getContext().ungetService(sr);
- return pr.getProfile(IProfileRegistry.SELF);
- }
-
- private void addArtifactKeys(IProfile aProfile) {
- Iterator installableUnits = aProfile.query(InstallableUnitQuery.ANY, new Collector(), null).iterator();
- while (installableUnits.hasNext()) {
- IArtifactKey[] keys = ((IInstallableUnit) installableUnits.next()).getArtifacts();
- if (keys == null)
- continue;
- for (int i = 0; i < keys.length; i++) {
- artifactKeyList.add(keys[i]);
- }
- }
- }
-
- public IArtifactRepository getRepository(IProfile aProfile) {
- return Util.getBundlePoolRepository(aProfile);
- }
-
- private void addRunningBundles(IArtifactRepository repo) {
- artifactKeyList.addAll(findCorrespondinArtifacts(new WhatIsRunning().getBundlesBeingRun(), repo));
- }
-
- private IArtifactKey searchArtifact(String searchedId, Version searchedVersion, String classifier, IArtifactRepository repo) {
- //This is somewhat cheating since normally we should get the artifact key from the IUs that were representing the running system (e.g. we could get that info from the rollback repo)
- IArtifactKey[] keys = repo.getArtifactKeys();
- for (int i = 0; i < keys.length; i++) {
- if (keys[i].getClassifier().equals(classifier)) {
- String id = keys[i].getId();
- Version v = keys[i].getVersion();
- if (id != null && id.equals(searchedId) && v != null && v.equals(searchedVersion))
- return keys[i];
- }
- }
- return null;
- }
-
- //Find for each bundle info a corresponding artifact in repo
- private ArrayList findCorrespondinArtifacts(BundleInfo[] bis, IArtifactRepository repo) {
- ArrayList toRetain = new ArrayList();
- for (int i = 0; i < bis.length; i++) {
- IArtifactKey match = searchArtifact(bis[i].getSymbolicName(), new Version(bis[i].getVersion()), ARTIFACT_CLASSIFIER_OSGI_BUNDLE, repo);
- if (match != null)
- toRetain.add(match);
- }
- return toRetain;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/Messages.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/Messages.java
deleted file mode 100644
index e7caf3b..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/Messages.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.touchpoint.eclipse.messages"; //$NON-NLS-1$
- public static String error_loading_manipulator;
- public static String BundlePool;
- public static String failed_acquire_framework_manipulator;
- public static String failed_prepareIU;
- public static String feature_not_found;
- public static String error_saving_manipulator;
- public static String error_saving_platform_configuration;
- public static String error_saving_source_bundles_list;
- public static String error_constructing_platform_configuration_url;
- public static String error_parsing_configuration;
- public static String generator_not_available;
- public static String artifact_file_not_found;
- public static String iu_contains_no_arifacts;
- public static String artifact_retrieval_unsupported;
- public static String bundle_pool_not_writeable;
- public static String cannot_calculate_extension_location;
- public static String cannot_create_url_from_file;
- public static String config_dir_not_absolute;
- public static String parent_dir_features;
- public static String platform_config_unavailable;
- public static String platformadmin_not_registered;
- public static String protocol_handler_error;
- public static String unexpected_prepareiu_error;
-
- static {
- // load message values from bundle file and assign to fields below
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/MetadataGeneratorUtils.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/MetadataGeneratorUtils.java
deleted file mode 100644
index e5fe603..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/MetadataGeneratorUtils.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse;
-
-import java.io.File;
-import java.util.Map;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.BundleDescriptionFactory;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.MetadataGeneratorHelper;
-import org.eclipse.osgi.service.resolver.*;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-
-public class MetadataGeneratorUtils {
-
- public static IInstallableUnit createBundleIU(IArtifactKey artifactKey, File bundleFile) {
- BundleDescriptionFactory factory = initializeBundleDescriptionFactory(Activator.getContext());
- BundleDescription bundleDescription = factory.getBundleDescription(bundleFile);
- if (bundleDescription == null)
- return null;
- return MetadataGeneratorHelper.createBundleIU(bundleDescription, (Map) bundleDescription.getUserObject(), bundleFile.isDirectory(), artifactKey);
- }
-
- private static BundleDescriptionFactory initializeBundleDescriptionFactory(BundleContext context) {
-
- ServiceReference reference = context.getServiceReference(PlatformAdmin.class.getName());
- if (reference == null)
- throw new IllegalStateException(Messages.platformadmin_not_registered);
- PlatformAdmin platformAdmin = (PlatformAdmin) context.getService(reference);
- if (platformAdmin == null)
- throw new IllegalStateException(Messages.platformadmin_not_registered);
-
- try {
- StateObjectFactory stateObjectFactory = platformAdmin.getFactory();
- return new BundleDescriptionFactory(stateObjectFactory, null);
- } finally {
- context.ungetService(reference);
- }
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/PlatformConfigurationWrapper.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/PlatformConfigurationWrapper.java
deleted file mode 100644
index 67eae11..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/PlatformConfigurationWrapper.java
+++ /dev/null
@@ -1,235 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Iterator;
-import java.util.List;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.update.*;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * This class provides a wrapper for reading and writing platform.xml.
- *
- * Only a minimal set of operations is exposed.
- */
-public class PlatformConfigurationWrapper {
-
- private Configuration configuration = null;
- private Site poolSite = null;
- private File configFile;
- private URL poolURL;
- private Manipulator manipulator;
-
- private static String FEATURES = "features/"; //$NON-NLS-1$
-
- private static URL getOSGiInstallArea(Manipulator manipulator) {
- final String OSGI = "org.eclipse.osgi"; //$NON-NLS-1$
- BundleInfo[] bis = manipulator.getConfigData().getBundles();
- String searchFor = "org.eclipse.equinox.launcher"; //$NON-NLS-1$
- for (int i = 0; i < bis.length; i++) {
- if (bis[i].getSymbolicName().equals(searchFor)) {
- if (bis[i].getLocation() != null) {
- try {
- if (bis[i].getLocation().startsWith("file:")) //$NON-NLS-1$
- return fromOSGiJarToOSGiInstallArea(bis[i].getLocation().substring(5)).toURL();
- } catch (MalformedURLException e) {
- //do nothing
- }
- }
- if (searchFor.equals(OSGI))
- return null;
- searchFor = OSGI;
- i = -1;
- }
- }
- return null;
- }
-
- private static File fromOSGiJarToOSGiInstallArea(String path) {
- IPath parentFolder = new Path(path).removeLastSegments(1);
- if (parentFolder.lastSegment().equals("plugins")) //$NON-NLS-1$
- return parentFolder.removeLastSegments(1).toFile();
- return parentFolder.toFile();
- }
-
- public PlatformConfigurationWrapper(File configDir, URL featurePool, Manipulator manipulator) {
- this.configuration = null;
- this.configFile = new File(configDir, "/org.eclipse.update/platform.xml"); //$NON-NLS-1$
- this.poolURL = featurePool;
- this.manipulator = manipulator;
- }
-
- private void loadDelegate() {
- if (configuration != null)
- return;
-
- try {
- if (configFile.exists()) {
- configuration = Configuration.load(configFile, getOSGiInstallArea(manipulator));
- } else {
- configuration = new Configuration();
- }
- } catch (ProvisionException pe) {
- // TODO: Make this a real message
- throw new IllegalStateException(Messages.error_parsing_configuration);
- }
- if (poolURL == null)
- throw new IllegalStateException("Error creating platform configuration. No bundle pool defined."); //$NON-NLS-1$
-
- poolSite = getSite(poolURL);
- if (poolSite == null) {
- poolSite = createSite(poolURL, getDefaultPolicy());
- configuration.add(poolSite);
- }
- }
-
- /*
- * Return the default policy to use when creating a new site. If there are
- * any sites with the MANAGED-ONLY policy, then that is the default.
- * Otherwise the default is USER-EXCLUDE.
- */
- private String getDefaultPolicy() {
- for (Iterator iter = configuration.getSites().iterator(); iter.hasNext();) {
- Site site = (Site) iter.next();
- if (Site.POLICY_MANAGED_ONLY.equals(site.getPolicy()))
- return Site.POLICY_MANAGED_ONLY;
- }
- return Site.POLICY_USER_EXCLUDE;
- }
-
- /*
- * Create and return a site object based on the given location.
- */
- private Site createSite(URL location, String policy) {
- Site result = new Site();
- result.setUrl(location.toExternalForm());
- result.setPolicy(policy);
- result.setEnabled(true);
- return result;
- }
-
- /*
- * Look in the configuration and return the site object whose location matches
- * the given URL. Return null if there is no match.
- */
- private Site getSite(URL url) {
- List sites = configuration.getSites();
- for (Iterator iter = sites.iterator(); iter.hasNext();) {
- Site nextSite = (Site) iter.next();
- String nextURL = nextSite.getUrl();
- if (new Path(nextURL).equals(new Path(url.toExternalForm()))) {
- return nextSite;
- }
- }
- return null;
- }
-
- /*
- * Look in the configuration and return the site which contains the feature
- * with the given identifier and version. Return null if there is none.
- */
- private Site getSite(String id, String version) {
- List sites = configuration.getSites();
- for (Iterator iter = sites.iterator(); iter.hasNext();) {
- Site site = (Site) iter.next();
- Feature[] features = site.getFeatures();
- for (int i = 0; i < features.length; i++) {
- if (id.equals(features[i].getId()) && version.equals(features[i].getVersion()))
- return site;
- }
- }
- return null;
- }
-
- /*
- * @see org.eclipse.update.configurator.IPlatformConfiguration#createFeatureEntry(java.lang.String, java.lang.String, java.lang.String, java.lang.String, boolean, java.lang.String, java.net.URL[])
- */
- public IStatus addFeatureEntry(File file, String id, String version, String pluginIdentifier, String pluginVersion, boolean primary, String application, URL[] root) {
- loadDelegate();
- if (configuration == null)
- return new Status(IStatus.WARNING, Activator.ID, Messages.platform_config_unavailable, null);
-
- URL fileURL = null;
- try {
- File featureDir = file.getParentFile();
- if (featureDir == null || !featureDir.getName().equals("features")) //$NON-NLS-1$
- return new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.parent_dir_features, file.getAbsolutePath()), null);
- File locationDir = featureDir.getParentFile();
- if (locationDir == null)
- return new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.cannot_calculate_extension_location, file.getAbsolutePath()), null);
-
- fileURL = locationDir.toURL();
- } catch (MalformedURLException e) {
- return new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.cannot_create_url_from_file, file.getAbsolutePath()), e);
- }
- Site site = getSite(fileURL);
- if (site == null) {
- site = createSite(fileURL, getDefaultPolicy());
- configuration.add(site);
- } else {
- // check to see if the feature already exists in this site
- if (site.getFeature(id, version) != null)
- return Status.OK_STATUS;
- }
- Feature addedFeature = new Feature(site);
- addedFeature.setId(id);
- addedFeature.setVersion(version);
- addedFeature.setUrl(makeFeatureURL(id, version));
- addedFeature.setApplication(application);
- addedFeature.setPluginIdentifier(pluginIdentifier);
- addedFeature.setPluginVersion(pluginVersion);
- addedFeature.setRoots(root);
- addedFeature.setPrimary(primary);
- site.addFeature(addedFeature);
- return Status.OK_STATUS;
- }
-
- /*
- * @see org.eclipse.update.configurator.IPlatformConfiguration#findConfiguredFeatureEntry(java.lang.String)
- */
- public IStatus removeFeatureEntry(String id, String version) {
- loadDelegate();
- if (configuration == null)
- return new Status(IStatus.WARNING, Activator.ID, Messages.platform_config_unavailable, null);
-
- Site site = getSite(id, version);
- if (site == null)
- site = poolSite;
- site.removeFeature(makeFeatureURL(id, version));
- // if we weren't able to remove the feature from the site because it
- // didn't exist, then someone already did our job for us and it is ok.
- return Status.OK_STATUS;
- }
-
- /*
- * @see org.eclipse.update.configurator.IPlatformConfiguration#save()
- */
- public void save() throws ProvisionException {
- if (configuration != null) {
- configFile.getParentFile().mkdirs();
- configuration.save(configFile, getOSGiInstallArea(manipulator));
- }
- }
-
- private static String makeFeatureURL(String id, String version) {
- return FEATURES + id + "_" + version + "/"; //$NON-NLS-1$ //$NON-NLS-2$;
- }
-
- // }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/SourceManipulator.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/SourceManipulator.java
deleted file mode 100644
index 83dd73c..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/SourceManipulator.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.simpleconfigurator.manipulator.SimpleConfiguratorManipulatorImpl;
-import org.osgi.framework.Version;
-
-//This class deals with source bundles and how their addition to the sourcerce.info
-public class SourceManipulator {
- private List sourceBundles;
- private IProfile profile;
- boolean changed = false;
-
- public SourceManipulator(IProfile profile) {
- this.profile = profile;
- }
-
- public void addBundle(File bundleFile) throws IOException {
- if (sourceBundles == null)
- load();
- sourceBundles.add(new BundleInfo(bundleFile.toURL().toString()));
- }
-
- public void addBundle(File bundleFile, String bundleId, Version bundleVersion) throws IOException {
- if (sourceBundles == null)
- load();
- BundleInfo sourceInfo = new BundleInfo(bundleFile.toURL().toString());
- sourceInfo.setSymbolicName(bundleId);
- sourceInfo.setVersion(bundleVersion.toString());
- sourceBundles.add(sourceInfo);
- }
-
- public void removeBundle(File bundleFile, String bundleId, Version bundleVersion) throws MalformedURLException, IOException {
- if (sourceBundles == null)
- load();
-
- BundleInfo sourceInfo = new BundleInfo();
- if (bundleFile != null)
- sourceInfo.setLocation(bundleFile.toURL().toString());
- sourceInfo.setSymbolicName(bundleId);
- sourceInfo.setVersion(bundleVersion.toString());
- sourceBundles.remove(sourceInfo);
- }
-
- public void save() throws IOException {
- if (sourceBundles != null)
- SimpleConfiguratorManipulatorImpl.saveConfiguration(sourceBundles, getFileLocation(), getLauncherLocation(), false);
- }
-
- private void load() throws MalformedURLException, IOException {
- if (getFileLocation().exists())
- sourceBundles = SimpleConfiguratorManipulatorImpl.readConfiguration(getFileLocation().toURL(), getLauncherLocation());
- else
- sourceBundles = new ArrayList();
- }
-
- private File getFileLocation() {
- return new File(Util.getConfigurationFolder(profile), "org.eclipse.equinox.source/source.info"); //$NON-NLS-1$
- }
-
- private File getLauncherLocation() {
- return Util.getInstallFolder(profile);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/Util.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/Util.java
deleted file mode 100644
index 0183ff6..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/Util.java
+++ /dev/null
@@ -1,338 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Red Hat Incorporated - fix for bug 225145
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse;
-
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.*;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.ActionConstants;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.location.AgentLocation;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.osgi.service.datalocation.Location;
-import org.eclipse.osgi.service.environment.EnvironmentInfo;
-import org.eclipse.osgi.util.ManifestElement;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.BundleException;
-import org.osgi.framework.Constants;
-
-public class Util {
-
- /**
- * TODO "cache" is probably not the right term for this location
- */
- private static final String REPOSITORY_TYPE = IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY;
- private static final String CACHE_EXTENSIONS = "org.eclipse.equinox.p2.cache.extensions"; //$NON-NLS-1$
- private static final String PIPE = "|"; //$NON-NLS-1$
-
- public static final int AGGREGATE_CACHE = 0x01;
- public static final int AGGREGATE_SHARED_CACHE = 0x02;
- public static final int AGGREGATE_CACHE_EXTENSIONS = 0x04;
-
- public static AgentLocation getAgentLocation() {
- return (AgentLocation) ServiceHelper.getService(Activator.getContext(), AgentLocation.class.getName());
- }
-
- public static IArtifactRepositoryManager getArtifactRepositoryManager() {
- return (IArtifactRepositoryManager) ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.class.getName());
- }
-
- public static URL getBundlePoolLocation(IProfile profile) {
- String path = profile.getProperty(IProfile.PROP_CACHE);
- if (path != null)
- try {
- // create a file url
- return new File(path).toURL();
- } catch (MalformedURLException e) {
- // unexpected, URLs should be pre-checked
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, e.getMessage(), e));
- }
- AgentLocation location = getAgentLocation();
- if (location == null)
- return null;
- return location.getDataArea(Activator.ID);
- }
-
- public static synchronized IFileArtifactRepository getBundlePoolRepository(IProfile profile) {
- URL location = getBundlePoolLocation(profile);
- if (location == null)
- return null;
- IArtifactRepositoryManager manager = getArtifactRepositoryManager();
- try {
- return (IFileArtifactRepository) manager.loadRepository(location, null);
- } catch (ProvisionException e) {
- //the repository doesn't exist, so fall through and create a new one
- }
- try {
- String repositoryName = Messages.BundlePool;
- Map properties = new HashMap(1);
- properties.put(IRepository.PROP_SYSTEM, Boolean.TRUE.toString());
- return (IFileArtifactRepository) manager.createRepository(location, repositoryName, REPOSITORY_TYPE, properties);
- } catch (ProvisionException e) {
- LogHelper.log(e);
- throw new IllegalArgumentException(NLS.bind(Messages.bundle_pool_not_writeable, location));
- }
- }
-
- public static IFileArtifactRepository getAggregatedBundleRepository(IProfile profile) {
- return getAggregatedBundleRepository(profile, AGGREGATE_CACHE | AGGREGATE_SHARED_CACHE | AGGREGATE_CACHE_EXTENSIONS);
- }
-
- public static IFileArtifactRepository getAggregatedBundleRepository(IProfile profile, int repoFilter) {
- List bundleRepositories = new ArrayList();
-
- // we check for a shared bundle pool first as it should be preferred over the user bundle pool in a shared install
- IArtifactRepositoryManager manager = getArtifactRepositoryManager();
- if ((repoFilter & AGGREGATE_SHARED_CACHE) != 0) {
- String sharedCache = profile.getProperty(IProfile.PROP_SHARED_CACHE);
- if (sharedCache != null) {
- try {
- URL repoURL = new File(sharedCache).toURL();
- IArtifactRepository repository = manager.loadRepository(repoURL, null);
- if (repository != null && repository instanceof IFileArtifactRepository && !bundleRepositories.contains(repository))
- bundleRepositories.add(repository);
- } catch (ProvisionException e) {
- //skip repository if it could not be read
- } catch (MalformedURLException e) {
- // unexpected, URLs should be pre-checked
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, e.getMessage(), e));
- }
- }
- }
-
- if ((repoFilter & AGGREGATE_CACHE) != 0) {
- IFileArtifactRepository bundlePool = Util.getBundlePoolRepository(profile);
- if (bundlePool != null)
- bundleRepositories.add(bundlePool);
- }
-
- if ((repoFilter & AGGREGATE_CACHE_EXTENSIONS) != 0) {
- List repos = getListProfileProperty(profile, CACHE_EXTENSIONS);
- for (Iterator iterator = repos.iterator(); iterator.hasNext();) {
- try {
- String repo = (String) iterator.next();
- URL repoURL = new URL(repo);
- IArtifactRepository repository = manager.loadRepository(repoURL, null);
- if (repository != null && repository instanceof IFileArtifactRepository && !bundleRepositories.contains(repository))
- bundleRepositories.add(repository);
- } catch (ProvisionException e) {
- //skip repositories that could not be read
- } catch (MalformedURLException e) {
- // unexpected, URLs should be pre-checked
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, e.getMessage(), e));
- }
- }
- }
- return new AggregatedBundleRepository(bundleRepositories);
- }
-
- private static List getListProfileProperty(IProfile profile, String key) {
- List listProperty = new ArrayList();
- String dropinRepositories = profile.getProperty(key);
- if (dropinRepositories != null) {
- StringTokenizer tokenizer = new StringTokenizer(dropinRepositories, PIPE);
- while (tokenizer.hasMoreTokens()) {
- listProperty.add(tokenizer.nextToken());
- }
- }
- return listProperty;
- }
-
- public static BundleInfo createBundleInfo(File bundleFile, String manifest) {
- BundleInfo bundleInfo = new BundleInfo();
- try {
- if (bundleFile != null)
- bundleInfo.setLocation(bundleFile.toURL().toExternalForm());
- } catch (MalformedURLException e) {
- //Ignore since we are creating the URL from the file
- }
-
- bundleInfo.setManifest(manifest);
- try {
- Headers headers = Headers.parseManifest(new ByteArrayInputStream(manifest.getBytes()));
- ManifestElement[] element = ManifestElement.parseHeader("bsn", (String) headers.get(Constants.BUNDLE_SYMBOLICNAME)); //$NON-NLS-1$
- if (element == null || element.length == 0)
- return null;
- bundleInfo.setSymbolicName(element[0].getValue());
-
- String version = (String) headers.get(Constants.BUNDLE_VERSION);
- if (version == null)
- return null;
- bundleInfo.setVersion(version);
- } catch (BundleException e) {
- // unexpected
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, e.getMessage(), e));
- return null;
- }
- return bundleInfo;
- }
-
- public static File getArtifactFile(IArtifactKey artifactKey, IProfile profile) {
- IFileArtifactRepository aggregatedView = getAggregatedBundleRepository(profile);
- File bundleJar = aggregatedView.getArtifactFile(artifactKey);
- return bundleJar;
- }
-
- public static File getConfigurationFolder(IProfile profile) {
- String config = profile.getProperty(IProfile.PROP_CONFIGURATION_FOLDER);
- if (config != null)
- return new File(config);
- return new File(getInstallFolder(profile), "configuration"); //$NON-NLS-1$
- }
-
- /*
- * Do a look-up and return the OSGi install area if it is set.
- */
- public static URL getOSGiInstallArea() {
- Location location = (Location) ServiceHelper.getService(Activator.getContext(), Location.class.getName(), Location.INSTALL_FILTER);
- if (location == null)
- return null;
- if (!location.isSet())
- return null;
- return location.getURL();
- }
-
- /*
- * Helper method to return the eclipse.home location. Return
- * null if it is unavailable.
- */
- public static File getEclipseHome() {
- Location eclipseHome = (Location) ServiceHelper.getService(Activator.getContext(), Location.class.getName(), Location.ECLIPSE_HOME_FILTER);
- if (eclipseHome == null || !eclipseHome.isSet())
- return null;
- URL url = eclipseHome.getURL();
- if (url == null)
- return null;
- return URLUtil.toFile(url);
- }
-
- /**
- * Returns the install folder for the profile, or <code>null</code>
- * if no install folder is defined.
- */
- public static File getInstallFolder(IProfile profile) {
- String folder = profile.getProperty(IProfile.PROP_INSTALL_FOLDER);
- return folder == null ? null : new File(folder);
- }
-
- public static File getLauncherPath(IProfile profile) {
- return new File(getInstallFolder(profile), getLauncherName(profile));
- }
-
- /**
- * Returns the name of the Eclipse application launcher.
- */
- private static String getLauncherName(IProfile profile) {
- String name = profile.getProperty(EclipseTouchpoint.PROFILE_PROP_LAUNCHER_NAME);
-
- String os = getOSFromProfile(profile);
- if (os == null) {
- EnvironmentInfo info = (EnvironmentInfo) ServiceHelper.getService(Activator.getContext(), EnvironmentInfo.class.getName());
- if (info != null)
- os = info.getOS();
- }
- if (name == null)
- name = "eclipse"; //$NON-NLS-1$
-
- if (os.equals(org.eclipse.osgi.service.environment.Constants.OS_MACOSX)) {
- IPath path = new Path(name);
- if (path.segment(0).endsWith(".app")) //$NON-NLS-1$
- return name;
- StringBuffer buffer = new StringBuffer();
- buffer.append(name.substring(0, 1).toUpperCase());
- buffer.append(name.substring(1));
- buffer.append(".app/Contents/MacOS/"); //$NON-NLS-1$
- buffer.append(name.toLowerCase());
- return buffer.toString();
- }
- return name;
- }
-
- private static String getOSFromProfile(IProfile profile) {
- String environments = profile.getProperty(IProfile.PROP_ENVIRONMENTS);
- if (environments == null)
- return null;
- for (StringTokenizer tokenizer = new StringTokenizer(environments, ","); tokenizer.hasMoreElements();) { //$NON-NLS-1$
- String entry = tokenizer.nextToken();
- int i = entry.indexOf('=');
- String key = entry.substring(0, i).trim();
- if (!key.equals("osgi.os")) //$NON-NLS-1$
- continue;
- return entry.substring(i + 1).trim();
- }
- return null;
- }
-
- public static String getManifest(TouchpointData[] data) {
- for (int i = 0; i < data.length; i++) {
- String manifest = data[i].getInstructions("manifest"); //$NON-NLS-1$
- if (manifest != null && manifest.length() > 0)
- return manifest;
- }
- return null;
- }
-
- /**
- * Returns the agent location, if possible as a path relative to the configuration
- * directory using the @config.dir substitution variable. AgentLocation will
- * substitute this variable with the configuration folder location on startup.
- * If the agent location is not a sub-directory of the configuration folder, this
- * method simply returns the absolute agent location expressed as a URL.
- */
- public static String computeRelativeAgentLocation(IProfile profile) {
- URL agentURL = Util.getAgentLocation().getURL();
- //TODO handle proper path/url conversion
- IPath agentPath = new Path(agentURL.getPath());
- IPath configPath = new Path(Util.getConfigurationFolder(profile).getAbsolutePath());
- if (configPath.isPrefixOf(agentPath))
- return "@config.dir/" + agentPath.removeFirstSegments(configPath.segmentCount()).makeRelative().setDevice(null); //$NON-NLS-1$
- if (agentPath.removeLastSegments(1).equals(configPath.removeLastSegments(1)))
- return "@config.dir/../" + agentPath.lastSegment(); //$NON-NLS-1$
- return agentURL.toString();
- }
-
- public static IStatus createError(String message) {
- return createError(message, null);
- }
-
- public static IStatus createError(String message, Exception e) {
- return new Status(IStatus.ERROR, Activator.ID, message, e);
- }
-
- public static String resolveArtifactParam(Map parameters) throws CoreException {
- IProfile profile = (IProfile) parameters.get(ActionConstants.PARM_PROFILE);
- IInstallableUnit iu = (IInstallableUnit) parameters.get(EclipseTouchpoint.PARM_IU);
- IArtifactKey[] artifacts = iu.getArtifacts();
- if (artifacts == null || artifacts.length == 0)
- throw new CoreException(createError(NLS.bind(Messages.iu_contains_no_arifacts, iu)));
-
- IArtifactKey artifactKey = artifacts[0];
-
- File fileLocation = Util.getArtifactFile(artifactKey, profile);
- if (fileLocation == null || !fileLocation.exists())
- throw new CoreException(createError(NLS.bind(Messages.artifact_file_not_found, artifactKey)));
- return fileLocation.getAbsolutePath();
- }
-
- public static File getLauncherConfigLocation(IProfile profile) {
- String launcherConfig = profile.getProperty(IProfile.PROP_LAUNCHER_CONFIGURATION);
- return launcherConfig == null ? null : new File(launcherConfig);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/WhatIsRunning.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/WhatIsRunning.java
deleted file mode 100644
index 1b9aa8e..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/WhatIsRunning.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse;
-
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-
-public class WhatIsRunning {
- public BundleInfo[] getBundlesBeingRun() {
- return getFrameworkManipulator().getConfigData().getBundles();
- }
-
- private Manipulator getFrameworkManipulator() {
- FrameworkAdmin fwAdmin = LazyManipulator.getFrameworkAdmin();
- if (fwAdmin != null)
- return fwAdmin.getRunningManipulator();
- return null;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/ActionConstants.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/ActionConstants.java
deleted file mode 100644
index e3927fb..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/ActionConstants.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-public class ActionConstants {
-
- public static final String PARM_ARTIFACT = "@artifact"; //$NON-NLS-1$
- public static final String PARM_ARTIFACT_REQUESTS = "artifactRequests"; //$NON-NLS-1$
- public static final String PARM_BUNDLE = "bundle"; //$NON-NLS-1$
- public static final String PARM_FEATURE = "feature"; //$NON-NLS-1$
- public static final String PARM_FEATURE_ID = "featureId"; //$NON-NLS-1$
- public static final String PARM_FEATURE_VERSION = "featureVersion"; //$NON-NLS-1$
- public static final String PARM_JVM_ARG = "jvmArg"; //$NON-NLS-1$
- public static final String PARM_OPERAND = "operand"; //$NON-NLS-1$
- public static final String PARM_PREVIOUS_START_LEVEL = "previousStartLevel"; //$NON-NLS-1$
- public static final String PARM_PREVIOUS_STARTED = "previousStarted"; //$NON-NLS-1$
- public static final String PARM_PREVIOUS_VALUE = "previousValue"; //$NON-NLS-1$
- public static final String PARM_PROFILE = "profile"; //$NON-NLS-1$
- public static final String PARM_PROGRAM_ARG = "programArg"; //$NON-NLS-1$
- public static final String PARM_PROP_NAME = "propName"; //$NON-NLS-1$
- public static final String PARM_PROP_VALUE = "propValue"; //$NON-NLS-1$
- public static final String PARM_START_LEVEL = "startLevel"; //$NON-NLS-1$
- public static final String PARM_STARTED = "started"; //$NON-NLS-1$
- public static final String PARM_DEFAULT_VALUE = "default"; //$NON-NLS-1$
- public static final String PARM_LAUNCHERNAME = "name"; //$NON-NLS-1$
- public static final String PARM_PATH = "path"; //$NON-NLS-1$
- public static final String PARM_TARGET_DIR = "targetDir"; //$NON-NLS-1$
- public static final String PARM_LINK_NAME = "linkName"; //$NON-NLS-1$
- public static final String PARM_LINK_FORCE = "force"; //$NON-NLS-1$
- public static final String PARM_LINK_TARGET = "linkTarget"; //$NON-NLS-1$
- public static final String PARM_TARGET_FILE = "targetFile"; //$NON-NLS-1$
- public static final String PARM_PERMISSIONS = "permissions"; //$NON-NLS-1$
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/ActionFactory.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/ActionFactory.java
deleted file mode 100644
index 44e9dec..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/ActionFactory.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.util.HashMap;
-import java.util.Map;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningAction;
-import org.eclipse.osgi.util.NLS;
-
-public class ActionFactory {
-
- private static Map actions;
-
- static {
- actions = new HashMap();
- actions.put(CollectAction.ID, CollectAction.class);
- actions.put(InstallBundleAction.ID, InstallBundleAction.class);
- actions.put(UninstallBundleAction.ID, UninstallBundleAction.class);
- actions.put(AddSourceBundleAction.ID, AddSourceBundleAction.class);
- actions.put(RemoveSourceBundleAction.ID, RemoveSourceBundleAction.class);
- actions.put(InstallFeatureAction.ID, InstallFeatureAction.class);
- actions.put(UninstallFeatureAction.ID, UninstallFeatureAction.class);
- actions.put(SetLauncherNameAction.ID, SetLauncherNameAction.class);
- actions.put(AddProgramArgumentAction.ID, AddProgramArgumentAction.class);
- actions.put(RemoveProgramArgumentAction.ID, RemoveProgramArgumentAction.class);
- actions.put(SetStartLevelAction.ID, SetStartLevelAction.class);
- actions.put(MarkStartedAction.ID, MarkStartedAction.class);
- actions.put(SetFrameworkDependentPropertyAction.ID, SetFrameworkDependentPropertyAction.class);
- actions.put(SetFrameworkIndependentPropertyAction.ID, SetFrameworkIndependentPropertyAction.class);
- actions.put(SetProgramPropertyAction.ID, SetProgramPropertyAction.class);
- actions.put(AddJVMArgumentAction.ID, AddJVMArgumentAction.class);
- actions.put(RemoveJVMArgumentAction.ID, RemoveJVMArgumentAction.class);
- actions.put(MkdirAction.ID, MkdirAction.class);
- actions.put(RmdirAction.ID, RmdirAction.class);
- actions.put(LinkAction.ID, LinkAction.class);
- actions.put(ChmodAction.ID, ChmodAction.class);
- actions.put(CheckTrustAction.ID, CheckTrustAction.class);
- }
-
- public static ProvisioningAction create(String actionId) {
- Class clazz = (Class) actions.get(actionId);
- if (clazz != null) {
- try {
- return (ProvisioningAction) clazz.newInstance();
- } catch (InstantiationException e) {
- LogHelper.log(Util.createError(NLS.bind(Messages.action_not_instantiated, actionId), e));
- return null;
- } catch (IllegalAccessException e) {
- LogHelper.log(Util.createError(NLS.bind(Messages.action_not_instantiated, actionId), e));
- return null;
- }
- }
- return null;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/AddJVMArgumentAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/AddJVMArgumentAction.java
deleted file mode 100644
index be5c221..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/AddJVMArgumentAction.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningAction;
-import org.eclipse.osgi.util.NLS;
-
-public class AddJVMArgumentAction extends ProvisioningAction {
- public static final String ID = "addJvmArg"; //$NON-NLS-1$
-
- public IStatus execute(Map parameters) {
- Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
- String jvmArg = (String) parameters.get(ActionConstants.PARM_JVM_ARG);
- if (jvmArg == null)
- return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_JVM_ARG, ID));
- manipulator.getLauncherData().addJvmArg(jvmArg);
- return Status.OK_STATUS;
- }
-
- public IStatus undo(Map parameters) {
- Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
- String jvmArg = (String) parameters.get(ActionConstants.PARM_JVM_ARG);
- if (jvmArg == null)
- return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_JVM_ARG, ID));
- manipulator.getLauncherData().removeJvmArg(jvmArg);
- return Status.OK_STATUS;
- }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/AddProgramArgumentAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/AddProgramArgumentAction.java
deleted file mode 100644
index 623b03d..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/AddProgramArgumentAction.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningAction;
-import org.eclipse.osgi.util.NLS;
-
-public class AddProgramArgumentAction extends ProvisioningAction {
- public static final String ID = "addProgramArg"; //$NON-NLS-1$
-
- public IStatus execute(Map parameters) {
- Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
- String programArg = (String) parameters.get(ActionConstants.PARM_PROGRAM_ARG);
- if (programArg == null)
- return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_PROGRAM_ARG, ID));
-
- if (programArg.equals(ActionConstants.PARM_ARTIFACT)) {
- try {
- programArg = Util.resolveArtifactParam(parameters);
- } catch (CoreException e) {
- return e.getStatus();
- }
- }
-
- manipulator.getLauncherData().addProgramArg(programArg);
- return Status.OK_STATUS;
- }
-
- public IStatus undo(Map parameters) {
- Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
- String programArg = (String) parameters.get(ActionConstants.PARM_PROGRAM_ARG);
- if (programArg == null)
- return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_PROGRAM_ARG, ID));
-
- if (programArg.equals(ActionConstants.PARM_ARTIFACT)) {
- try {
- programArg = Util.resolveArtifactParam(parameters);
- } catch (CoreException e) {
- return e.getStatus();
- }
- }
-
- manipulator.getLauncherData().removeProgramArg(programArg);
- return Status.OK_STATUS;
- }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/AddSourceBundleAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/AddSourceBundleAction.java
deleted file mode 100644
index 2f90c6a..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/AddSourceBundleAction.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningAction;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.osgi.util.NLS;
-
-public class AddSourceBundleAction extends ProvisioningAction {
- public static final String ID = "addSourceBundle"; //$NON-NLS-1$
-
- public IStatus execute(Map parameters) {
- return AddSourceBundleAction.addSourceBundle(parameters);
- }
-
- public IStatus undo(Map parameters) {
- return RemoveSourceBundleAction.removeSourceBundle(parameters);
- }
-
- public static IStatus addSourceBundle(Map parameters) {
- IProfile profile = (IProfile) parameters.get(ActionConstants.PARM_PROFILE);
- IInstallableUnit iu = (IInstallableUnit) parameters.get(EclipseTouchpoint.PARM_IU);
- SourceManipulator manipulator = (SourceManipulator) parameters.get(EclipseTouchpoint.PARM_SOURCE_BUNDLES);
- String bundleId = (String) parameters.get(ActionConstants.PARM_BUNDLE);
- if (bundleId == null)
- return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_BUNDLE, ID));
-
- IArtifactKey[] artifacts = iu.getArtifacts();
- if (artifacts == null || artifacts.length == 0)
- return Util.createError(NLS.bind(Messages.iu_contains_no_arifacts, iu));
-
- IArtifactKey artifactKey = null;
- for (int i = 0; i < artifacts.length; i++) {
- if (artifacts[i].toString().equals(bundleId)) {
- artifactKey = artifacts[i];
- break;
- }
- }
- if (artifactKey == null)
- throw new IllegalArgumentException(NLS.bind(Messages.no_matching_artifact, bundleId));
-
- File bundleFile = Util.getArtifactFile(artifactKey, profile);
- if (bundleFile == null || !bundleFile.exists())
- return Util.createError(NLS.bind(Messages.artifact_file_not_found, artifactKey));
-
- try {
- manipulator.addBundle(bundleFile, artifactKey.getId(), artifactKey.getVersion());
- } catch (IOException e) {
- return Util.createError(NLS.bind(Messages.cannot_configure_source_bundle, artifactKey));
- }
- return Status.OK_STATUS;
- }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/CheckTrustAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/CheckTrustAction.java
deleted file mode 100644
index c9659e8..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/CheckTrustAction.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.io.File;
-import java.util.Collection;
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningAction;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-
-/**
- * This action collects the set of bundle files on which the signature trust check
- * should be performed. The actual trust checking is done by the CheckTrust phase.
- */
-public class CheckTrustAction extends ProvisioningAction {
-
- public static final String ID = "checkTrust"; //$NON-NLS-1$
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningAction#execute(java.util.Map)
- */
- public IStatus execute(Map parameters) {
- IInstallableUnit iu = (IInstallableUnit) parameters.get(EclipseTouchpoint.PARM_IU);
- if (iu == null)
- return null;
- Collection bundleFiles = (Collection) parameters.get(ActionConstants.PARM_ARTIFACT_REQUESTS);
- IProfile profile = (IProfile) parameters.get(ActionConstants.PARM_PROFILE);
- IArtifactKey[] artifacts = iu.getArtifacts();
- if (artifacts == null)
- return null;
- for (int i = 0; i < artifacts.length; i++) {
- File bundleFile = Util.getArtifactFile(artifacts[i], profile);
- if (!bundleFiles.contains(bundleFile))
- bundleFiles.add(bundleFile);
- }
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningAction#undo(java.util.Map)
- */
- public IStatus undo(Map parameters) {
- return Status.OK_STATUS;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/ChmodAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/ChmodAction.java
deleted file mode 100644
index 8b86855..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/ChmodAction.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningAction;
-import org.eclipse.osgi.util.NLS;
-
-public class ChmodAction extends ProvisioningAction {
- public static final String ID = "chmod"; //$NON-NLS-1$
-
- public IStatus execute(Map parameters) {
- String targetDir = (String) parameters.get(ActionConstants.PARM_TARGET_DIR);
- if (targetDir == null)
- return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_TARGET_DIR, ID));
- if (targetDir.equals(ActionConstants.PARM_ARTIFACT)) {
- try {
- targetDir = Util.resolveArtifactParam(parameters);
- } catch (CoreException e) {
- return e.getStatus();
- }
- File dir = new File(targetDir);
- if (!dir.isDirectory()) {
- return Util.createError(NLS.bind(Messages.artifact_not_directory, dir));
- }
- }
- String targetFile = (String) parameters.get(ActionConstants.PARM_TARGET_FILE);
- if (targetFile == null)
- return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_TARGET_FILE, ID));
-
- String permissions = (String) parameters.get(ActionConstants.PARM_PERMISSIONS);
- if (permissions == null)
- return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_PERMISSIONS, ID));
-
- chmod(targetDir, targetFile, permissions);
- return Status.OK_STATUS;
- }
-
- public IStatus undo(Map parameters) {
- //TODO: implement undo ??
- return Status.OK_STATUS;
- }
-
- private void chmod(String targetDir, String targetFile, String perms) {
- Runtime r = Runtime.getRuntime();
- try {
- r.exec(new String[] {"chmod", perms, targetDir + IPath.SEPARATOR + targetFile}); //$NON-NLS-1$
- } catch (IOException e) {
- // FIXME: we should probably throw some sort of error here
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/CollectAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/CollectAction.java
deleted file mode 100644
index 01dc26d..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/CollectAction.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.util.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.osgi.util.NLS;
-
-public class CollectAction extends ProvisioningAction {
- public static final String ID = "collect"; //$NON-NLS-1$
- public static final String ARTIFACT_FOLDER = "artifact.folder"; //$NON-NLS-1$
-
- public IStatus execute(Map parameters) {
- IProfile profile = (IProfile) parameters.get(ActionConstants.PARM_PROFILE);
- InstallableUnitOperand operand = (InstallableUnitOperand) parameters.get(ActionConstants.PARM_OPERAND);
- IArtifactRequest[] requests;
- try {
- requests = CollectAction.collect(operand.second(), profile);
- } catch (ProvisionException e) {
- return e.getStatus();
- }
-
- Collection artifactRequests = (Collection) parameters.get(ActionConstants.PARM_ARTIFACT_REQUESTS);
- artifactRequests.add(requests);
- return Status.OK_STATUS;
- }
-
- public IStatus undo(Map parameters) {
- // nothing to do for now
- return Status.OK_STATUS;
- }
-
- public static boolean isZipped(TouchpointData[] data) {
- if (data == null || data.length == 0)
- return false;
- for (int i = 0; i < data.length; i++) {
- if (data[i].getInstructions("zipped") != null) //$NON-NLS-1$
- return true;
- }
- return false;
- }
-
- public static Properties createArtifactDescriptorProperties(IInstallableUnit installableUnit) {
- Properties descriptorProperties = null;
- if (CollectAction.isZipped(installableUnit.getTouchpointData())) {
- descriptorProperties = new Properties();
- descriptorProperties.setProperty(CollectAction.ARTIFACT_FOLDER, Boolean.TRUE.toString());
- }
- return descriptorProperties;
- }
-
- // TODO: Here we may want to consult multiple caches
- public static IArtifactRequest[] collect(IInstallableUnit installableUnit, IProfile profile) throws ProvisionException {
- IArtifactKey[] toDownload = installableUnit.getArtifacts();
- if (toDownload == null || toDownload.length == 0)
- return IArtifactRepositoryManager.NO_ARTIFACT_REQUEST;
-
- IArtifactRepository aggregatedRepositoryView = Util.getAggregatedBundleRepository(profile);
- IArtifactRepository bundlePool = Util.getBundlePoolRepository(profile);
- if (bundlePool == null)
- throw new ProvisionException(Util.createError(NLS.bind(Messages.no_bundle_pool, profile.getProfileId())));
-
- List requests = new ArrayList();
- for (int i = 0; i < toDownload.length; i++) {
- IArtifactKey key = toDownload[i];
- if (!aggregatedRepositoryView.contains(key)) {
- Properties repositoryProperties = CollectAction.createArtifactDescriptorProperties(installableUnit);
- requests.add(Util.getArtifactRepositoryManager().createMirrorRequest(key, bundlePool, null, repositoryProperties));
- }
- }
-
- if (requests.isEmpty())
- return IArtifactRepositoryManager.NO_ARTIFACT_REQUEST;
-
- IArtifactRequest[] result = (IArtifactRequest[]) requests.toArray(new IArtifactRequest[requests.size()]);
- return result;
- }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/InstallBundleAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/InstallBundleAction.java
deleted file mode 100644
index ebfc124..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/InstallBundleAction.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.io.File;
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningAction;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.osgi.util.NLS;
-
-public class InstallBundleAction extends ProvisioningAction {
- public static final String ID = "installBundle"; //$NON-NLS-1$
-
- public IStatus execute(Map parameters) {
- return InstallBundleAction.installBundle(parameters);
- }
-
- public IStatus undo(Map parameters) {
- return UninstallBundleAction.uninstallBundle(parameters);
- }
-
- public static IStatus installBundle(Map parameters) {
- IProfile profile = (IProfile) parameters.get(ActionConstants.PARM_PROFILE);
- IInstallableUnit iu = (IInstallableUnit) parameters.get(EclipseTouchpoint.PARM_IU);
- Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
- String bundleId = (String) parameters.get(ActionConstants.PARM_BUNDLE);
- if (bundleId == null)
- return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_BUNDLE, ID));
-
- //TODO: eventually remove this. What is a fragment doing here??
- if (iu.isFragment()) {
- System.out.println("What is a fragment doing here!!! -- " + iu); //$NON-NLS-1$
- return Status.OK_STATUS;
- }
-
- IArtifactKey[] artifacts = iu.getArtifacts();
- if (artifacts == null || artifacts.length == 0)
- return Util.createError(NLS.bind(Messages.iu_contains_no_arifacts, iu));
-
- IArtifactKey artifactKey = null;
- for (int i = 0; i < artifacts.length; i++) {
- if (artifacts[i].toString().equals(bundleId)) {
- artifactKey = artifacts[i];
- break;
- }
- }
- if (artifactKey == null)
- throw new IllegalArgumentException(NLS.bind(Messages.no_matching_artifact, bundleId));
-
- File bundleFile = Util.getArtifactFile(artifactKey, profile);
- if (bundleFile == null || !bundleFile.exists())
- return Util.createError(NLS.bind(Messages.artifact_file_not_found, artifactKey));
-
- //By now we always have the manifest in the touchpoint data
- String manifest = Util.getManifest(iu.getTouchpointData());
- if (manifest == null)
- return Util.createError(NLS.bind(Messages.missing_manifest, iu));
-
- BundleInfo bundleInfo = Util.createBundleInfo(bundleFile, manifest);
- if (bundleInfo == null)
- return Util.createError(NLS.bind(Messages.failed_bundleinfo, iu));
- manipulator.getConfigData().addBundle(bundleInfo);
-
- return Status.OK_STATUS;
- }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/InstallFeatureAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/InstallFeatureAction.java
deleted file mode 100644
index 66021f2..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/InstallFeatureAction.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.io.File;
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningAction;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.osgi.util.NLS;
-
-public class InstallFeatureAction extends ProvisioningAction {
- public static final String ID = "installFeature"; //$NON-NLS-1$
- private static final String UPDATE_FEATURE_APPLICATION_PROP = "org.eclipse.update.feature.application"; //$NON-NLS-1$
- private static final String UPDATE_FEATURE_PLUGIN_PROP = "org.eclipse.update.feature.plugin"; //$NON-NLS-1$
- private static final String UPDATE_FEATURE_PRIMARY_PROP = "org.eclipse.update.feature.primary"; //$NON-NLS-1$
-
- public IStatus execute(Map parameters) {
- return InstallFeatureAction.installFeature(parameters);
- }
-
- public IStatus undo(Map parameters) {
- return UninstallFeatureAction.uninstallFeature(parameters);
- }
-
- public static IStatus installFeature(Map parameters) {
- IInstallableUnit iu = (IInstallableUnit) parameters.get(EclipseTouchpoint.PARM_IU);
- PlatformConfigurationWrapper configuration = (PlatformConfigurationWrapper) parameters.get(EclipseTouchpoint.PARM_PLATFORM_CONFIGURATION);
- String feature = (String) parameters.get(ActionConstants.PARM_FEATURE);
- String featureId = (String) parameters.get(ActionConstants.PARM_FEATURE_ID);
- String featureVersion = (String) parameters.get(ActionConstants.PARM_FEATURE_VERSION);
-
- IArtifactKey[] artifacts = iu.getArtifacts();
- if (artifacts == null || artifacts.length == 0)
- return Util.createError(NLS.bind(Messages.iu_contains_no_arifacts, iu));
-
- IArtifactKey artifactKey = null;
- for (int i = 0; i < artifacts.length; i++) {
- if (artifacts[i].toString().equals(feature)) {
- artifactKey = artifacts[i];
- break;
- }
- }
-
- if (featureId == null)
- return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_FEATURE_ID, ID));
- else if (ActionConstants.PARM_DEFAULT_VALUE.equals(featureId)) {
- featureId = artifactKey.getId();
- }
-
- if (featureVersion == null)
- return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_FEATURE_VERSION, ID));
- else if (ActionConstants.PARM_DEFAULT_VALUE.equals(featureVersion)) {
- featureVersion = artifactKey.getVersion().toString();
- }
-
- IProfile profile = (IProfile) parameters.get(ActionConstants.PARM_PROFILE);
- File file = Util.getArtifactFile(artifactKey, profile);
- if (file == null || !file.exists()) {
- return Util.createError(NLS.bind(Messages.artifact_file_not_found, artifactKey));
- }
- String pluginId = iu.getProperty(UPDATE_FEATURE_PLUGIN_PROP);
- boolean isPrimary = Boolean.valueOf(iu.getProperty(UPDATE_FEATURE_PRIMARY_PROP)).booleanValue();
- String application = iu.getProperty(UPDATE_FEATURE_APPLICATION_PROP);
- // TODO this isn't right... but we will leave it for now because we don't actually use the value in the install
- String pluginVersion = artifactKey.getVersion().toString();
- return configuration.addFeatureEntry(file, featureId, featureVersion, pluginId, pluginVersion, isPrimary, application, /*root*/null);
- }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/LinkAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/LinkAction.java
deleted file mode 100644
index 17a49e2..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/LinkAction.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningAction;
-import org.eclipse.osgi.util.NLS;
-
-public class LinkAction extends ProvisioningAction {
- public static final String ID = "ln"; //$NON-NLS-1$
-
- public IStatus execute(Map parameters) {
- String targetDir = (String) parameters.get(ActionConstants.PARM_TARGET_DIR);
- if (targetDir == null)
- return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_TARGET_DIR, ID));
-
- if (targetDir.equals(ActionConstants.PARM_ARTIFACT)) {
- try {
- targetDir = Util.resolveArtifactParam(parameters);
- } catch (CoreException e) {
- return e.getStatus();
- }
- File dir = new File(targetDir);
- if (!dir.isDirectory()) {
- return Util.createError(NLS.bind(Messages.artifact_not_directory, dir));
- }
- }
-
- String linkTarget = (String) parameters.get(ActionConstants.PARM_LINK_TARGET);
- if (linkTarget == null)
- return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_LINK_TARGET, ID));
-
- String linkName = (String) parameters.get(ActionConstants.PARM_LINK_NAME);
- if (linkName == null)
- return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_LINK_NAME, ID));
-
- String force = (String) parameters.get(ActionConstants.PARM_LINK_FORCE);
-
- ln(targetDir, linkTarget, linkName, Boolean.valueOf(force).booleanValue());
- return Status.OK_STATUS;
- }
-
- public IStatus undo(Map parameters) {
- // TODO Auto-generated method stub
- return null;
- }
-
- private void ln(String targetDir, String linkTarget, String linkName, boolean force) {
- Runtime r = Runtime.getRuntime();
- try {
- r.exec(new String[] {"ln", "-s" + (force ? "f" : ""), linkTarget, targetDir + IPath.SEPARATOR + linkName}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/MarkStartedAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/MarkStartedAction.java
deleted file mode 100644
index 394608e..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/MarkStartedAction.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.io.File;
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningAction;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.osgi.util.NLS;
-
-public class MarkStartedAction extends ProvisioningAction {
- public static final String ID = "markStarted"; //$NON-NLS-1$
-
- public IStatus execute(Map parameters) {
- IProfile profile = (IProfile) parameters.get(ActionConstants.PARM_PROFILE);
- Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
- IInstallableUnit iu = (IInstallableUnit) parameters.get(EclipseTouchpoint.PARM_IU);
- String started = (String) parameters.get(ActionConstants.PARM_STARTED);
- if (started == null)
- return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_STARTED, ID));
-
- IArtifactKey[] artifacts = iu.getArtifacts();
- if (artifacts == null || artifacts.length == 0)
- return Util.createError(NLS.bind(Messages.iu_contains_no_arifacts, iu));
-
- IArtifactKey artifactKey = artifacts[0];
- File bundleFile = Util.getArtifactFile(artifactKey, profile);
- if (bundleFile == null || !bundleFile.exists())
- return Util.createError(NLS.bind(Messages.artifact_file_not_found, artifactKey));
-
- String manifest = Util.getManifest(iu.getTouchpointData());
- if (manifest == null)
- return Util.createError(NLS.bind(Messages.missing_manifest, iu));
-
- BundleInfo bundleInfo = Util.createBundleInfo(bundleFile, manifest);
- if (bundleInfo == null)
- return Util.createError(NLS.bind(Messages.failed_bundleinfo, iu));
-
- BundleInfo[] bundles = manipulator.getConfigData().getBundles();
- for (int i = 0; i < bundles.length; i++) {
- if (bundles[i].equals(bundleInfo)) {
- getMemento().put(ActionConstants.PARM_PREVIOUS_STARTED, new Boolean(bundles[i].isMarkedAsStarted()));
- bundles[i].setMarkedAsStarted(Boolean.valueOf(started).booleanValue());
- break;
- }
- }
- return Status.OK_STATUS;
- }
-
- public IStatus undo(Map parameters) {
- IProfile profile = (IProfile) parameters.get(ActionConstants.PARM_PROFILE);
- Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
- IInstallableUnit iu = (IInstallableUnit) parameters.get(EclipseTouchpoint.PARM_IU);
-
- IArtifactKey[] artifacts = iu.getArtifacts();
- if (artifacts == null || artifacts.length == 0)
- return Util.createError(NLS.bind(Messages.iu_contains_no_arifacts, iu));
-
- IArtifactKey artifactKey = artifacts[0];
- File bundleFile = Util.getArtifactFile(artifactKey, profile);
- if (bundleFile == null || !bundleFile.exists())
- return Util.createError(NLS.bind(Messages.artifact_file_not_found, artifactKey));
-
- String manifest = Util.getManifest(iu.getTouchpointData());
- if (manifest == null)
- return Util.createError(NLS.bind(Messages.missing_manifest, iu));
-
- BundleInfo bundleInfo = Util.createBundleInfo(bundleFile, manifest);
- if (bundleInfo == null)
- return Util.createError(NLS.bind(Messages.failed_bundleinfo, iu));
-
- BundleInfo[] bundles = manipulator.getConfigData().getBundles();
- for (int i = 0; i < bundles.length; i++) {
- if (bundles[i].equals(bundleInfo)) {
- Boolean previousStarted = (Boolean) getMemento().get(ActionConstants.PARM_PREVIOUS_STARTED);
- if (previousStarted != null)
- bundles[i].setMarkedAsStarted(previousStarted.booleanValue());
- break;
- }
- }
- return Status.OK_STATUS;
- }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/Messages.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/Messages.java
deleted file mode 100644
index f22fca7..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/Messages.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.messages"; //$NON-NLS-1$
- public static String artifact_file_not_found;
- public static String action_not_instantiated;
- public static String parameter_not_set;
- public static String iu_contains_no_arifacts;
- public static String no_matching_artifact;
- public static String missing_manifest;
- public static String failed_bundleinfo;
- public static String cannot_configure_source_bundle;
- public static String error_parsing_startlevel;
- public static String artifact_not_directory;
- public static String no_bundle_pool;
-
- static {
- // load message values from bundle file and assign to fields below
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/MkdirAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/MkdirAction.java
deleted file mode 100644
index bdf2e0f..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/MkdirAction.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.io.File;
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningAction;
-import org.eclipse.osgi.util.NLS;
-
-public class MkdirAction extends ProvisioningAction {
- public static final String ID = "mkdir"; //$NON-NLS-1$
-
- public IStatus execute(Map parameters) {
- String path = (String) parameters.get(ActionConstants.PARM_PATH);
- if (path == null)
- return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_PATH, ID));
- new File(path).mkdir();
- return Status.OK_STATUS;
- }
-
- public IStatus undo(Map parameters) {
- String path = (String) parameters.get(ActionConstants.PARM_PATH);
- if (path == null)
- return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_PATH, ID));
- new File(path).delete();
- return Status.OK_STATUS;
- }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/RemoveJVMArgumentAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/RemoveJVMArgumentAction.java
deleted file mode 100644
index fd2815e..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/RemoveJVMArgumentAction.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningAction;
-import org.eclipse.osgi.util.NLS;
-
-public class RemoveJVMArgumentAction extends ProvisioningAction {
- public static final String ID = "removeJvmArg"; //$NON-NLS-1$
-
- public IStatus execute(Map parameters) {
- Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
- String jvmArg = (String) parameters.get(ActionConstants.PARM_JVM_ARG);
- if (jvmArg == null)
- return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_JVM_ARG, ID));
- manipulator.getLauncherData().removeJvmArg(jvmArg);
- return Status.OK_STATUS;
- }
-
- public IStatus undo(Map parameters) {
- Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
- String jvmArg = (String) parameters.get(ActionConstants.PARM_JVM_ARG);
- if (jvmArg == null)
- return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_JVM_ARG, ID));
- manipulator.getLauncherData().addJvmArg(jvmArg);
- return Status.OK_STATUS;
- }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/RemoveProgramArgumentAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/RemoveProgramArgumentAction.java
deleted file mode 100644
index 1f12341..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/RemoveProgramArgumentAction.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningAction;
-import org.eclipse.osgi.util.NLS;
-
-public class RemoveProgramArgumentAction extends ProvisioningAction {
- public static final String ID = "removeProgramArg"; //$NON-NLS-1$
-
- public IStatus execute(Map parameters) {
- Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
- String programArg = (String) parameters.get(ActionConstants.PARM_PROGRAM_ARG);
- if (programArg == null)
- return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_PROGRAM_ARG, ID));
-
- if (programArg.equals(ActionConstants.PARM_ARTIFACT)) {
- try {
- programArg = Util.resolveArtifactParam(parameters);
- } catch (CoreException e) {
- return e.getStatus();
- }
- }
-
- manipulator.getLauncherData().removeProgramArg(programArg);
- return Status.OK_STATUS;
- }
-
- public IStatus undo(Map parameters) {
- Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
- String programArg = (String) parameters.get(ActionConstants.PARM_PROGRAM_ARG);
- if (programArg == null)
- return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_PROGRAM_ARG, ID));
-
- if (programArg.equals(ActionConstants.PARM_ARTIFACT)) {
- try {
- programArg = Util.resolveArtifactParam(parameters);
- } catch (CoreException e) {
- return e.getStatus();
- }
- }
-
- manipulator.getLauncherData().addProgramArg(programArg);
- return Status.OK_STATUS;
- }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/RemoveSourceBundleAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/RemoveSourceBundleAction.java
deleted file mode 100644
index 21b1a14..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/RemoveSourceBundleAction.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningAction;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.osgi.util.NLS;
-
-public class RemoveSourceBundleAction extends ProvisioningAction {
- public static final String ID = "removeSourceBundle"; //$NON-NLS-1$
-
- public IStatus execute(Map parameters) {
- return RemoveSourceBundleAction.removeSourceBundle(parameters);
- }
-
- public IStatus undo(Map parameters) {
- return AddSourceBundleAction.addSourceBundle(parameters);
- }
-
- public static IStatus removeSourceBundle(Map parameters) {
- IProfile profile = (IProfile) parameters.get(ActionConstants.PARM_PROFILE);
- IInstallableUnit iu = (IInstallableUnit) parameters.get(EclipseTouchpoint.PARM_IU);
- SourceManipulator manipulator = (SourceManipulator) parameters.get(EclipseTouchpoint.PARM_SOURCE_BUNDLES);
- String bundleId = (String) parameters.get(ActionConstants.PARM_BUNDLE);
- if (bundleId == null)
- return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_BUNDLE, ID));
-
- IArtifactKey[] artifacts = iu.getArtifacts();
- if (artifacts == null || artifacts.length == 0)
- return Util.createError(NLS.bind(Messages.iu_contains_no_arifacts, iu));
-
- IArtifactKey artifactKey = null;
- for (int i = 0; i < artifacts.length; i++) {
- if (artifacts[i].toString().equals(bundleId)) {
- artifactKey = artifacts[i];
- break;
- }
- }
- if (artifactKey == null)
- throw new IllegalArgumentException(NLS.bind(Messages.no_matching_artifact, bundleId));
-
- // the bundleFile might be null here, that's OK.
- File bundleFile = Util.getArtifactFile(artifactKey, profile);
-
- try {
- manipulator.removeBundle(bundleFile, artifactKey.getId(), artifactKey.getVersion());
- } catch (IOException e) {
- return Util.createError(NLS.bind(Messages.cannot_configure_source_bundle, artifactKey));
- }
- return Status.OK_STATUS;
- }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/RmdirAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/RmdirAction.java
deleted file mode 100644
index 41dc37c..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/RmdirAction.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.io.File;
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningAction;
-import org.eclipse.osgi.util.NLS;
-
-public class RmdirAction extends ProvisioningAction {
- public static final String ID = "rmdir"; //$NON-NLS-1$
-
- public IStatus execute(Map parameters) {
- String path = (String) parameters.get(ActionConstants.PARM_PATH);
- if (path == null)
- return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_PATH, ID));
- new File(path).delete();
- return Status.OK_STATUS;
- }
-
- public IStatus undo(Map parameters) {
- String path = (String) parameters.get(ActionConstants.PARM_PATH);
- if (path == null)
- return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_PATH, ID));
- new File(path).mkdir();
- return Status.OK_STATUS;
- }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/SetFrameworkDependentPropertyAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/SetFrameworkDependentPropertyAction.java
deleted file mode 100644
index b2d980f..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/SetFrameworkDependentPropertyAction.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningAction;
-import org.eclipse.osgi.util.NLS;
-
-public class SetFrameworkDependentPropertyAction extends ProvisioningAction {
- public static final String ID = "setFwDependentProp"; //$NON-NLS-1$
-
- public IStatus execute(Map parameters) {
- Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
- String propName = (String) parameters.get(ActionConstants.PARM_PROP_NAME);
- if (propName == null)
- return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_PROP_NAME, ID));
- String propValue = (String) parameters.get(ActionConstants.PARM_PROP_VALUE);
- if (propValue == null)
- return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_PROP_VALUE, ID));
- getMemento().put(ActionConstants.PARM_PREVIOUS_VALUE, manipulator.getConfigData().getFwDependentProp(propName));
- manipulator.getConfigData().setFwDependentProp(propName, propValue);
- return Status.OK_STATUS;
- }
-
- public IStatus undo(Map parameters) {
- Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
- String propName = (String) parameters.get(ActionConstants.PARM_PROP_NAME);
- if (propName == null)
- return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_PROP_NAME, ID));
- String previousValue = (String) getMemento().get(ActionConstants.PARM_PREVIOUS_VALUE);
- if (previousValue == null)
- return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_PREVIOUS_VALUE, ID));
- manipulator.getConfigData().setFwDependentProp(propName, previousValue);
- return Status.OK_STATUS;
- }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/SetFrameworkIndependentPropertyAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/SetFrameworkIndependentPropertyAction.java
deleted file mode 100644
index c93ff5c..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/SetFrameworkIndependentPropertyAction.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningAction;
-import org.eclipse.osgi.util.NLS;
-
-public class SetFrameworkIndependentPropertyAction extends ProvisioningAction {
- public static final String ID = "setFwIndependentProp"; //$NON-NLS-1$
-
- public IStatus execute(Map parameters) {
- Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
- String propName = (String) parameters.get(ActionConstants.PARM_PROP_NAME);
- if (propName == null)
- return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_PROP_NAME, ID));
- String propValue = (String) parameters.get(ActionConstants.PARM_PROP_VALUE);
- if (propValue == null)
- return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_PROP_VALUE, ID));
- getMemento().put(ActionConstants.PARM_PREVIOUS_VALUE, manipulator.getConfigData().getFwDependentProp(propName));
- manipulator.getConfigData().setFwIndependentProp(propName, propValue);
- return Status.OK_STATUS;
- }
-
- public IStatus undo(Map parameters) {
- Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
- String propName = (String) parameters.get(ActionConstants.PARM_PROP_NAME);
- if (propName == null)
- return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_PROP_NAME, ID));
- String previousValue = (String) getMemento().get(ActionConstants.PARM_PREVIOUS_VALUE);
- if (previousValue == null)
- return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_PREVIOUS_VALUE, ID));
- manipulator.getConfigData().setFwIndependentProp(propName, previousValue);
- return Status.OK_STATUS;
- }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/SetLauncherNameAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/SetLauncherNameAction.java
deleted file mode 100644
index c2e869e..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/SetLauncherNameAction.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.engine.Profile;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningAction;
-
-public class SetLauncherNameAction extends ProvisioningAction {
- public static final String ID = "setLauncherName"; //$NON-NLS-1$
-
- private IStatus changeName(String newName, Manipulator manipulator, Profile profile) {
- //force the load to make sure we read the values in the old filename
- IStatus status = EclipseTouchpoint.loadManipulator(manipulator);
- if (status != null && !status.isOK())
- return status;
- getMemento().put(EclipseTouchpoint.PROFILE_PROP_LAUNCHER_NAME, profile.getProperty(EclipseTouchpoint.PROFILE_PROP_LAUNCHER_NAME));
- profile.setProperty(EclipseTouchpoint.PROFILE_PROP_LAUNCHER_NAME, newName);
- manipulator.getLauncherData().setLauncher(Util.getLauncherPath(profile));
- return Status.OK_STATUS;
- }
-
- public IStatus execute(Map parameters) {
- Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
- Profile profile = (Profile) parameters.get(ActionConstants.PARM_PROFILE);
- return changeName((String) parameters.get(ActionConstants.PARM_LAUNCHERNAME), manipulator, profile);
- }
-
- public IStatus undo(Map parameters) {
- Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
- Profile profile = (Profile) parameters.get(ActionConstants.PARM_PROFILE);
- return changeName((String) getMemento().get(EclipseTouchpoint.PROFILE_PROP_LAUNCHER_NAME), manipulator, profile);
- }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/SetProgramPropertyAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/SetProgramPropertyAction.java
deleted file mode 100644
index 2e65293..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/SetProgramPropertyAction.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningAction;
-import org.eclipse.osgi.util.NLS;
-
-public class SetProgramPropertyAction extends ProvisioningAction {
- public static final String ID = "setProgramProperty"; //$NON-NLS-1$
-
- public IStatus execute(Map parameters) {
- Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
- String propName = (String) parameters.get(ActionConstants.PARM_PROP_NAME);
- if (propName == null)
- return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_PROP_NAME, ID));
- String propValue = (String) parameters.get(ActionConstants.PARM_PROP_VALUE);
- if (propValue == null)
- return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_PROP_VALUE, ID));
- getMemento().put(ActionConstants.PARM_PREVIOUS_VALUE, manipulator.getConfigData().getFwDependentProp(propName));
- manipulator.getConfigData().setFwDependentProp(propName, propValue);
- return Status.OK_STATUS;
- }
-
- public IStatus undo(Map parameters) {
- Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
- String propName = (String) parameters.get(ActionConstants.PARM_PROP_NAME);
- if (propName == null)
- return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_PROP_NAME, ID));
- String previousValue = (String) getMemento().get(ActionConstants.PARM_PREVIOUS_VALUE);
- if (previousValue == null)
- return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_PREVIOUS_VALUE, ID));
- manipulator.getConfigData().setFwDependentProp(propName, previousValue);
- return Status.OK_STATUS;
- }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/SetStartLevelAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/SetStartLevelAction.java
deleted file mode 100644
index 9bed130..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/SetStartLevelAction.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.io.File;
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningAction;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.osgi.util.NLS;
-
-public class SetStartLevelAction extends ProvisioningAction {
- public static final String ID = "setStartLevel"; //$NON-NLS-1$
-
- public IStatus execute(Map parameters) {
- IProfile profile = (IProfile) parameters.get(ActionConstants.PARM_PROFILE);
- Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
- IInstallableUnit iu = (IInstallableUnit) parameters.get(EclipseTouchpoint.PARM_IU);
- String startLevel = (String) parameters.get(ActionConstants.PARM_START_LEVEL);
- if (startLevel == null)
- return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_START_LEVEL, ID));
-
- IArtifactKey[] artifacts = iu.getArtifacts();
- if (artifacts == null || artifacts.length == 0)
- return Util.createError(NLS.bind(Messages.iu_contains_no_arifacts, iu));
-
- IArtifactKey artifactKey = artifacts[0];
- File bundleFile = Util.getArtifactFile(artifactKey, profile);
- if (bundleFile == null || !bundleFile.exists())
- return Util.createError(NLS.bind(Messages.artifact_file_not_found, artifactKey));
-
- String manifest = Util.getManifest(iu.getTouchpointData());
- if (manifest == null)
- return Util.createError(NLS.bind(Messages.missing_manifest, iu));
-
- BundleInfo bundleInfo = Util.createBundleInfo(bundleFile, manifest);
- if (bundleInfo == null)
- return Util.createError(NLS.bind(Messages.failed_bundleinfo, iu));
-
- BundleInfo[] bundles = manipulator.getConfigData().getBundles();
- for (int i = 0; i < bundles.length; i++) {
- if (bundles[i].equals(bundleInfo)) {
- getMemento().put(ActionConstants.PARM_PREVIOUS_START_LEVEL, new Integer(bundles[i].getStartLevel()));
- try {
- bundles[i].setStartLevel(Integer.parseInt(startLevel));
- } catch (NumberFormatException e) {
- return Util.createError(NLS.bind(Messages.error_parsing_startlevel, startLevel, bundles[i].getSymbolicName()), e);
- }
- break;
- }
- }
- return Status.OK_STATUS;
- }
-
- public IStatus undo(Map parameters) {
- IProfile profile = (IProfile) parameters.get(ActionConstants.PARM_PROFILE);
- Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
- IInstallableUnit iu = (IInstallableUnit) parameters.get(EclipseTouchpoint.PARM_IU);
-
- IArtifactKey[] artifacts = iu.getArtifacts();
- if (artifacts == null || artifacts.length == 0)
- return Util.createError(NLS.bind(Messages.iu_contains_no_arifacts, iu));
-
- IArtifactKey artifactKey = artifacts[0];
- File bundleFile = Util.getArtifactFile(artifactKey, profile);
- if (bundleFile == null || !bundleFile.exists())
- return Util.createError(NLS.bind(Messages.artifact_file_not_found, artifactKey));
-
- String manifest = Util.getManifest(iu.getTouchpointData());
- if (manifest == null)
- return Util.createError(NLS.bind(Messages.missing_manifest, iu));
-
- BundleInfo bundleInfo = Util.createBundleInfo(bundleFile, manifest);
- if (bundleInfo == null)
- return Util.createError(NLS.bind(Messages.failed_bundleinfo, iu));
-
- BundleInfo[] bundles = manipulator.getConfigData().getBundles();
- for (int i = 0; i < bundles.length; i++) {
- if (bundles[i].equals(bundleInfo)) {
- Integer previousStartLevel = (Integer) getMemento().get(ActionConstants.PARM_PREVIOUS_START_LEVEL);
- if (previousStartLevel != null)
- bundles[i].setStartLevel(previousStartLevel.intValue());
- break;
- }
- }
- return Status.OK_STATUS;
- }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/UninstallBundleAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/UninstallBundleAction.java
deleted file mode 100644
index daf1ec9..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/UninstallBundleAction.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.io.File;
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningAction;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.osgi.util.NLS;
-
-public class UninstallBundleAction extends ProvisioningAction {
- public static final String ID = "uninstallBundle"; //$NON-NLS-1$
-
- public IStatus execute(Map parameters) {
- return UninstallBundleAction.uninstallBundle(parameters);
- }
-
- public IStatus undo(Map parameters) {
- return InstallBundleAction.installBundle(parameters);
- }
-
- public static IStatus uninstallBundle(Map parameters) {
- IProfile profile = (IProfile) parameters.get(ActionConstants.PARM_PROFILE);
- IInstallableUnit iu = (IInstallableUnit) parameters.get(EclipseTouchpoint.PARM_IU);
- Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
- String bundleId = (String) parameters.get(ActionConstants.PARM_BUNDLE);
- if (bundleId == null)
- return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_BUNDLE, ID));
-
- //TODO: eventually remove this. What is a fragment doing here??
- if (iu.isFragment()) {
- System.out.println("What is a fragment doing here!!! -- " + iu); //$NON-NLS-1$
- return Status.OK_STATUS;
- }
-
- IArtifactKey[] artifacts = iu.getArtifacts();
- if (artifacts == null || artifacts.length == 0)
- return Util.createError(NLS.bind(Messages.iu_contains_no_arifacts, iu));
-
- IArtifactKey artifactKey = null;
- for (int i = 0; i < artifacts.length; i++) {
- if (artifacts[i].toString().equals(bundleId)) {
- artifactKey = artifacts[i];
- break;
- }
- }
- if (artifactKey == null)
- throw new IllegalArgumentException(NLS.bind(Messages.no_matching_artifact, bundleId));
-
- // the bundleFile might be null here, that's OK.
- File bundleFile = Util.getArtifactFile(artifactKey, profile);
-
- String manifest = Util.getManifest(iu.getTouchpointData());
- if (manifest == null)
- return Util.createError(NLS.bind(Messages.missing_manifest, iu));
-
- BundleInfo bundleInfo = Util.createBundleInfo(bundleFile, manifest);
- if (bundleInfo == null)
- return Util.createError(NLS.bind(Messages.failed_bundleinfo, iu));
- manipulator.getConfigData().removeBundle(bundleInfo);
-
- return Status.OK_STATUS;
- }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/UninstallFeatureAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/UninstallFeatureAction.java
deleted file mode 100644
index 95ea30f..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/UninstallFeatureAction.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningAction;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.osgi.util.NLS;
-
-public class UninstallFeatureAction extends ProvisioningAction {
- public static final String ID = "uninstallFeature"; //$NON-NLS-1$
-
- public IStatus execute(Map parameters) {
- return UninstallFeatureAction.uninstallFeature(parameters);
- }
-
- public IStatus undo(Map parameters) {
- return InstallFeatureAction.installFeature(parameters);
- }
-
- public static IStatus uninstallFeature(Map parameters) {
- IInstallableUnit iu = (IInstallableUnit) parameters.get(EclipseTouchpoint.PARM_IU);
- PlatformConfigurationWrapper configuration = (PlatformConfigurationWrapper) parameters.get(EclipseTouchpoint.PARM_PLATFORM_CONFIGURATION);
- String feature = (String) parameters.get(ActionConstants.PARM_FEATURE);
- String featureId = (String) parameters.get(ActionConstants.PARM_FEATURE_ID);
- String featureVersion = (String) parameters.get(ActionConstants.PARM_FEATURE_VERSION);
-
- IArtifactKey[] artifacts = iu.getArtifacts();
- if (artifacts == null || artifacts.length == 0)
- return Util.createError(NLS.bind(Messages.iu_contains_no_arifacts, iu));
-
- IArtifactKey artifactKey = null;
- for (int i = 0; i < artifacts.length; i++) {
- if (artifacts[i].toString().equals(feature)) {
- artifactKey = artifacts[i];
- break;
- }
- }
-
- if (featureId == null)
- return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_FEATURE_ID, ID));
- else if (ActionConstants.PARM_DEFAULT_VALUE.equals(featureId)) {
- featureId = artifactKey.getId();
- }
-
- if (featureVersion == null)
- return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_FEATURE_VERSION, ID));
- else if (ActionConstants.PARM_DEFAULT_VALUE.equals(featureVersion)) {
- featureVersion = artifactKey.getVersion().toString();
- }
-
- return configuration.removeFeatureEntry(featureId, featureVersion);
- }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/messages.properties b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/messages.properties
deleted file mode 100644
index de27a6a..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/messages.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-artifact_file_not_found=The artifact file for {0} was not found.
-artifact_not_directory=The artifact {0} is not a directory.
-action_not_instantiated=Action could not be instantiated for action id: {0}.
-parameter_not_set=The \"{0}\" parameter was not set in the \"{1}\" action.
-iu_contains_no_arifacts=Installable unit contains no artifacts: {0}.
-no_matching_artifact=No matching artifact found for: {0}.
-missing_manifest=The manifest is missing for: {0}.
-failed_bundleinfo=Failed to create bundleInfo for: {0}.
-cannot_configure_source_bundle=Cannot configure {0} as a source bundle.
-error_parsing_startlevel=Error parsing start level: {0} for bundle: {1}.
-no_bundle_pool=No bundle pool defined for profile: {0}.
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/messages.properties b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/messages.properties
deleted file mode 100644
index bbc7211..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/messages.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-###############################################################################
-# Copyright (c) 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-error_loading_manipulator=Error while loading manipulator.
-failed_acquire_framework_manipulator=Could not acquire the framework manipulator service.
-failed_prepareIU=Failed to prepare partial IU: {0}.
-feature_not_found=A feature with the specified id was not found.
-error_saving_manipulator=Error saving manipulator.
-error_saving_platform_configuration=Error saving platform configuration.
-error_saving_source_bundles_list=Error saving source bundles list.
-error_constructing_platform_configuration_url=Error constructing platform configuration url.
-error_parsing_configuration=Error parsing platform configuration.
-generator_not_available=The partial IU could not be updated. Generator not available: {0}.
-artifact_file_not_found=The artifact file for {0} was not found.
-iu_contains_no_arifacts=Installable unit contains no artifacts: {0}.
-artifact_retrieval_unsupported=Repository does not support artifact retrieval
-bundle_pool_not_writeable=Bundle pool repository not writeable: {0}
-BundlePool=Bundle pool
-cannot_calculate_extension_location=Unable to calculate extension location for: {0}.
-cannot_create_url_from_file=Unable to create URL from file: {0}.
-config_dir_not_absolute=Configuration directory is not absolute.
-parent_dir_features=Parent directory should be "features": {0}.
-platform_config_unavailable=Platform configuration not available.
-platformadmin_not_registered=PlatformAdmin not registered.
-protocol_handler_error=No URL protocol handler.
-unexpected_prepareiu_error=Unexpected state: prepareIU
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/Configuration.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/Configuration.java
deleted file mode 100644
index c3285ce..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/Configuration.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.update;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.URLUtil;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Activator;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-
-/**
- * @since 1.0
- */
-public class Configuration {
-
- private List sites = new ArrayList();
- String date;
- boolean transientProperty;
- String version;
- String shared_ur;
-
- public static Configuration load(File location, URL osgiInstallArea) throws ProvisionException {
- return ConfigurationParser.parse(location, osgiInstallArea);
- }
-
- public Configuration() {
- super();
- }
-
- public void save(File location, URL osgiInstallArea) throws ProvisionException {
- ConfigurationWriter.save(this, location, osgiInstallArea);
- }
-
- public String getSharedUR() {
- return shared_ur;
- }
-
- public void setSharedUR(String value) {
- shared_ur = value;
- }
-
- public List getSites() {
- return internalGetSites(true);
- }
-
- List internalGetSites(boolean includeParent) {
- if (!includeParent)
- return sites;
- String shared = getSharedUR();
- if (shared == null)
- return sites;
- List result = new ArrayList(sites);
- try {
- URL url = new URL(shared);
- File location = URLUtil.toFile(url);
- if (location == null)
- return result;
-
- if (!location.isAbsolute()) {
- File eclipseHome = Util.getEclipseHome();
- if (eclipseHome == null)
- return null;
-
- location = new File(eclipseHome, location.getPath());
- }
- Configuration parent = Configuration.load(location, Util.getOSGiInstallArea());
- if (parent == null)
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Unable to load parent configuration from: " + location)); //$NON-NLS-1$
- else
- result.addAll(parent.getSites());
- } catch (MalformedURLException e) {
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Error occurred while getting parent configuration location.", e)); //$NON-NLS-1$
- } catch (ProvisionException e) {
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Error occurred while loading parent configuratin from: " + shared, e)); //$NON-NLS-1$
- }
- return result;
- }
-
- public void add(Site site) {
- sites.add(site);
- }
-
- public boolean removeSite(Site site) {
- return sites.remove(site);
- }
-
- public String getDate() {
- return date;
- }
-
- public void setDate(String date) {
- this.date = date;
- }
-
- public void setVersion(String value) {
- version = value;
- }
-
- public String getVersion() {
- return version;
- }
-
- public void setTransient(boolean value) {
- transientProperty = value;
- }
-
- public boolean isTransient() {
- return transientProperty;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/ConfigurationConstants.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/ConfigurationConstants.java
deleted file mode 100644
index 04fa2b3..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/ConfigurationConstants.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.update;
-
-/**
- * @since 1.0
- */
-public interface ConfigurationConstants {
-
- final String ELEMENT_CONFIG = "config"; //$NON-NLS-1$
- final String ELEMENT_FEATURE = "feature"; //$NON-NLS-1$
- final String ELEMENT_SITE = "site"; //$NON-NLS-1$
-
- final String ATTRIBUTE_APPLICATION = "application"; //$NON-NLS-1$
- final String ATTRIBUTE_DATE = "date"; //$NON-NLS-1$
- final String ATTRIBUTE_ENABLED = "enabled"; //$NON-NLS-1$
- final String ATTRIBUTE_ID = "id"; //$NON-NLS-1$
- final String ATTRIBUTE_LINKFILE = "linkfile"; //$NON-NLS-1$
- final String ATTRIBUTE_LIST = "list"; //$NON-NLS-1$
- final String ATTRIBUTE_PLUGIN_IDENTIFIER = "plugin-identifier"; //$NON-NLS-1$
- final String ATTRIBUTE_PLUGIN_VERSION = "plugin-version"; //$NON-NLS-1$
- final String ATTRIBUTE_PRIMARY = "primary"; //$NON-NLS-1$
- final String ATTRIBUTE_POLICY = "policy"; //$NON-NLS-1$
- final String ATTRIBUTE_ROOT = "root"; //$NON-NLS-1$
- final String ATTRIBUTE_SHARED_UR = "shared_ur"; //$NON-NLS-1$
- final String ATTRIBUTE_TRANSIENT = "transient"; //$NON-NLS-1$
- final String ATTRIBUTE_UPDATEABLE = "updateable"; //$NON-NLS-1$
- final String ATTRIBUTE_URL = "url"; //$NON-NLS-1$
- final String ATTRIBUTE_VERSION = "version"; //$NON-NLS-1$
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/ConfigurationParser.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/ConfigurationParser.java
deleted file mode 100644
index 6228b65..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/ConfigurationParser.java
+++ /dev/null
@@ -1,260 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.update;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.StringTokenizer;
-import javax.xml.parsers.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.osgi.util.NLS;
-import org.w3c.dom.*;
-import org.xml.sax.SAXException;
-
-/**
- * Parser for platform.xml files.
- *
- * @since 1.0
- */
-public class ConfigurationParser implements ConfigurationConstants {
- static final String PLATFORM_BASE = "platform:/base/"; //$NON-NLS-1$
- private URL osgiInstallArea;
-
- /*
- * Parse the given file handle which points to a platform.xml file and a configuration object.
- * Returns null if the file doesn't exist.
- */
- public static Configuration parse(File file, URL osgiInstallArea) throws ProvisionException {
- return new ConfigurationParser(osgiInstallArea).internalParse(file);
- }
-
- private ConfigurationParser(URL osgiInstallArea) {
- this.osgiInstallArea = osgiInstallArea;
- }
-
- /*
- * Create a feature object based on the given DOM node.
- * Return the new feature.
- */
- private Feature createFeature(Node node, Site site) {
- Feature result = new Feature(site);
- String id = getAttribute(node, ATTRIBUTE_ID);
- if (id != null)
- result.setId(id);
- String url = getAttribute(node, ATTRIBUTE_URL);
- if (url != null)
- result.setUrl(url);
- String version = getAttribute(node, ATTRIBUTE_VERSION);
- if (version != null)
- result.setVersion(version);
- String pluginIdentifier = getAttribute(node, ATTRIBUTE_PLUGIN_IDENTIFIER);
- if (pluginIdentifier != null)
- result.setPluginIdentifier(pluginIdentifier);
- String pluginVersion = getAttribute(node, ATTRIBUTE_PLUGIN_VERSION);
- // plug-in version is the same as the feature version if it is missing
- if (pluginVersion == null)
- pluginVersion = version;
- if (pluginVersion != null)
- result.setPluginVersion(pluginVersion);
- String application = getAttribute(node, ATTRIBUTE_APPLICATION);
- if (application != null)
- result.setApplication(application);
-
- // get primary flag
- String flag = getAttribute(node, ATTRIBUTE_PRIMARY);
- if (flag != null && Boolean.valueOf(flag).booleanValue())
- result.setPrimary(true);
-
- // get install locations
- String locations = getAttribute(node, ATTRIBUTE_ROOT);
- if (locations != null) {
- StringTokenizer tokenizer = new StringTokenizer(locations, ","); //$NON-NLS-1$
- ArrayList rootList = new ArrayList();
- while (tokenizer.hasMoreTokens()) {
- try {
- URL rootEntry = new URL(tokenizer.nextToken().trim());
- rootList.add(rootEntry);
- } catch (MalformedURLException e) {
- // skip bad entries ...
- }
- }
- URL[] roots = (URL[]) rootList.toArray(new URL[rootList.size()]);
- result.setRoots(roots);
- }
-
- return result;
- }
-
- /*
- * Create the features from the given DOM node.
- */
- private void createFeatures(Node node, Site site) {
- NodeList children = node.getChildNodes();
- int size = children.getLength();
- for (int i = 0; i < size; i++) {
- Node child = children.item(i);
- if (child.getNodeType() != Node.ELEMENT_NODE)
- continue;
- if (!ELEMENT_FEATURE.equalsIgnoreCase(child.getNodeName()))
- continue;
- Feature feature = createFeature(child, site);
- if (feature != null)
- site.addFeature(feature);
- }
- }
-
- /*
- * Create a site based on the given DOM node.
- */
- private Site createSite(Node node) {
- Site result = new Site();
- String policy = getAttribute(node, ATTRIBUTE_POLICY);
- if (policy != null)
- result.setPolicy(policy);
- String enabled = getAttribute(node, ATTRIBUTE_ENABLED);
- if (enabled != null)
- result.setEnabled(Boolean.valueOf(enabled).booleanValue());
- String updateable = getAttribute(node, ATTRIBUTE_UPDATEABLE);
- if (updateable != null)
- result.setUpdateable(Boolean.valueOf(updateable).booleanValue());
- String url = getAttribute(node, ATTRIBUTE_URL);
- if (url != null)
- result.setUrl(getLocation(url));
- String linkFile = getAttribute(node, ATTRIBUTE_LINKFILE);
- if (linkFile != null)
- result.setLinkFile(linkFile);
- String list = getAttribute(node, ATTRIBUTE_LIST);
- if (list != null)
- for (StringTokenizer tokenizer = new StringTokenizer(list, ","); tokenizer.hasMoreTokens();) //$NON-NLS-1$
- result.addPlugin(tokenizer.nextToken());
- createFeatures(node, result);
- return result;
- }
-
- /*
- * Convert the given url string to an absolute url. If the string is
- * platform:/base/ then return a string which represents the osgi
- * install area.
- */
- private String getLocation(String urlString) {
- if (osgiInstallArea == null)
- return urlString;
- if (PLATFORM_BASE.equals(urlString))
- return osgiInstallArea.toExternalForm();
- return Utils.makeAbsolute(urlString, osgiInstallArea);
- }
-
- /*
- * Return the attribute with the given name, or null if it does
- * not exist.
- */
- private String getAttribute(Node node, String name) {
- NamedNodeMap attributes = node.getAttributes();
- Node temp = attributes.getNamedItem(name);
- return temp == null ? null : temp.getNodeValue();
- }
-
- /*
- * Load the given file into a DOM document.
- */
- private Document load(InputStream input) throws ParserConfigurationException, IOException, SAXException {
- // load the feature xml
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- DocumentBuilder builder = factory.newDocumentBuilder();
- input = new BufferedInputStream(input);
- try {
- return builder.parse(input);
- } finally {
- if (input != null)
- try {
- input.close();
- } catch (IOException e) {
- // ignore
- }
- }
- }
-
- /*
- * Parse the given file handle which points to a platform.xml file and a configuration object.
- * Returns null if the file doesn't exist.
- */
- private Configuration internalParse(File file) throws ProvisionException {
- if (!file.exists())
- return null;
- try {
- InputStream input = new BufferedInputStream(new FileInputStream(file));
- Document document = load(input);
- return process(document);
- } catch (IOException e) {
- throw new ProvisionException(NLS.bind(Messages.error_reading_config, file), e);
- } catch (ParserConfigurationException e) {
- throw new ProvisionException(Messages.error_parsing_config, e);
- } catch (SAXException e) {
- throw new ProvisionException(Messages.error_parsing_config, e);
- }
- }
-
- /*
- * Process the given DOM document and create the appropriate
- * site objects.
- */
- private Configuration process(Document document) {
- Node node = getConfigElement(document);
- if (node == null)
- return null;
- Configuration configuration = createConfiguration(node);
- NodeList children = node.getChildNodes();
- int size = children.getLength();
- for (int i = 0; i < size; i++) {
- Node child = children.item(i);
- if (child.getNodeType() != Node.ELEMENT_NODE)
- continue;
- if (!ELEMENT_SITE.equalsIgnoreCase(child.getNodeName()))
- continue;
- Site site = createSite(child);
- if (site != null)
- configuration.add(site);
- }
- return configuration;
- }
-
- private Configuration createConfiguration(Node node) {
- Configuration result = new Configuration();
- String value = getAttribute(node, ATTRIBUTE_DATE);
- if (value != null)
- result.setDate(value);
- value = getAttribute(node, ATTRIBUTE_TRANSIENT);
- if (value != null)
- result.setTransient(Boolean.valueOf(value).booleanValue());
- value = getAttribute(node, ATTRIBUTE_SHARED_UR);
- if (value != null)
- result.setSharedUR(value);
- value = getAttribute(node, ATTRIBUTE_VERSION);
- if (value != null)
- result.setVersion(value);
- return result;
- }
-
- private Node getConfigElement(Document doc) {
- NodeList children = doc.getChildNodes();
- int size = children.getLength();
- for (int i = 0; i < size; i++) {
- Node child = children.item(i);
- if (child.getNodeType() != Node.ELEMENT_NODE)
- continue;
- if (ELEMENT_CONFIG.equalsIgnoreCase(child.getNodeName()))
- return child;
- }
- return null;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/ConfigurationWriter.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/ConfigurationWriter.java
deleted file mode 100644
index 8797feb..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/ConfigurationWriter.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.update;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.URLUtil;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Activator;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * @since 1.0
- */
-public class ConfigurationWriter implements ConfigurationConstants {
-
- /*
- * Save the given configuration to the specified location.
- */
- public static void save(Configuration configuration, File location, URL osgiInstallArea) throws ProvisionException {
- XMLWriter writer = null;
- try {
- OutputStream output = new BufferedOutputStream(new FileOutputStream(location));
- writer = new XMLWriter(output);
- Map args = new HashMap();
-
- String value = configuration.getDate();
- if (value != null)
- args.put(ATTRIBUTE_DATE, value);
-
- value = configuration.getSharedUR();
- if (value != null)
- args.put(ATTRIBUTE_SHARED_UR, value);
-
- value = configuration.getVersion();
- if (value != null)
- args.put(ATTRIBUTE_VERSION, value);
-
- args.put(ATTRIBUTE_TRANSIENT, Boolean.toString(configuration.isTransient()));
-
- writer.startTag(ELEMENT_CONFIG, args);
-
- for (Iterator iter = configuration.internalGetSites(false).iterator(); iter.hasNext();) {
- Site site = (Site) iter.next();
- write(writer, site, osgiInstallArea);
- }
-
- writer.endTag(ELEMENT_CONFIG);
- } catch (UnsupportedEncodingException e) {
- throw new ProvisionException(NLS.bind(Messages.error_saving_config, location), e);
- } catch (FileNotFoundException e) {
- throw new ProvisionException(NLS.bind(Messages.error_saving_config, location), e);
- } finally {
- if (writer != null) {
- writer.flush();
- writer.close();
- }
- }
- }
-
- /*
- * Write out the given site.
- */
- private static void write(XMLWriter writer, Site site, URL osgiInstallArea) {
- Map args = new HashMap();
-
- String value = site.getLinkFile();
- if (value != null)
- args.put(ATTRIBUTE_LINKFILE, value);
-
- value = site.getPolicy();
- if (value != null)
- args.put(ATTRIBUTE_POLICY, value);
-
- value = site.getUrl();
- if (value != null)
- args.put(ATTRIBUTE_URL, getLocation(value, osgiInstallArea));
-
- value = toString(site.getList());
- if (value != null)
- args.put(ATTRIBUTE_LIST, value);
-
- args.put(ATTRIBUTE_UPDATEABLE, Boolean.toString(site.isUpdateable()));
- args.put(ATTRIBUTE_ENABLED, Boolean.toString(site.isEnabled()));
-
- writer.startTag(ELEMENT_SITE, args);
- write(writer, site.getFeatures());
- writer.endTag(ELEMENT_SITE);
- }
-
- /*
- * Return the location for the given location which is a url string. Take into account
- * the specified osgi install area. This method should make the path relative if
- * possible and could potentially return platform:/base/.
- */
- private static String getLocation(String value, URL osgiInstallArea) {
- if (osgiInstallArea == null || !value.startsWith("file:")) //$NON-NLS-1$
- return value;
- try {
- // if our site represents the osgi install area, then write out platform:/base/
- File installArea = URLUtil.toFile(osgiInstallArea);
- File path = URLUtil.toFile(new URL(value));
- if (installArea.getAbsoluteFile().equals(path.getAbsoluteFile()))
- return ConfigurationParser.PLATFORM_BASE;
- } catch (MalformedURLException e) {
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Error occurred while writing configuration.", e)); //$NON-NLS-1$
- }
- return Utils.makeRelative(value, osgiInstallArea);
- }
-
- /*
- * Convert the given list to a comma-separated string.
- */
- private static String toString(Object[] list) {
- if (list == null || list.length == 0)
- return null;
- StringBuffer buffer = new StringBuffer();
- for (int i = 0; i < list.length; i++) {
- buffer.append(list[i].toString());
- if (i + 1 < list.length)
- buffer.append(',');
- }
- return buffer.toString();
- }
-
- /*
- * Write out the given list of features.
- */
- private static void write(XMLWriter writer, Feature[] features) {
- if (features == null || features.length == 0)
- return;
- for (int i = 0; i < features.length; i++) {
- Feature feature = features[i];
- Map args = new HashMap();
- String value = feature.getId();
- if (value != null)
- args.put(ATTRIBUTE_ID, value);
- value = feature.getUrl();
- if (value != null)
- args.put(ATTRIBUTE_URL, value);
- value = feature.getVersion();
- if (value != null)
- args.put(ATTRIBUTE_VERSION, value);
- value = feature.getPluginIdentifier();
- // only write out the plug-in identifier if it is different from the feature id
- if (value != null && !value.equals(feature.getId()))
- args.put(ATTRIBUTE_PLUGIN_IDENTIFIER, value);
- value = feature.getPluginVersion();
- // only write out the plug-in version if it is different from the feature version
- if (value != null && !value.equals(feature.getVersion()))
- args.put(ATTRIBUTE_PLUGIN_VERSION, value);
- if (feature.isPrimary())
- args.put(ATTRIBUTE_PRIMARY, "true"); //$NON-NLS-1$
- value = feature.getApplication();
- if (value != null)
- args.put(ATTRIBUTE_APPLICATION, value);
-
- // collect the roots
- URL[] roots = feature.getRoots();
- if (roots != null && roots.length > 0)
- args.put(ATTRIBUTE_ROOT, toString(roots));
-
- writer.startTag(ELEMENT_FEATURE, args);
- writer.endTag(ELEMENT_FEATURE);
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/Feature.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/Feature.java
deleted file mode 100644
index 70338e2..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/Feature.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.update;
-
-import java.net.URL;
-
-/*
- * Represents a feature entry in a platform.xml file.
- */
-public class Feature {
-
- private String id;
- private String url;
- private String version;
- private Site site;
- private String pluginIdentifier;
- private String pluginVersion;
- private String application;
- private URL[] roots;
- private boolean primary = false;
-
- public Feature(Site site) {
- super();
- if (site == null)
- throw new IllegalArgumentException(Messages.empty_feature_site);
- this.site = site;
- }
-
- public String getApplication() {
- return application;
- }
-
- public String getId() {
- return id;
- }
-
- public String getPluginIdentifier() {
- return pluginIdentifier;
- }
-
- public String getPluginVersion() {
- return pluginVersion;
- }
-
- public URL[] getRoots() {
- return roots;
- }
-
- public Site getSite() {
- return site;
- }
-
- public String getUrl() {
- return url;
- }
-
- public String getVersion() {
- return version;
- }
-
- public boolean isPrimary() {
- return primary;
- }
-
- public void setApplication(String application) {
- this.application = application;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public void setPluginIdentifier(String pluginIdentifier) {
- this.pluginIdentifier = pluginIdentifier;
- }
-
- public void setPluginVersion(String pluginVersion) {
- this.pluginVersion = pluginVersion;
- }
-
- public void setPrimary(boolean primary) {
- this.primary = primary;
- }
-
- public void setRoots(URL[] roots) {
- this.roots = roots;
- }
-
- public void setUrl(String url) {
- this.url = url;
- }
-
- public void setVersion(String version) {
- this.version = version;
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#equals(java.lang.Object)
- */
- public boolean equals(Object obj) {
- if (!(obj instanceof Feature))
- return false;
- Feature other = (Feature) obj;
- if (!equals(getId(), other.getId()))
- return false;
- // shallow equals here. sites should never be null
- if (!equals(getSite().getUrl(), other.getSite().getUrl()))
- return false;
- if (!equals(getUrl(), other.getUrl()))
- return false;
- if (!equals(getVersion(), other.getVersion()))
- return false;
- return true;
- }
-
- private boolean equals(Object one, Object two) {
- return one == null ? two == null : one.equals(two);
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#hashCode()
- */
- public int hashCode() {
- return id.hashCode() + version.hashCode();
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/Messages.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/Messages.java
deleted file mode 100644
index e9a9121..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/Messages.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.eclipse.equinox.internal.p2.update;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.update.messages"; //$NON-NLS-1$
- public static String empty_feature_site;
- public static String error_saving_config;
- public static String error_reading_config;
- public static String error_parsing_config;
-
- static {
- // load message values from bundle file and assign to fields below
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/Site.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/Site.java
deleted file mode 100644
index 7e62cc7..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/Site.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.update;
-
-import java.util.*;
-
-/*
- * Represents a site in a platform.xml file.
- */
-public class Site {
-
- public final static String POLICY_MANAGED_ONLY = "MANAGED-ONLY"; //$NON-NLS-1$
- public final static String POLICY_USER_EXCLUDE = "USER-EXCLUDE"; //$NON-NLS-1$
- public final static String POLICY_USER_INCLUDE = "USER-INCLUDE"; //$NON-NLS-1$
-
- private String policy;
- private boolean enabled = true;
- private boolean updateable = true;
- private String url;
- private String linkFile;
- private Collection features = new HashSet();
- private List list = new ArrayList();
-
- public void addFeature(Feature feature) {
- this.features.add(feature);
- }
-
- public void addPlugin(String plugin) {
- this.list.add(plugin);
- }
-
- public Feature[] getFeatures() {
- return (Feature[]) features.toArray(new Feature[features.size()]);
- }
-
- /*
- * Return the feature object with the specific id and version. Return null
- * if there is no match or the id is null. If the version is null then return the
- * first feature with a matching id.
- */
- public Feature getFeature(String id, String version) {
- if (id == null)
- return null;
- for (Iterator iter = features.iterator(); iter.hasNext();) {
- Feature feature = (Feature) iter.next();
- if (id.equals(feature.getId())) {
- if (version == null || version.equals(feature.getVersion()))
- return feature;
- }
- }
- return null;
- }
-
- public Feature removeFeature(String featureURL) {
- for (Iterator iter = features.iterator(); iter.hasNext();) {
- Feature feature = (Feature) iter.next();
- String nextURL = feature.getUrl();
- if (nextURL != null && nextURL.equals(featureURL))
- return features.remove(feature) ? feature : null;
- }
- return null;
- }
-
- public String getLinkFile() {
- return linkFile;
- }
-
- public String[] getList() {
- return (String[]) list.toArray(new String[list.size()]);
- }
-
- public String getPolicy() {
- return policy;
- }
-
- public String getUrl() {
- return url;
- }
-
- public boolean isEnabled() {
- return enabled;
- }
-
- public boolean isUpdateable() {
- return updateable;
- }
-
- public void setEnabled(boolean enabled) {
- this.enabled = enabled;
- }
-
- public void setLinkFile(String linkFile) {
- this.linkFile = linkFile;
- }
-
- public void setPolicy(String policy) {
- this.policy = policy;
- }
-
- public void setUpdateable(boolean updateable) {
- this.updateable = updateable;
- }
-
- public void setUrl(String url) {
- this.url = url;
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#hashCode()
- */
- public int hashCode() {
- return getUrl().hashCode();
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#equals(java.lang.Object)
- */
- public boolean equals(Object obj) {
- if (!(obj instanceof Site))
- return false;
- Site other = (Site) obj;
- if (isEnabled() != other.isEnabled())
- return false;
- if (isUpdateable() != other.isUpdateable())
- return false;
- if (!getUrl().equals(other.getUrl()))
- return false;
- if (!Utils.equals(getLinkFile(), other.getLinkFile()))
- return false;
- if (!Utils.equals(getPolicy(), other.getPolicy()))
- return false;
- if (!Utils.equals(getList(), other.getList()))
- return false;
- if (!Utils.equals(getFeatures(), other.getFeatures()))
- return false;
- return true;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/Utils.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/Utils.java
deleted file mode 100644
index 9309b45..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/Utils.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.update;
-
-import java.io.File;
-import java.io.UnsupportedEncodingException;
-import java.net.*;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-
-/**
- *
- * @since 1.0
- */
-public class Utils {
- public static boolean isWindows = System.getProperty("os.name").startsWith("Win"); //$NON-NLS-1$ //$NON-NLS-2$
- private static boolean init = false;
- private static boolean useEnc = true;
-
- /*
- * Copied from UpdateURLDecoder v1.4 in org.eclipse.update.configurator.
- */
- public static String decode(String s, String enc) throws UnsupportedEncodingException {
- if (!init) {
- init = true;
- try {
- return URLDecoder.decode(s, enc);
- } catch (NoSuchMethodError e) {
- useEnc = false;
- }
- }
- return useEnc ? URLDecoder.decode(s, enc) : URLDecoder.decode(s);
- }
-
- /*
- * Copied from Utils v1.32 in org.eclipse.update.configurator.
- *
- * Ensures file: URLs on Windows have the right form (i.e. '/' as segment separator, drive letter in lower case, etc)
- */
- public static String canonicalizeURL(String url) {
- if (!(isWindows && url.startsWith("file:"))) //$NON-NLS-1$
- return url;
- try {
- String path = new URL(url).getPath();
- // normalize to not have leading / so we can check the form
- File file = new File(path);
- path = file.toString().replace('\\', '/');
- // handle URLs that don't have a path
- if (path.length() == 0)
- return url;
- if (Character.isUpperCase(path.charAt(0))) {
- char[] chars = path.toCharArray();
- chars[0] = Character.toLowerCase(chars[0]);
- path = new String(chars);
- return new File(path).toURL().toExternalForm();
- }
- } catch (MalformedURLException e) {
- // default to original url
- }
- return url;
- }
-
- /*
- * Return a boolean value indicating whether or not the given
- * objects are considered equal.
- */
- public static boolean equals(Object one, Object two) {
- return one == null ? two == null : one.equals(two);
- }
-
- /*
- * Return a boolean value indicating whether or not the given
- * lists are considered equal.
- */
- public static boolean equals(Object[] one, Object[] two) {
- if (one == null && two == null)
- return true;
- if (one == null || two == null)
- return false;
- if (one.length != two.length)
- return false;
- for (int i = 0; i < one.length; i++) {
- boolean found = false;
- for (int j = 0; !found && j < two.length; j++)
- found = one[i].equals(two[j]);
- if (!found)
- return false;
- }
- return true;
- }
-
- private static final String FILE_PROTOCOL = "file:"; //$NON-NLS-1$
-
- public static String makeRelative(String urlString, URL rootURL) {
- // we only traffic in file: URLs
- int index = urlString.indexOf(FILE_PROTOCOL);
- if (index == -1)
- return urlString;
- index = index + 5;
-
- // ensure we have an absolute path to start with
- boolean done = false;
- URL url = null;
- String file = urlString;
- while (!done) {
- try {
- url = new URL(file);
- file = url.getFile();
- } catch (java.net.MalformedURLException e) {
- done = true;
- }
- }
- if (url == null || !new File(url.getFile()).isAbsolute())
- return urlString;
-
- String rootString = rootURL.toExternalForm();
- return urlString.substring(0, index) + makeRelative(urlString.substring(index), rootString.substring(rootString.indexOf(FILE_PROTOCOL) + 5));
- }
-
- public static String makeRelative(String original, String rootPath) {
- IPath path = new Path(original);
- // ensure we have an absolute path to start with
- if (!path.isAbsolute())
- return original;
-
- //Returns the original string if no relativization has been done
- String result = makeRelative(path, new Path(rootPath));
- return path.toOSString().equals(result) ? original : result;
- }
-
- /*
- * Make the given path relative to the specified root, if applicable. If not, then
- * return the path as-is.
- *
- * Method similar to one from SimpleConfigurationManipulatorImpl.
- */
- private static String makeRelative(IPath toRel, IPath base) {
- int i = base.matchingFirstSegments(toRel);
- if (i == 0) {
- return toRel.toOSString();
- }
- String result = ""; //$NON-NLS-1$
- for (int j = 0; j < (base.segmentCount() - i); j++) {
- result += ".." + IPath.SEPARATOR; //$NON-NLS-1$
- }
- if (i == toRel.segmentCount())
- return "."; //$NON-NLS-1$
- result += toRel.setDevice(null).removeFirstSegments(i).toOSString();
- return result;
- }
-
- /*
- * Make the given path absolute to the specified root, if applicable. If not, then
- * return the path as-is.
- *
- * Method similar to one from SimpleConfigurationManipulatorImpl.
- */
- public static String makeAbsolute(String original, String rootPath) {
- IPath path = new Path(original);
- // ensure we have a relative path to start with
- if (path.isAbsolute())
- return original;
- IPath root = new Path(rootPath);
- return root.addTrailingSeparator().append(original.replace(':', '}')).toOSString().replace('}', ':');
- }
-
- public static String makeAbsolute(String urlString, URL rootURL) {
- // we only traffic in file: URLs
- int index = urlString.indexOf(FILE_PROTOCOL);
- if (index == -1)
- return urlString;
- index = index + 5;
-
- // ensure we have a relative path to start with
- boolean done = false;
- URL url = null;
- String file = urlString;
- while (!done) {
- try {
- url = new URL(file);
- file = url.getFile();
- } catch (java.net.MalformedURLException e) {
- done = true;
- }
- }
- if (url == null || new File(url.getFile()).isAbsolute())
- return urlString;
-
- return urlString.substring(0, index - 5) + makeAbsolute(urlString.substring(index), rootURL.toExternalForm());
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/XMLWriter.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/XMLWriter.java
deleted file mode 100644
index 9b86646..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/XMLWriter.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.update;
-
-import java.io.*;
-import java.util.Iterator;
-import java.util.Map;
-
-/**
- * A simple XML writer.
- *
- * Copied from the org.eclipse.core.resources bundle.
- */
-public class XMLWriter extends PrintWriter {
- protected int tab;
-
- /* constants */
- protected static final String XML_VERSION = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"; //$NON-NLS-1$
-
- public XMLWriter(OutputStream output) throws UnsupportedEncodingException {
- super(new OutputStreamWriter(output, "UTF8")); //$NON-NLS-1$
- tab = 0;
- println(XML_VERSION);
- }
-
- public void endTag(String name) {
- tab--;
- printTag('/' + name, null);
- }
-
- public void printSimpleTag(String name, Object value) {
- if (value != null) {
- printTag(name, null, true, false);
- print(getEscaped(String.valueOf(value)));
- printTag('/' + name, null, false, true);
- }
- }
-
- public void printTabulation() {
- for (int i = 0; i < tab; i++)
- super.print('\t');
- }
-
- public void printTag(String name, Map parameters) {
- printTag(name, parameters, true, true);
- }
-
- public void printTag(String name, Map parameters, boolean shouldTab, boolean newLine) {
- StringBuffer sb = new StringBuffer();
- sb.append("<"); //$NON-NLS-1$
- sb.append(name);
- if (parameters != null)
- for (Iterator it = parameters.keySet().iterator(); it.hasNext();) {
- sb.append(" "); //$NON-NLS-1$
- String key = (String) it.next();
- sb.append(key);
- sb.append("=\""); //$NON-NLS-1$
- sb.append(getEscaped(String.valueOf(parameters.get(key))));
- sb.append("\""); //$NON-NLS-1$
- }
- sb.append(">"); //$NON-NLS-1$
- if (shouldTab)
- printTabulation();
- if (newLine)
- println(sb.toString());
- else
- print(sb.toString());
- }
-
- public void startTag(String name, Map parameters) {
- startTag(name, parameters, true);
- }
-
- public void startTag(String name, Map parameters, boolean newLine) {
- printTag(name, parameters, true, newLine);
- tab++;
- }
-
- private static void appendEscapedChar(StringBuffer buffer, char c) {
- String replacement = getReplacement(c);
- if (replacement != null) {
- buffer.append('&');
- buffer.append(replacement);
- buffer.append(';');
- } else {
- buffer.append(c);
- }
- }
-
- public static String getEscaped(String s) {
- StringBuffer result = new StringBuffer(s.length() + 10);
- for (int i = 0; i < s.length(); ++i)
- appendEscapedChar(result, s.charAt(i));
- return result.toString();
- }
-
- private static String getReplacement(char c) {
- // Encode special XML characters into the equivalent character references.
- // These five are defined by default for all XML documents.
- switch (c) {
- case '<' :
- return "lt"; //$NON-NLS-1$
- case '>' :
- return "gt"; //$NON-NLS-1$
- case '"' :
- return "quot"; //$NON-NLS-1$
- case '\'' :
- return "apos"; //$NON-NLS-1$
- case '&' :
- return "amp"; //$NON-NLS-1$
- }
- return null;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/messages.properties b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/messages.properties
deleted file mode 100644
index 7c66ecb..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/messages.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-empty_feature_site=Features should not have an empty site.
-error_parsing_config=An error occurred parsing the platform configuration
-error_reading_config=An error occurred reading the platform configuration file: {0}.
-error_saving_config=Exception when saving configuration to: {0}.
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/.classpath b/bundles/org.eclipse.equinox.p2.touchpoint.natives/.classpath
deleted file mode 100644
index 7cdeb73..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.1%Foundation-1.1"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/.project b/bundles/org.eclipse.equinox.p2.touchpoint.natives/.project
deleted file mode 100644
index cafa805..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.equinox.p2.touchpoint.natives</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.touchpoint.natives/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 78523cd..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,331 +0,0 @@
-#Thu Aug 16 11:00:59 EDT 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.touchpoint.natives/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 6eacd08..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:59:07 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.touchpoint.natives/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 7913d20..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.touchpoint.natives/META-INF/MANIFEST.MF
deleted file mode 100644
index d41132b..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,25 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.touchpoint.natives;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.equinox.internal.p2.touchpoint.natives.Activator
-Import-Package: org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.p2.engine,
- org.eclipse.equinox.internal.provisional.p2.artifact.repository,
- org.eclipse.equinox.internal.provisional.p2.core,
- org.eclipse.equinox.internal.provisional.p2.core.location,
- org.eclipse.equinox.internal.provisional.p2.core.repository,
- org.eclipse.equinox.internal.provisional.p2.engine,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.osgi.service.datalocation;version="1.0.0",
- org.eclipse.osgi.util;version="1.0.0",
- org.osgi.framework;version="1.3.0",
- org.osgi.util.tracker;version="1.3.3"
-Eclipse-LazyStart: true
-Require-Bundle: org.eclipse.equinox.common
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
- J2SE-1.4
-Export-Package: org.eclipse.equinox.internal.p2.touchpoint.natives;x-internal:=true
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/about.html b/bundles/org.eclipse.equinox.p2.touchpoint.natives/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 2, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/build.properties b/bundles/org.eclipse.equinox.p2.touchpoint.natives/build.properties
deleted file mode 100644
index 4bbd9bd..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.xml,\
- about.html,\
- plugin.properties
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/plugin.properties b/bundles/org.eclipse.equinox.p2.touchpoint.natives/plugin.properties
deleted file mode 100644
index 198a16f..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Equinox Provisioning Native Touchpoint
-providerName = Eclipse.org
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/plugin.xml b/bundles/org.eclipse.equinox.p2.touchpoint.natives/plugin.xml
deleted file mode 100644
index 8aa8e3e..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<plugin>
- <extension point="org.eclipse.equinox.p2.engine.touchpoints" id="native" name="Native Touchpoint">
- <touchpoint
- type="org.eclipse.equinox.p2.native"
- class="org.eclipse.equinox.internal.p2.touchpoint.natives.NativeTouchpoint"
- version="1.0.0"/>
- </extension>
-</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/Activator.java b/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/Activator.java
deleted file mode 100644
index f454618..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/Activator.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.natives;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
- public static final String ID = "org.eclipse.equinox.p2.touchpoint.native"; //$NON-NLS-1$
- private static BundleContext context = null;
-
- public static BundleContext getContext() {
- return context;
- }
-
- /*
- * (non-Javadoc)
- * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
- */
- public void start(BundleContext aContext) throws Exception {
- Activator.context = aContext;
- }
-
- /*
- * (non-Javadoc)
- * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
- */
- public void stop(BundleContext aContext) throws Exception {
- context = null;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/BackupFiles.java b/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/BackupFiles.java
deleted file mode 100644
index 4b33342..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/BackupFiles.java
+++ /dev/null
@@ -1,319 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.natives;
-
-import java.io.*;
-import java.net.URL;
-import java.util.*;
-import java.util.zip.*;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-import org.eclipse.osgi.util.NLS;
-
-public class BackupFiles {
-
- private static final String ZIP_SUFFIX = ".zip"; //$NON-NLS-1$
- private static final String PROPERTIES_SUFFIX = ".properties"; //$NON-NLS-1$
-
- private final File backupDir;
- private boolean doBackup;
-
- /**
- * Save or restore backups of files in backupDir
- */
- public BackupFiles(File backupDir) {
- this.doBackup = true;
- this.backupDir = backupDir;
- this.backupDir.mkdirs();
- }
-
- // /**
- // * If doBackup is set to false, files are deleted on uninstall, instead of restored.
- // */
- // public void setDoBackup(boolean doBackup) {
- // this.doBackup = doBackup;
- // }
-
- /**
- * Restore all backups made in this dir.
- */
- public void restore(IProgressMonitor monitor) throws IOException {
- // find backup properties files, do in reverse order
- List propsFiles = new LinkedList();
- for (int i = 0;; i += 1) {
- File propsFile = getBackupProperties(i);
- if (!propsFile.exists()) {
- break;
- }
- propsFiles.add(0, propsFile);
- }
- IProgressMonitor[] pm = Util.splitProgressMonitor(monitor, propsFiles.size());
- int j = 0;
- for (Iterator i = propsFiles.iterator(); i.hasNext();) {
- File propsFile = (File) i.next();
- restoreFilesFromBackup(propsFile, pm[j++]);
- }
- if (!this.backupDir.delete()) {
- //not empty? log a warning?
- } else {
- // delete the parent if empty
- this.backupDir.getParentFile().delete();
- }
- monitor.done();
- }
-
- /**
- * Find files under outputDir that will be overwritten in unzipURL
- * and save under backupDir, and delete.
- * Include properties file to indicate files to delete or restore on rolled back.
- * The progress monitor is used only to display sub-tasks; we don't update it otherwise.
- */
- public void backupFilesInZip(String identifier, URL zipURL, File outputDir, IProgressMonitor monitor) throws IOException {
- BackupProperties backupProps = new BackupProperties(identifier, outputDir);
- ZipOutputStream zos = null;
- String prevDir = null;
- try {
- ZipInputStream in = new ZipInputStream(zipURL.openStream());
- ZipEntry ze;
- while ((ze = in.getNextEntry()) != null) {
- String name = ze.getName();
- int i = name.lastIndexOf('/');
- if (i != -1) {
- String dir = name.substring(0, i);
- if (this.doBackup && !dir.equals(prevDir)) {
- monitor.subTask(name.substring(0, i));
- prevDir = dir;
- }
- }
- if (!ze.isDirectory()) {
- File origFile = new File(outputDir, name);
- if (this.doBackup && origFile.exists()) {
- if (zos == null) {
- File zipFile = backupProps.getArchive();
- zos = new ZipOutputStream(new FileOutputStream(zipFile));
- }
- ZipEntry zipEntry = new ZipEntry(name);
- zipEntry.setTime(origFile.lastModified());
- zos.putNextEntry(zipEntry);
- FileUtils.copyStream(new FileInputStream(origFile), true, zos, false);
- zos.closeEntry();
- } else {
- backupProps.addFileToDelete(name);
- }
- origFile.delete();
- }
- in.closeEntry();
- }
- in.close();
- } finally {
- backupProps.store();
- if (zos != null) {
- zos.close();
- }
- }
- }
-
- private void restoreFilesFromBackup(File propsFile, IProgressMonitor monitor) throws IOException {
- BackupProperties backupProps = new BackupProperties(propsFile);
- monitor.beginTask(NLS.bind(Messages.restoring, propsFile.toString()), 3);
- monitor.subTask(""); //$NON-NLS-1$
- for (Iterator i = backupProps.getFilesToDelete().iterator(); i.hasNext();) {
- String name = (String) i.next();
- File full = new File(backupProps.getRootDir(), name);
- full.delete();
- }
- monitor.worked(1);
- File zipFile = backupProps.getArchive();
- if (zipFile.exists()) { // only exists if files were saved
- SubProgressMonitor sub = new SubProgressMonitor(monitor, 1, SubProgressMonitor.PREPEND_MAIN_LABEL_TO_SUBTASK);
- FileUtils.unzipFile(zipFile, backupProps.getRootDir(), "", sub); //$NON-NLS-1$
- zipFile.delete();
- } else {
- monitor.worked(1);
- }
- for (Iterator i = backupProps.getDirsToDelete().iterator(); i.hasNext();) {
- String name = (String) i.next();
- File full = new File(backupProps.getRootDir(), name);
- FileUtils.deleteEmptyDirs(full);
- }
- propsFile.delete();
- monitor.worked(1);
- monitor.done();
- }
-
- // Backup files are just 0.properties, 1.properties, etc.
- // Get the next unused one.
- File getBackupProperties() {
- for (int i = 0;; i += 1) {
- File result = getBackupProperties(i);
- if (!result.exists())
- return result;
- }
- }
-
- private File getBackupProperties(int i) {
- return new File(BackupFiles.this.backupDir, Integer.toString(i) + PROPERTIES_SUFFIX);
- }
-
- private class BackupProperties extends Properties {
- private static final long serialVersionUID = 2268313492348533029L;
- private static final char FILE_KIND = 'f';
- private static final char DIR_KIND = 'd';
- private static final String ROOT_DIR = "rootDir"; //$NON-NLS-1$
- private static final String ARTIFACT_KEY = "artifactKey"; //$NON-NLS-1$
- // private static final String ARTIFACT_USER = "artifactUser"; //$NON-NLS-1$
-
- private int n = 0; // number of properties
- private File file; // file to store properties in
- private List keys = new LinkedList(); // keys, in order they were added or read
- private final File rootDir; // root of where files are going
- private Set dirsToCreate = new TreeSet(); // set of dirs we will create
-
- // create properties based on file we are backing up to
- public BackupProperties(String identifier, File rootDir) {
- this.file = BackupFiles.this.getBackupProperties();
- this.rootDir = rootDir;
- setProperty(ROOT_DIR, rootDir.getPath().replace('\\', '/'));
- setProperty(ARTIFACT_KEY, (identifier != null ? identifier : rootDir.getAbsolutePath()));
- // setProperty(ARTIFACT_USER, artifact.toUserString());
- // make sure rootDir is deleted if appropriate
- addDir("./"); //$NON-NLS-1$
- }
-
- // create backup properties from a previously saved BackupProperties
- public BackupProperties(File file) throws IOException {
- this.file = file;
- FileInputStream stream = new FileInputStream(file);
- try {
- load(stream);
- } finally {
- stream.close();
- }
- this.rootDir = new File(getProperty(ROOT_DIR));
- }
-
- // public String getArtifactKey() {
- // return getProperty(ARTIFACT_KEY);
- // }
-
- // public String getArtifactUserString() {
- // String result = getProperty(ARTIFACT_USER);
- // if (result != null) {
- // return result;
- // } else {
- // // return something if the key wasn't saved
- // result = getArtifactKey();
- // result = result.replaceFirst(",native,", ","); //$NON-NLS-1$ //$NON-NLS-2$
- // return result.replace(',', ' ').trim();
- // }
- // }
-
- public File getRootDir() {
- return this.rootDir;
- }
-
- // We are backing up files for this artifact.
- // Create a backup zip based on the artifact key (as a hint).
- public File getArchive() {
- String path = this.file.getPath();
- if (path.endsWith(PROPERTIES_SUFFIX)) {
- path = path.substring(0, path.length() - PROPERTIES_SUFFIX.length());
- }
- return new File(path + ZIP_SUFFIX);
- }
-
- public List getFilesToDelete() {
- return getMatchingProperties(FILE_KIND);
- }
-
- public List getDirsToDelete() {
- return getMatchingProperties(DIR_KIND);
- }
-
- private List getMatchingProperties(char c) {
- List result = new LinkedList();
- for (Enumeration e = propertyNames(); e.hasMoreElements();) {
- String key = (String) e.nextElement();
- if (key.equals(BackupProperties.ROOT_DIR)) {
- continue;
- }
- if (key.charAt(0) == c) {
- result.add(getProperty(key));
- }
- }
- return result;
- }
-
- public void addFileToDelete(String name) {
- add(FILE_KIND, name);
- addDir(name);
- }
-
- public void store() throws IOException {
- // add the directories -- at end because we want them all in order
- for (Iterator i = this.dirsToCreate.iterator(); i.hasNext();) {
- String name = (String) i.next();
- add(DIR_KIND, name);
- }
- FileOutputStream stream = new FileOutputStream(this.file);
- try {
- store(stream, /*header*/null);
- } finally {
- stream.close();
- }
- }
-
- public Object put(Object key, Object value) {
- if (!(key instanceof String))
- throw new AssertionError("expected String: " + key); //$NON-NLS-1$
- if (!(value instanceof String))
- throw new AssertionError("expected String: " + value); //$NON-NLS-1$
- this.keys.add(key);
- return super.put(key, value);
- }
-
- // return keys in the order they were added
- public synchronized Enumeration keys() {
- final Iterator iterator = this.keys.iterator();
- return new Enumeration() {
- public boolean hasMoreElements() {
- return iterator.hasNext();
- }
-
- public Object nextElement() {
- return iterator.next();
- }
- };
- }
-
- private void add(char kind, String name) {
- StringBuffer key = new StringBuffer(4);
- key.append(kind).append(n++);
- setProperty(key.toString(), name.replace('\\', '/'));
- }
-
- // if we're going to create this dir, remember that so we delete it
- private void addDir(String name) {
- int slash = name.lastIndexOf('/');
- if (slash == -1)
- return; // no dir
- String dirName = name.substring(0, slash);
- if (this.dirsToCreate.contains(dirName))
- return; // already have it
- if (new File(this.rootDir, dirName).exists())
- return; // already exists
- this.dirsToCreate.add(dirName);
- }
-
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/Messages.java b/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/Messages.java
deleted file mode 100644
index eaebfcb..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/Messages.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.natives;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.touchpoint.natives.messages"; //$NON-NLS-1$
-
- static {
- // load message values from bundle file and assign to fields below
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- public static String artifact_not_available;
- public static String artifact_repo_not_found;
- public static String could_not_obtain_download_cache;
- public static String download_cache_not_writeable;
- public static String unzipping;
- public static String restoring;
- public static String param_not_set;
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/NativeTouchpoint.java b/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/NativeTouchpoint.java
deleted file mode 100644
index 2d8e076..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/NativeTouchpoint.java
+++ /dev/null
@@ -1,277 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.natives;
-
-import java.io.File;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.engine.Profile;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.actions.LinkAction;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.location.AgentLocation;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.Version;
-
-public class NativeTouchpoint extends Touchpoint {
- private static final String PARM_TARGET_FILE = "targetFile"; //$NON-NLS-1$
- private static final String PARM_PERMISSIONS = "permissions"; //$NON-NLS-1$
- private static final String PARM_TARGET_DIR = "targetDir"; //$NON-NLS-1$
- private static final String PARM_TARGET = "target"; //$NON-NLS-1$
- private static final String ACTION_CHMOD = "chmod"; //$NON-NLS-1$
- private static final String PARM_IU = "iu"; //$NON-NLS-1$
- private static final String PIPE = "|"; //$NON-NLS-1$
- private static final String PARM_SOURCE = "source"; //$NON-NLS-1$
- private static final String PARM_ARTIFACT = "@artifact"; //$NON-NLS-1$
- private static final String PARM_INSTALL_FOLDER = "installFolder"; //$NON-NLS-1$
- private static final String NATIVE_TOUCHPOINT_TYPE = "org.eclipse.equinox.p2.native"; //$NON-NLS-1$
- private static final String ACTION_CLEANUPZIP = "cleanupzip"; //$NON-NLS-1$
- private static final String ACTION_UNZIP = "unzip"; //$NON-NLS-1$
- private static final String PARM_ARTIFACT_REQUESTS = "artifactRequests"; //$NON-NLS-1$
- private static final String PARM_OPERAND = "operand"; //$NON-NLS-1$
- private static final String PARM_PROFILE = "profile"; //$NON-NLS-1$
- private static final String ACTION_COLLECT = "collect"; //$NON-NLS-1$
- private static final String ID = "org.eclipse.equinox.p2.touchpoint.natives"; //$NON-NLS-1$
-
- protected static IStatus createError(String message) {
- return new Status(IStatus.ERROR, ID, message);
- }
-
- public ProvisioningAction getAction(String actionId) {
- if (actionId.equals(ACTION_COLLECT)) {
- return new ProvisioningAction() {
- public IStatus execute(Map parameters) {
- IProfile profile = (IProfile) parameters.get(PARM_PROFILE);
- InstallableUnitOperand operand = (InstallableUnitOperand) parameters.get(PARM_OPERAND);
- try {
- IArtifactRequest[] requests = collect(operand.second(), profile);
- Collection artifactRequests = (Collection) parameters.get(PARM_ARTIFACT_REQUESTS);
- artifactRequests.add(requests);
- } catch (ProvisionException e) {
- return e.getStatus();
- }
- return Status.OK_STATUS;
- }
-
- public IStatus undo(Map parameters) {
- // nothing to do for now
- return Status.OK_STATUS;
- }
- };
- }
-
- if (actionId.equals(ACTION_UNZIP)) {
- return new ProvisioningAction() {
- public IStatus execute(Map parameters) {
- return unzip(parameters);
- }
-
- public IStatus undo(Map parameters) {
- return cleanupzip(parameters);
- }
- };
- }
- if (actionId.equals(ACTION_CLEANUPZIP)) {
- return new ProvisioningAction() {
- public IStatus execute(Map parameters) {
- return cleanupzip(parameters);
- }
-
- public IStatus undo(Map parameters) {
- return unzip(parameters);
- }
- };
- }
-
- if (actionId.equals(ACTION_CHMOD)) {
- return new ProvisioningAction() {
- public IStatus execute(Map parameters) {
- String targetDir = (String) parameters.get(PARM_TARGET_DIR);
- if (targetDir == null)
- return createError(NLS.bind(Messages.param_not_set, PARM_TARGET_DIR, ACTION_CHMOD));
- String targetFile = (String) parameters.get(PARM_TARGET_FILE);
- if (targetFile == null)
- return createError(NLS.bind(Messages.param_not_set, PARM_TARGET_FILE, ACTION_CHMOD));
- String permissions = (String) parameters.get(PARM_PERMISSIONS);
- if (permissions == null)
- return createError(NLS.bind(Messages.param_not_set, PARM_PERMISSIONS, ACTION_CHMOD));
-
- new Permissions().chmod(targetDir, targetFile, permissions);
- return Status.OK_STATUS;
- }
-
- public IStatus undo(Map parameters) {
- //TODO: implement undo ??
- return Status.OK_STATUS;
- }
- };
- }
-
- if (actionId.equals(LinkAction.ID)) {
- return new LinkAction();
- }
- return null;
- }
-
- public TouchpointType getTouchpointType() {
- return MetadataFactory.createTouchpointType(NATIVE_TOUCHPOINT_TYPE, new Version(1, 0, 0));
- }
-
- IArtifactRequest[] collect(IInstallableUnit installableUnit, IProfile profile) throws ProvisionException {
- IArtifactKey[] toDownload = installableUnit.getArtifacts();
- if (toDownload == null)
- return new IArtifactRequest[0];
- IArtifactRepository destination = getDownloadCacheRepo();
- IArtifactRequest[] requests = new IArtifactRequest[toDownload.length];
- int count = 0;
- for (int i = 0; i < toDownload.length; i++) {
- //TODO Here there are cases where the download is not necessary again because what needs to be done is just a configuration step
- requests[count++] = getArtifactRepositoryManager().createMirrorRequest(toDownload[i], destination);
- }
-
- if (requests.length == count)
- return requests;
- IArtifactRequest[] result = new IArtifactRequest[count];
- System.arraycopy(requests, 0, result, 0, count);
- return result;
- }
-
- private String getInstallFolder(IProfile profile) {
- return profile.getProperty(IProfile.PROP_INSTALL_FOLDER);
- }
-
- private static AgentLocation getAgentLocation() {
- return (AgentLocation) ServiceHelper.getService(Activator.getContext(), AgentLocation.class.getName());
- }
-
- static private IArtifactRepositoryManager getArtifactRepositoryManager() {
- return (IArtifactRepositoryManager) ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.class.getName());
- }
-
- static private IFileArtifactRepository getDownloadCacheRepo() throws ProvisionException {
- URL location = getDownloadCacheLocation();
- if (location == null)
- throw new IllegalStateException(Messages.could_not_obtain_download_cache);
- IArtifactRepositoryManager manager = getArtifactRepositoryManager();
- if (manager == null)
- throw new IllegalStateException(Messages.artifact_repo_not_found);
- IArtifactRepository repository;
- try {
- repository = manager.loadRepository(location, null);
- } catch (ProvisionException e) {
- // the download cache doesn't exist or couldn't be read. Create new cache.
- String repositoryName = location + " - Agent download cache"; //$NON-NLS-1$
- Map properties = new HashMap(1);
- properties.put(IRepository.PROP_SYSTEM, Boolean.TRUE.toString());
- repository = manager.createRepository(location, repositoryName, IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, properties);
- }
-
- IFileArtifactRepository downloadCache = (IFileArtifactRepository) repository.getAdapter(IFileArtifactRepository.class);
- if (downloadCache == null)
- throw new ProvisionException(NLS.bind(Messages.download_cache_not_writeable, location));
- return downloadCache;
- }
-
- static private URL getDownloadCacheLocation() {
- AgentLocation location = getAgentLocation();
- return (location != null ? location.getArtifactRepositoryURL() : null);
- }
-
- public IStatus initializePhase(IProgressMonitor monitor, IProfile profile, String phaseId, Map touchpointParameters) {
- touchpointParameters.put(PARM_INSTALL_FOLDER, getInstallFolder(profile));
- return null;
- }
-
- IStatus unzip(Map parameters) {
- String source = (String) parameters.get(PARM_SOURCE);
- if (source == null)
- return createError(NLS.bind(Messages.param_not_set, PARM_SOURCE, ACTION_UNZIP));
-
- String originalSource = source;
- String target = (String) parameters.get(PARM_TARGET);
- if (target == null)
- return createError(NLS.bind(Messages.param_not_set, PARM_TARGET, ACTION_UNZIP));
-
- IInstallableUnit iu = (IInstallableUnit) parameters.get(PARM_IU);
- Profile profile = (Profile) parameters.get(PARM_PROFILE);
-
- if (source.equals(PARM_ARTIFACT)) {
- //TODO: fix wherever this occurs -- investigate as this is probably not desired
- if (iu.getArtifacts() == null || iu.getArtifacts().length == 0)
- return Status.OK_STATUS;
-
- IArtifactKey artifactKey = iu.getArtifacts()[0];
-
- IFileArtifactRepository downloadCache;
- try {
- downloadCache = getDownloadCacheRepo();
- } catch (ProvisionException e) {
- return e.getStatus();
- }
- File fileLocation = downloadCache.getArtifactFile(artifactKey);
- if ((fileLocation == null) || !fileLocation.exists())
- return createError(NLS.bind(Messages.artifact_not_available, artifactKey));
- source = fileLocation.getAbsolutePath();
- }
-
- File[] unzippedFiles = new Zip().unzip(source, target, null);
- StringBuffer unzippedFileNameBuffer = new StringBuffer();
- for (int i = 0; i < unzippedFiles.length; i++)
- unzippedFileNameBuffer.append(unzippedFiles[i].getAbsolutePath()).append(PIPE);
-
- profile.setInstallableUnitProperty(iu, "unzipped" + PIPE + originalSource + PIPE + target, unzippedFileNameBuffer.toString()); //$NON-NLS-1$
-
- return Status.OK_STATUS;
- }
-
- protected IStatus cleanupzip(Map parameters) {
- String source = (String) parameters.get(PARM_SOURCE);
- if (source == null)
- return createError(NLS.bind(Messages.param_not_set, PARM_SOURCE, ACTION_CLEANUPZIP));
- String target = (String) parameters.get(PARM_TARGET);
- if (target == null)
- return createError(NLS.bind(Messages.param_not_set, PARM_TARGET, ACTION_CLEANUPZIP));
-
- IInstallableUnit iu = (IInstallableUnit) parameters.get(PARM_IU);
- IProfile profile = (IProfile) parameters.get(PARM_PROFILE);
-
- String unzipped = profile.getInstallableUnitProperty(iu, "unzipped" + PIPE + source + PIPE + target); //$NON-NLS-1$
-
- if (unzipped == null)
- return Status.OK_STATUS;
-
- StringTokenizer tokenizer = new StringTokenizer(unzipped, PIPE);
- List directories = new ArrayList();
- while (tokenizer.hasMoreTokens()) {
- String fileName = tokenizer.nextToken();
- File file = new File(fileName);
- if (!file.exists())
- continue;
-
- if (file.isDirectory())
- directories.add(file);
- else
- file.delete();
- }
-
- for (Iterator it = directories.iterator(); it.hasNext();) {
- File directory = (File) it.next();
- directory.delete();
- }
-
- return Status.OK_STATUS;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/Permissions.java b/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/Permissions.java
deleted file mode 100644
index 927c37c..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/Permissions.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Red Hat Incorporated
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Red Hat Incorporated - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.natives;
-
-import java.io.IOException;
-import org.eclipse.core.runtime.IPath;
-
-public class Permissions {
- public void chmod(String targetDir, String targetFile, String perms) {
- Runtime r = Runtime.getRuntime();
- try {
- r.exec(new String[] {"chmod", perms, targetDir + IPath.SEPARATOR + targetFile}); //$NON-NLS-1$
- } catch (IOException e) {
- // FIXME: we should probably throw some sort of error here
- }
- }
-
- public void chmod(String target, String targetFile, int perms) {
- chmod(target, targetFile, Integer.toString(perms));
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/Util.java b/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/Util.java
deleted file mode 100644
index c60fae9..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/Util.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.natives;
-
-import org.eclipse.core.runtime.*;
-
-public class Util {
-
- public static void log(String msg) {
- log(new Status(IStatus.OK, Activator.ID, IStatus.OK, msg, null));
- }
-
- public static void log(IStatus status) {
- System.out.println(Util.class.getName() + " " + status); //$NON-NLS-1$
- }
-
- public static CoreException coreException(String msg) {
- return new CoreException(errorStatus(msg, null));
- }
-
- public static CoreException coreException(Throwable e, String msg) {
- return new CoreException(errorStatus(msg, e));
- }
-
- public static IStatus errorStatus(String msg, Throwable e) {
- return new Status(IStatus.ERROR, Activator.ID, IStatus.OK, msg, e);
- }
-
- /**
- * Split monitor into n equal sub-monitors and return them.
- * This calls beginTask on monitor and assigns all its time to the sub-monitors.
- * monitor may be null.
- */
- public static IProgressMonitor[] splitProgressMonitor(IProgressMonitor monitor, int n) {
- if (monitor == null || monitor instanceof NullProgressMonitor) {
- monitor = null;
- } else {
- monitor.beginTask("", n); //$NON-NLS-1$
- }
- IProgressMonitor[] result = new IProgressMonitor[n];
- for (int i = 0; i < n; i += 1) {
- result[i] = createSubProgressMonitor(monitor, 1);
- }
- return result;
- }
-
- private static IProgressMonitor createSubProgressMonitor(IProgressMonitor monitor, int ticks) {
- if (monitor == null)
- return new NullProgressMonitor();
-
- return new SubProgressMonitor(monitor, ticks, SubProgressMonitor.PREPEND_MAIN_LABEL_TO_SUBTASK);
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/Zip.java b/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/Zip.java
deleted file mode 100644
index c53c429..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/Zip.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.natives;
-
-import java.io.File;
-import java.io.IOException;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-import org.eclipse.osgi.util.NLS;
-
-//TODO: Do we need this class or is just using FileUtils.unzip sufficient?
-//TODO Be careful here with the permissions.... We may need to have a proper unzip technology here that supports file permissions for linux
-public class Zip {
- public File[] unzip(String source, String destination, String backupDir) {
- // IArtifact artifact = data.getArtifact();
- // String destination = performVariableSubstitutions(data.getDestination());
- // if (canInstallArtifact()) {
- //TODO if artifact has isExploded==true should pass in progress monitor
- // for unzipping
- File zipFile = new File(source);
- if (zipFile == null || !zipFile.exists()) {
- // internal error?
- Util.log(this.getClass().getName() + " the files to be unzipped is not here"); //$NON-NLS-1$
- // throw Util.coreException(null, NLS.bind(Messages.failed_to_download_artifact, source));
- }
-
- // IProgressMonitor[] pm = new SplitProgressMonitor(new NullProgressMonitor(), 2);
- // IProgressMonitor backupPM = pm[0];
- // IProgressMonitor unzipPM = pm[1];
- try {
- // Set Destination location
- // Path destPath = new Path(destination);
- // if (destPath.isAbsolute()) {
- // destinationDir = destPath.toFile();
- // } else {
- // destinationDir = new File(getLocation(Profile.INSTALL_LOCATION));
- // if (!destination.equals(".")) { //$NON-NLS-1$
- // destinationDir = new File(destinationDir, destination);
- // }
- // }
-
- if (backupDir != null) {
- try {
- // backupPM.beginTask(Messages.backing_up, 1);
- BackupFiles backupFiles = new BackupFiles(new File(backupDir));
- backupFiles.backupFilesInZip(backupDir, zipFile.toURL(), new File(destination), null);
- } catch (IOException e) {
- Util.log(this.getClass().getName() + " something went wrong when backing up the files"); //$NON-NLS-1$
- // throw Util.coreException(e, NLS.bind(Messages.error_backing_up, zipFile));
- } finally {
- // backupPM.done();
- }
- }
- try {
- String taskName = NLS.bind(Messages.unzipping, source);
- return FileUtils.unzipFile(zipFile, new File(destination), taskName, new NullProgressMonitor());
- } catch (IOException e) {
- Util.log(this.getClass().getName() + " something went wrong when unzipping"); //$NON-NLS-1$
- Util.log("zipfile: " + zipFile.getAbsolutePath()); //$NON-NLS-1$
- Util.log("destination: " + destination); //$NON-NLS-1$
- // throw Util.coreException(e.getMessage());
- } finally {
- // unzipPM.done();
- }
- } finally {
- // monitor.done();
- }
- // }
- return null;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/LinkAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/LinkAction.java
deleted file mode 100644
index 77613d2..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/LinkAction.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.natives.actions;
-
-import java.io.IOException;
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.Messages;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.Util;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningAction;
-import org.eclipse.osgi.util.NLS;
-
-public class LinkAction extends ProvisioningAction {
- public static final String ID = "ln"; //$NON-NLS-1$
- public static final String PARM_TARGET_DIR = "targetDir"; //$NON-NLS-1$
- public static final String PARM_LINK_NAME = "linkName"; //$NON-NLS-1$
- public static final String PARM_LINK_TARGET = "linkTarget"; //$NON-NLS-1$
- public static final String PARM_LINK_FORCE = "force"; //$NON-NLS-1$
-
- public IStatus execute(Map parameters) {
- String targetDir = (String) parameters.get(PARM_TARGET_DIR);
- if (targetDir == null)
- return Util.errorStatus(NLS.bind(Messages.param_not_set, PARM_TARGET_DIR, ID), null);
-
- String linkTarget = (String) parameters.get(PARM_LINK_TARGET);
- if (linkTarget == null)
- return Util.errorStatus(NLS.bind(Messages.param_not_set, PARM_LINK_TARGET, ID), null);
-
- String linkName = (String) parameters.get(PARM_LINK_NAME);
- if (linkName == null)
- return Util.errorStatus(NLS.bind(Messages.param_not_set, PARM_LINK_NAME, ID), null);
-
- String force = (String) parameters.get(PARM_LINK_FORCE);
-
- ln(targetDir, linkTarget, linkName, Boolean.valueOf(force).booleanValue());
- return Status.OK_STATUS;
- }
-
- public IStatus undo(Map parameters) {
- // TODO Auto-generated method stub
- return null;
- }
-
- private void ln(String targetDir, String linkTarget, String linkName, boolean force) {
- Runtime r = Runtime.getRuntime();
- try {
- r.exec(new String[] {"ln", "-s" + (force ? "f" : ""), linkTarget, targetDir + IPath.SEPARATOR + linkName}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/messages.properties b/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/messages.properties
deleted file mode 100644
index b18ba37..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/messages.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-artifact_repo_not_found=The artifact repository manager could not be found.
-could_not_obtain_download_cache=Could not obtain the download cache location.
-download_cache_not_writeable=Agent download cache not writeable: {0}.
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-# NativeInstallAdapter
-artifact_not_available=The artifact for {0} is not available.
-restoring=Restoring {0}
-
-
-unzipping=Extracting {0}
-
-param_not_set=The \"{0}\" parameter was not set in the \"{1}\" action.
-
-
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/.classpath b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/.classpath
deleted file mode 100644
index ce73933..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/.cvsignore b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/.project b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/.project
deleted file mode 100644
index c792f89..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.equinox.p2.ui.admin.rcp</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 78523cd..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,331 +0,0 @@
-#Thu Aug 16 11:00:59 EDT 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index b85a368..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:59:25 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 0d1ef4b..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Thu Jul 26 19:13:12 EDT 2007
-eclipse.preferences.version=1
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/META-INF/MANIFEST.MF
deleted file mode 100644
index 6ea0cd7..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,14 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %bundleName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.equinox.p2.ui.admin.rcp; singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.equinox.internal.p2.ui.admin.rcp.Activator
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,
- CDC-1.1/Foundation-1.1
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime
-Eclipse-LazyStart: true
-Export-Package: org.eclipse.equinox.internal.p2.ui.admin.rcp;x-internal:=true
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/ProvAdminUI.launch b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/ProvAdminUI.launch
deleted file mode 100644
index cb0f5f3..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/ProvAdminUI.launch
+++ /dev/null
@@ -1,306 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="org.eclipse.equinox.p2.core"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/ProvAdminUI"/>
-<booleanAttribute key="default_auto_start" value="false"/>
-<intAttribute key="default_start_level" value="4"/>
-<stringAttribute key="execEnvironment" value="CDC-1.0/Foundation-1.0"/>
-<booleanAttribute key="includeOptional" value="false"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -console -consolelog -product org.eclipse.equinox.p2.ui.admin.rcp.product"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<booleanAttribute key="restart" value="false"/>
-<stringAttribute key="selectedPlugin" value="org.eclipse.equinox.p2.core"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="target_bundles" value="org.eclipse.core.net@default:default,org.eclipse.jface@default:default,org.eclipse.core.databinding@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.security.ui@default:default,org.eclipse.osgi@:,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.security@default:default,org.eclipse.swt.win32.win32.x86@default:false,org.eclipse.core.runtime@default:true,org.eclipse.core.jobs@default:default,org.eclipse.core.expressions@default:default,org.eclipse.equinox.common@default:default,org.eclipse.help@default:default,org.eclipse.osgi.services@default:default,org.eclipse.swt@default:default,org.eclipse.core.variables@default:default,org.eclipse.ant.core@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.commands@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.equinox.security.win32.x86@default:false,org.eclipse.equinox.registry@default:default,com.ibm.icu@default:default,org.eclipse.ui@default:default,org.eclipse.core.net.win32.x86@default:false,org.eclipse.ui.workbench@default:default"/>
-<booleanAttribute key="tracing" value="true"/>
-<mapAttribute key="tracingOptions">
-<mapEntry key="org.eclipse.core.runtime/debug/context" value="false"/>
-<mapEntry key="org.eclipse.core.jobs/jobs/beginend" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/completion" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/sources" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/indexmanager" value="false"/>
-<mapEntry key="org.eclipse.ltk.core.refactoring/perf/participants/checkConditions" value="300"/>
-<mapEntry key="org.eclipse.jface.text.source/debug/RevisionRulerColumn" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/contexts" value="false"/>
-<mapEntry key="org.eclipse.debug.ui/debug/viewers/updateSequence" value="false"/>
-<mapEntry key="org.eclipse.osgi/trace/filename" value="runtime.traces"/>
-<mapEntry key="org.eclipse.jdt.core/debug" value="true"/>
-<mapEntry key="org.eclipse.debug.ui/debug/contextlaunching" value="false"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/dirtycaching" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/javamodel" value="false"/>
-<mapEntry key="org.eclipse.ui.intro/trace/printHTML" value="false"/>
-<mapEntry key="org.eclipse.ltk.core.refactoring/perf/participants/createChanges" value="300"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPerspectiveListener" value="false"/>
-<mapEntry key="org.eclipse.osgi/resolver/debug" value="false"/>
-<mapEntry key="org.eclipse.team.core/refreshjob" value="false"/>
-<mapEntry key="org.eclipse.jface.text/debug/AbstractInformationControlManager" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/installhandler" value="false"/>
-<mapEntry key="org.eclipse.ui/debug" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug/infopop" value="false"/>
-<mapEntry key="org.eclipse.pde.core/classpath" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/threading" value="false"/>
-<mapEntry key="org.eclipse.equinox.preferences/general" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/handlers.performance" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/operations.verbose" value="false"/>
-<mapEntry key="org.eclipse.osgi/trace/activation" value="false"/>
-<mapEntry key="org.eclipse.debug.core/debug/commands" value="false"/>
-<mapEntry key="org.eclipse.team.core/threading" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/workbench.restore" value="30000"/>
-<mapEntry key="org.eclipse.update.core/debug/parsing" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/postaction" value="false"/>
-<mapEntry key="org.eclipse.jdt.apt.core/debug/generatedFileMaps" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/graphics" value="false"/>
-<mapEntry key="org.eclipse.osgi/defaultprofile/logsynchronously" value="false"/>
-<mapEntry key="org.eclipse.ecf.identity/debug/methods/exiting" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/workingSets" value="false"/>
-<mapEntry key="org.eclipse.osgi/monitor/activation" value="false"/>
-<mapEntry key="org.eclipse.ecf.identity/debug" value="true"/>
-<mapEntry key="org.eclipse.debug.ui/debug" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/buffermanager" value="false"/>
-<mapEntry key="org.eclipse.help.base/debug/search" value="false"/>
-<mapEntry key="org.eclipse.pde.build/debug" value="false"/>
-<mapEntry key="org.eclipse.jface.text/debug/ContentAssistSubjectAdapters" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/perf/search/participants" value="300"/>
-<mapEntry key="org.eclipse.ecf.filetransfer/debug/exceptions/throwing" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/perspective.create" value="800"/>
-<mapEntry key="org.eclipse.update.core/debug/type" value="false"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin" value="false"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPropertyChangeListener" value="false"/>
-<mapEntry key="org.eclipse.osgi/resolver/generics" value="false"/>
-<mapEntry key="org.eclipse.ecf.filetransfer/debug/methods/entering" value="false"/>
-<mapEntry key="org.eclipse.osgi/resolver/requires" value="false"/>
-<mapEntry key="org.eclipse.core.resources/refresh" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/perf/containerinitializer" value="5000"/>
-<mapEntry key="org.eclipse.osgi/profile/benchmark" value="false"/>
-<mapEntry key="org.eclipse.help.webapp/debug" value="true"/>
-<mapEntry key="org.eclipse.jdt.ui/debug/ASTProvider" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug" value="false"/>
-<mapEntry key="org.eclipse.ecf.filetransfer/debug/exceptions/catching" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/handlers" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/contexts.performance" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/metafiles" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/perf/completion" value="300"/>
-<mapEntry key="org.eclipse.osgi/profile/startup" value="false"/>
-<mapEntry key="org.eclipse.core.jobs/jobs" value="false"/>
-<mapEntry key="org.eclipse.core.resources/perf/save.participants" value="500"/>
-<mapEntry key="org.eclipse.ecf/debug/exceptions/catching" value="false"/>
-<mapEntry key="org.eclipse.help.base/debug" value="true"/>
-<mapEntry key="org.eclipse.core.jobs/jobs/timing" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/perf/reconcile" value="1000"/>
-<mapEntry key="org.eclipse.ecf.identity/debug/exceptions/throwing" value="false"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPageListener" value="false"/>
-<mapEntry key="org.eclipse.core.resources/contenttype/cache" value="false"/>
-<mapEntry key="org.eclipse.core.jobs/jobs/locks" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/configuration" value="false"/>
-<mapEntry key="org.eclipse.ecf/debug" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug/connect" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/handlers.verbose.commandId" value=""/>
-<mapEntry key="org.eclipse.ui.ide/debug" value="false"/>
-<mapEntry key="org.eclipse.osgi/profile/debug" value="false"/>
-<mapEntry key="org.eclipse.pde.core/debug" value="true"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPartReference" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/job.stale" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/perf/explorer/createPartControl" value="1300"/>
-<mapEntry key="org.eclipse.jdt.core/debug/hierarchy" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/perf/variableinitializer" value="5000"/>
-<mapEntry key="org.eclipse.ui.ide/debug/internalerror/openDialog" value="false"/>
-<mapEntry key="org.eclipse.core.resources/strings" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/sourcemapper" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/mastertable" value="false"/>
-<mapEntry key="org.eclipse.core.expressions/tracePropertyResolving" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/showHeapStatus" value="true"/>
-<mapEntry key="org.eclipse.jdt.core/debug/javadelta" value="false"/>
-<mapEntry key="org.eclipse.core.resources/preferences" value="false"/>
-<mapEntry key="org.eclipse.ecf/debug/flag" value="true"/>
-<mapEntry key="org.eclipse.jdt.core/debug/selection" value="false"/>
-<mapEntry key="org.eclipse.jdt.apt.core/debug" value="false"/>
-<mapEntry key="org.eclipse.ecf.filetransfer/debug/flag" value="true"/>
-<mapEntry key="org.eclipse.jdt.ui/perf/content_assist_sorters/extensions" value=""/>
-<mapEntry key="org.eclipse.jdt.core/debug/javamodel/cache" value="false"/>
-<mapEntry key="org.eclipse.ecf/debug/filter" value="*"/>
-<mapEntry key="org.eclipse.osgi/defaultprofile/logfilename" value=""/>
-<mapEntry key="org.eclipse.team.core/backgroundevents" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/keyBindings" value="false"/>
-<mapEntry key="org.eclipse.equinox.p2.core/artifacts/mirrors" value="true"/>
-<mapEntry key="org.eclipse.ui/perf/part.activate" value="200"/>
-<mapEntry key="org.eclipse.ecf.filetransfer/debug/methods/exiting" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug" value="true"/>
-<mapEntry key="org.eclipse.osgi/debug/security" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/needbuild" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/metainfo" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/swtdebugglobal" value="false"/>
-<mapEntry key="org.eclipse.core.resources/perf/builders" value="10000"/>
-<mapEntry key="org.eclipse.ui/perf/perspective.listeners" value="200"/>
-<mapEntry key="org.eclipse.ui/debug/showAllJobs" value="false"/>
-<mapEntry key="org.eclipse.core.resources/history" value="false"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPartListener" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/search" value="false"/>
-<mapEntry key="org.eclipse.pde.core/validation" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/cvsprotocol" value="true"/>
-<mapEntry key="org.eclipse.jface.text/debug/AnnotationPainter" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/mastertable" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/debug" value="false"/>
-<mapEntry key="org.eclipse.equinox.preferences/set" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/snapshots" value="false"/>
-<mapEntry key="org.eclipse.ecf.filetransfer/debug" value="true"/>
-<mapEntry key="org.eclipse.ui/perf/perspective.switch" value="800"/>
-<mapEntry key="org.eclipse.help.webapp/debug/workingsets" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/bundleTime" value="false"/>
-<mapEntry key="org.eclipse.osgi/resolver/uses" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/markers" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/workbench.start" value="45000"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug/cachecopy" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/perf/success" value="false"/>
-<mapEntry key="org.eclipse.ecf/debug/methods/entering" value="false"/>
-<mapEntry key="org.eclipse.ecf/debug/methods/exiting" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/perf/selection" value="300"/>
-<mapEntry key="org.eclipse.osgi/debug/startlevel" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore" value="false"/>
-<mapEntry key="org.eclipse.osgi/resolver/wiring" value="false"/>
-<mapEntry key="org.eclipse.core.resources/perf/snapshot" value="1000"/>
-<mapEntry key="org.eclipse.ui.intro/trace/logPerformance" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/loader" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/contexts.verbose" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/perf/explorer/makeActions" value="1000"/>
-<mapEntry key="org.eclipse.core.resources/save/markers" value="false"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin/resolver" value="false"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPartListener2" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/operations" value="false"/>
-<mapEntry key="org.eclipse.ui.ide/debug/markers" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/install" value="false"/>
-<mapEntry key="org.eclipse.equinox.registry/debug/events" value="false"/>
-<mapEntry key="org.eclipse.equinox.p2.garbagecollector/debug" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/metainfo" value="false"/>
-<mapEntry key="org.eclipse.equinox.p2.core/generator/parsing" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/contentTypes" value="200"/>
-<mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser/inprocess" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/perf/javadeltalistener" value="500"/>
-<mapEntry key="org.eclipse.core.resources/perf/listeners" value="500"/>
-<mapEntry key="org.eclipse.ui.intro/flags/noBrowser" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/part.init" value="800"/>
-<mapEntry key="org.eclipse.core.contenttype/debug" value="false"/>
-<mapEntry key="org.eclipse.osgi/resolver/imports" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/tree" value="false"/>
-<mapEntry key="org.eclipse.ui.intro.universal/trace/logPerformance" value="false"/>
-<mapEntry key="org.eclipse.help/debug/context" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/manifest" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/multipageeditor" value="false"/>
-<mapEntry key="org.eclipse.jdt.apt.core/debug/generatedFiles" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/needbuildstack" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/swtdebug" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/syncinfo" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.ssh/debug" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/failure" value="false"/>
-<mapEntry key="org.eclipse.team.core/debug" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/builder" value="false"/>
-<mapEntry key="org.eclipse.osgi/trace/classLoading" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save" value="false"/>
-<mapEntry key="org.eclipse.core.jobs/jobs/errorondeadlock" value="false"/>
-<mapEntry key="org.eclipse.core.resources/contenttype" value="false"/>
-<mapEntry key="org.eclipse.jface.text/debug/FastPartitioner/PositionCache" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/compiler" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/events" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/commands" value="false"/>
-<mapEntry key="org.eclipse.equinox.preferences/get" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/debug/ResultCollector" value="false"/>
-<mapEntry key="org.eclipse.debug.ui/debug/launchhistory" value="false"/>
-<mapEntry key="org.eclipse.equinox.p2.core/engine/installregistry" value="true"/>
-<mapEntry key="org.eclipse.debug.ui/debug/viewers/model" value="false"/>
-<mapEntry key="org.eclipse.equinox.registry/debug" value="false"/>
-<mapEntry key="org.eclipse.ui.intro/debug" value="true"/>
-<mapEntry key="org.eclipse.ecf.identity/debug/exceptions/catching" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/cpresolution/advanced" value="false"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/converter/debug" value="false"/>
-<mapEntry key="org.eclipse.pde.core/cache" value="false"/>
-<mapEntry key="org.eclipse.equinox.p2.core/debug" value="true"/>
-<mapEntry key="org.eclipse.debug.core/debug/events" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.osgi/monitor/classes" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/part.input" value="200"/>
-<mapEntry key="org.eclipse.ui.intro.universal/debug" value="true"/>
-<mapEntry key="org.eclipse.jdt.ui/debug/TypeConstraints" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/messageBundles" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/invoking" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/javadelta/verbose" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/tree" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/contributions" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/warning" value="false"/>
-<mapEntry key="org.eclipse.core.resources/natures" value="false"/>
-<mapEntry key="org.eclipse.equinox.p2.core/metadata/parsing" value="true"/>
-<mapEntry key="org.eclipse.jdt.core.manipulation/debug" value="true"/>
-<mapEntry key="org.eclipse.jdt.core/debug/cpresolution" value="false"/>
-<mapEntry key="org.eclipse.help/debug/search" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.ssh/ssh_protocol" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/stacktrace" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/part.create" value="800"/>
-<mapEntry key="org.eclipse.ui.intro/trace/logInfo" value="true"/>
-<mapEntry key="org.eclipse.team.core/streams" value="false"/>
-<mapEntry key="org.eclipse.ui.ide/debug/undomonitor" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/perf/explorer/RefactorActionGroup" value="150"/>
-<mapEntry key="org.eclipse.ui/experimental/menus" value="false"/>
-<mapEntry key="org.eclipse.core.jobs/jobs/shutdown" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/packageadmin" value="false"/>
-<mapEntry key="org.eclipse.ecf/debug/exceptions/throwing" value="false"/>
-<mapEntry key="org.eclipse.jdt.apt.core/debug/compilationEnv" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/compatibility/debug" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/declaredImages" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/reconciler" value="false"/>
-<mapEntry key="org.eclipse.ecf.identity/debug/methods/entering" value="false"/>
-<mapEntry key="org.eclipse.ui.ide/debug/gc" value="false"/>
-<mapEntry key="org.eclipse.debug.ui/debug/viewers/contentProvider" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/services" value="false"/>
-<mapEntry key="org.eclipse.ui.workbench/debug" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/perf/content_assist/extensions" value="1000"/>
-<mapEntry key="org.eclipse.osgi/debug/filter" value="false"/>
-<mapEntry key="org.eclipse.debug.core/debug" value="false"/>
-<mapEntry key="org.eclipse.core.resources/debug" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/zipaccess" value="false"/>
-<mapEntry key="org.eclipse.ui.browser/debug" value="false"/>
-<mapEntry key="org.eclipse.osgi/profile/impl" value="org.eclipse.osgi.internal.profile.DefaultProfileLogger"/>
-<mapEntry key="org.eclipse.update.core/debug/web" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/debug" value="false"/>
-<mapEntry key="org.eclipse.help/debug" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/perf" value="false"/>
-<mapEntry key="org.eclipse.osgi/trace/filters" value="trace.properties"/>
-<mapEntry key="org.eclipse.ui/perf/part.listeners" value="200"/>
-<mapEntry key="org.eclipse.debug.ui/debug/viewers/viewer" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/keyBindings.verbose" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/syncinfo" value="false"/>
-<mapEntry key="org.eclipse.osgi/defaultprofile/buffersize" value="256"/>
-<mapEntry key="org.eclipse.ui/perf/page.listeners" value="200"/>
-<mapEntry key="org.eclipse.team.cvs.core/syncchangeevents" value="false"/>
-<mapEntry key="org.eclipse.jdt.apt.pluggable.core/debug" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/handlers.verbose" value="false"/>
-<mapEntry key="org.eclipse.ecf.filetransfer/debug/filter" value="*"/>
-<mapEntry key="org.eclipse.osgi/monitor/resources" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/part.control" value="800"/>
-<mapEntry key="org.eclipse.ui/perf/uijob" value="200"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug/cachelookup" value="false"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPartListener2" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/delta" value="false"/>
-<mapEntry key="org.eclipse.equinox.p2.core/core/parseproblems" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/interrupt" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/preferences/plugin" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug" value="false"/>
-<mapEntry key="org.eclipse.osgi/resolver/cycles" value="false"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPartListener" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/resolution" value="false"/>
-<mapEntry key="org.eclipse.update.configurator/debug" value="false"/>
-<mapEntry key="org.eclipse.debug.ui/debug/viewers/deltas" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/location" value="false"/>
-<mapEntry key="org.eclipse.ui.intro.universal/trace/logInfo" value="true"/>
-</mapAttribute>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<booleanAttribute key="useNamedJRE" value="false"/>
-<stringAttribute key="workspace_bundles" value="org.eclipse.equinox.p2.engine@default:default,org.eclipse.ecf@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.p2.updatesite@default:default,org.sat4j.core@default:default,org.eclipse.equinox.frameworkadmin@2:true,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.ui.admin.rcp@default:default,org.eclipse.equinox.frameworkadmin.equinox@2:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.ui@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.eclipse.equinox.p2.exemplarysetup@default:default,org.eclipse.equinox.p2.metadata.generator@default:default,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.equinox.p2.updatechecker@default:default,org.sat4j.pb@default:default,org.eclipse.ecf.ssl@default:false,org.eclipse.equinox.p2.ui.admin@default:default,org.eclipse.equinox.p2.garbagecollector@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.equinox.p2.touchpoint.natives@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@3:true,org.eclipse.ecf.provider.filetransfer.ssl@default:false,org.eclipse.equinox.p2.director@default:default,org.eclipse.equinox.simpleconfigurator@1:true,org.eclipse.ecf.filetransfer@default:default"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/about.html b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 2, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/build.properties b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/build.properties
deleted file mode 100644
index 3501186..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = plugin.properties,\
- icons/,\
- .,\
- plugin.xml,\
- about.html,\
- META-INF/
-src.includes = about.html
-source.. = src/
-
-
-
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/config.ini b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/config.ini
deleted file mode 100644
index a709baf..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/config.ini
+++ /dev/null
@@ -1,50 +0,0 @@
-osgi.bundles=\
- com.ibm.icu,\
- org.eclipse.core.commands,\
- org.eclipse.core.contenttype,\
- org.eclipse.core.databinding,\
- org.eclipse.core.expressions,\
- org.eclipse.core.jobs,\
- org.eclipse.core.runtime,\
- org.eclipse.ecf,\
- org.eclipse.ecf.filetransfer,\
- org.eclipse.ecf.identity,\
- org.eclipse.ecf.provider.filetransfer,\
- org.eclipse.equinox.app@start,\
- org.eclipse.equinox.common,\
- org.eclipse.equinox.frameworkadmin,\
- org.eclipse.equinox.frameworkadmin.equinox@start,\
- org.eclipse.equinox.launcher,\
- org.eclipse.equinox.launcher.win32.win32.x86,\
- org.eclipse.equinox.preferences,\
- org.eclipse.equinox.p2.jarprocessor,\
- org.eclipse.equinox.p2.artifact.repository,\
- org.eclipse.equinox.p2.console,\
- org.eclipse.equinox.p2.core,\
- org.eclipse.equinox.p2.director,\
- org.eclipse.equinox.p2.download,\
- org.eclipse.equinox.p2.engine,\
- org.eclipse.equinox.p2.exemplarysetup@start,\
- org.eclipse.equinox.p2.metadata,\
- org.eclipse.equinox.p2.metadata.repository,\
- org.eclipse.equinox.p2.touchpoint.eclipse,\
- org.eclipse.equinox.p2.touchpoint.natives,\
- org.eclipse.equinox.p2.ui,\
- org.eclipse.equinox.p2.ui.admin,\
- org.eclipse.equinox.p2.ui.admin.rcp,\
- org.eclipse.equinox.registry,\
- org.eclipse.equinox.simpleconfigurator@1:start,\
- org.eclipse.equinox.simpleconfigurator.manipulator@start,\
- org.eclipse.help,\
- org.eclipse.jface,\
- org.eclipse.jface.databinding,\
- org.eclipse.osgi.services,\
- org.eclipse.swt,\
- org.eclipse.swt.win32.win32.x86,\
- org.eclipse.ui,\
- org.eclipse.ui.workbench,\
- org.sat4j.core,\
- org.sat4j.pb
-eclipse.product=org.eclipse.equinox.p2.ui.admin.rcp.product
-org.eclipse.equinox.simpleconfigurator.useReference=true
-org.eclipse.update.reconcile=false
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/icons/provision.gif b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/icons/provision.gif
deleted file mode 100644
index c984fba..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/icons/provision.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/icons/pview.gif b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/icons/pview.gif
deleted file mode 100644
index 4aa54a6..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/icons/pview.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/plugin.properties b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/plugin.properties
deleted file mode 100644
index 1a10c82..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/plugin.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-#
-# Provisioning Admin UI RCP app
-#
-providerName=Eclipse.org
-bundleName=Provisioning Admin UI RCP (Incubation)
-productName=Eclipse Provisioning
-appName=Eclipse Provisioning Admin UI
-perspectiveName=Eclipse Provisioning
-Views.Progress=Progress View
-aboutText= Eclipse Provisioning Admin UI \n\n\
-(c) Copyright Eclipse contributors and others 2007. All rights reserved.\n\
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/plugin.xml b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/plugin.xml
deleted file mode 100644
index aa8349e..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/plugin.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-
- <extension
- id="org.eclipse.equinox.p2.ui.admin.rcp.application"
- point="org.eclipse.core.runtime.applications">
- <application>
- <run
- class="org.eclipse.equinox.internal.p2.ui.admin.rcp.Application">
- </run>
- </application>
- </extension>
- <extension
- point="org.eclipse.core.runtime.products"
- id="product">
- <product
- name="%productName"
- application="org.eclipse.equinox.p2.ui.admin.rcp.application">
- <property
- name="appName"
- value="%productName"/>
- <property
- name="aboutText"
- value="%aboutText"/>
- <property
- name="windowImages"
- value="platform:/plugin/org.eclipse.equinox.p2.ui.admin/icons/provision.gif"/>
-
- </product>
- </extension>
-
- <extension
- point="org.eclipse.ui.views">
- <view
- name="%Views.Progress"
- icon="$nl$/icons/pview.gif"
- category="org.eclipse.ui"
- class="org.eclipse.ui.internal.progress.ProgressView"
- id="org.eclipse.ui.views.ProgressView">
- </view>
- </extension>
-
- <extension
- point="org.eclipse.ui.perspectives">
- <perspective
- name="%perspectiveName"
- class="org.eclipse.equinox.internal.p2.ui.admin.rcp.ProvisioningRCPPerspective"
- id="org.eclipse.equinox.p2.ui.admin.rcp.ProvisioningRCPPerspective">
- </perspective>
- </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/plugin_customization.ini b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/plugin_customization.ini
deleted file mode 100644
index 939a62e..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/plugin_customization.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-org.eclipse.ui/DOCK_PERSPECTIVE_BAR=topRight
-org.eclipse.ui/SHOW_PROGRESS_ON_STARTUP = false
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/rcp.product b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/rcp.product
deleted file mode 100644
index 0dadaf8..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/rcp.product
+++ /dev/null
@@ -1,79 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.1"?>
-
-<product name="%productName" id="org.eclipse.equinox.p2.ui.admin.rcp.product" application="org.eclipse.equinox.p2.ui.admin.rcp.application" useFeatures="false">
-
- <aboutInfo>
- <text>
- %aboutText
- </text>
- </aboutInfo>
-
- <configIni use="custom" path="/org.eclipse.equinox.p2.ui.admin.rcp/config.ini"/>
-
- <launcherArgs>
- <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>
- </launcherArgs>
-
- <windowImages i16="/org.eclipse.equinox.p2.ui.admin/icons/provision.gif"/>
-
- <launcher name="eclipse">
- <solaris/>
- <win useIco="false">
- <bmp/>
- </win>
- </launcher>
-
- <vm>
- </vm>
-
- <plugins>
- <plugin id="com.ibm.icu"/>
- <plugin id="org.eclipse.core.commands"/>
- <plugin id="org.eclipse.core.contenttype"/>
- <plugin id="org.eclipse.core.databinding"/>
- <plugin id="org.eclipse.core.expressions"/>
- <plugin id="org.eclipse.core.jobs"/>
- <plugin id="org.eclipse.core.runtime"/>
- <plugin id="org.eclipse.ecf"/>
- <plugin id="org.eclipse.ecf.filetransfer"/>
- <plugin id="org.eclipse.ecf.identity"/>
- <plugin id="org.eclipse.ecf.provider.filetransfer"/>
- <plugin id="org.eclipse.equinox.app"/>
- <plugin id="org.eclipse.equinox.common"/>
- <plugin id="org.eclipse.equinox.frameworkadmin"/>
- <plugin id="org.eclipse.equinox.frameworkadmin.equinox"/>
- <plugin id="org.eclipse.equinox.launcher"/>
- <plugin id="org.eclipse.equinox.launcher.win32.win32.x86" fragment="true"/>
- <plugin id="org.eclipse.equinox.p2.artifact.repository"/>
- <plugin id="org.eclipse.equinox.p2.console"/>
- <plugin id="org.eclipse.equinox.p2.core"/>
- <plugin id="org.eclipse.equinox.p2.director"/>
- <plugin id="org.eclipse.equinox.p2.engine"/>
- <plugin id="org.eclipse.equinox.p2.exemplarysetup"/>
- <plugin id="org.eclipse.equinox.p2.metadata"/>
- <plugin id="org.eclipse.equinox.p2.jarprocessor"/>
- <plugin id="org.eclipse.equinox.p2.metadata.repository"/>
- <plugin id="org.eclipse.equinox.p2.touchpoint.eclipse"/>
- <plugin id="org.eclipse.equinox.p2.touchpoint.natives"/>
- <plugin id="org.eclipse.equinox.p2.ui"/>
- <plugin id="org.eclipse.equinox.p2.ui.admin"/>
- <plugin id="org.eclipse.equinox.p2.ui.admin.rcp"/>
- <plugin id="org.eclipse.equinox.preferences"/>
- <plugin id="org.eclipse.equinox.registry"/>
- <plugin id="org.eclipse.equinox.simpleconfigurator"/>
- <plugin id="org.eclipse.equinox.simpleconfigurator.manipulator"/>
- <plugin id="org.eclipse.help"/>
- <plugin id="org.eclipse.jface"/>
- <plugin id="org.eclipse.jface.databinding"/>
- <plugin id="org.eclipse.osgi"/>
- <plugin id="org.eclipse.osgi.services"/>
- <plugin id="org.eclipse.swt"/>
- <plugin id="org.eclipse.swt.win32.win32.x86" fragment="true"/>
- <plugin id="org.eclipse.ui"/>
- <plugin id="org.eclipse.ui.workbench"/>
- <plugin id="org.sat4j.core"/>
- <plugin id="org.sat4j.pb"/>
- </plugins>
-
-</product>
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/Activator.java b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/Activator.java
deleted file mode 100644
index 05fb82d..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/Activator.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.admin.rcp;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends AbstractUIPlugin {
-
- // The plug-in ID
- public static final String PLUGIN_ID = "org.eclipse.equinox.p2.ui.admin.rcp"; //$NON-NLS-1$
-
- // The shared instance
- private static Activator plugin;
-
- public Activator() {
- // contstructor
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
- */
- public void start(BundleContext bundleContext) throws Exception {
- super.start(bundleContext);
- plugin = this;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
- */
- public void stop(BundleContext bundleContext) throws Exception {
- plugin = null;
- super.stop(bundleContext);
- }
-
- /**
- * Returns the shared instance
- *
- * @return the shared instance
- */
- public static Activator getDefault() {
- return plugin;
- }
-
- /**
- * Returns an image descriptor for the image file at the given
- * plug-in relative path
- *
- * @param path the path
- * @return the image descriptor
- */
- public static ImageDescriptor getImageDescriptor(String path) {
- return imageDescriptorFromPlugin(PLUGIN_ID, path);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/Application.java b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/Application.java
deleted file mode 100644
index 901a884..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/Application.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.admin.rcp;
-
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * This class controls all aspects of the application's execution
- */
-public class Application implements IApplication {
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.IApplicationContext)
- */
- public Object start(IApplicationContext context) throws Exception {
- Display display = PlatformUI.createDisplay();
- try {
- int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());
- if (returnCode == PlatformUI.RETURN_RESTART)
- return IApplication.EXIT_RESTART;
- return IApplication.EXIT_OK;
- } finally {
- display.dispose();
- }
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.app.IApplication#stop()
- */
- public void stop() {
- final IWorkbench workbench = PlatformUI.getWorkbench();
- if (workbench == null)
- return;
- final Display display = workbench.getDisplay();
- display.syncExec(new Runnable() {
- public void run() {
- if (!display.isDisposed())
- workbench.close();
- }
- });
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/ApplicationActionBarAdvisor.java b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/ApplicationActionBarAdvisor.java
deleted file mode 100644
index 2612358..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/ApplicationActionBarAdvisor.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.admin.rcp;
-
-import org.eclipse.jface.action.*;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-
-public class ApplicationActionBarAdvisor extends ActionBarAdvisor {
-
- IAction prefsAction, aboutAction, quitAction;
-
- public ApplicationActionBarAdvisor(IActionBarConfigurer configurer) {
- super(configurer);
- }
-
- protected void makeActions(IWorkbenchWindow window) {
- quitAction = ActionFactory.QUIT.create(window);
- prefsAction = ActionFactory.PREFERENCES.create(window);
- aboutAction = ActionFactory.ABOUT.create(window);
- }
-
- protected void fillMenuBar(IMenuManager menuBar) {
- IMenuManager fileMenu = new MenuManager(ProvAdminUIMessages.ApplicationActionBarAdvisor_FileMenuName, "file"); //$NON-NLS-1$
- menuBar.add(fileMenu);
- fileMenu.add(quitAction);
-
- IMenuManager windowMenu = new MenuManager(ProvAdminUIMessages.ApplicationActionBarAdvisor_WindowMenuName, "window"); //$NON-NLS-1$
- menuBar.add(windowMenu);
- windowMenu.add(prefsAction);
-
- IMenuManager helpMenu = new MenuManager(ProvAdminUIMessages.ApplicationActionBarAdvisor_HelpMenuName, "help"); //$NON-NLS-1$
- menuBar.add(helpMenu);
- helpMenu.add(aboutAction);
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/ApplicationWorkbenchAdvisor.java b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/ApplicationWorkbenchAdvisor.java
deleted file mode 100644
index 5955baa..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/ApplicationWorkbenchAdvisor.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.admin.rcp;
-
-import org.eclipse.ui.application.*;
-
-public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor {
-
- public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
- return new ApplicationWorkbenchWindowAdvisor(configurer);
- }
-
- public String getInitialWindowPerspectiveId() {
- return "org.eclipse.equinox.p2.ui.admin.rcp.ProvisioningRCPPerspective"; //$NON-NLS-1$
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/ApplicationWorkbenchWindowAdvisor.java b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/ApplicationWorkbenchWindowAdvisor.java
deleted file mode 100644
index 14d2236..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/ApplicationWorkbenchWindowAdvisor.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.admin.rcp;
-
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.application.*;
-
-public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
-
- public ApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
- super(configurer);
- }
-
- public ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer) {
- return new ApplicationActionBarAdvisor(configurer);
- }
-
- public void preWindowOpen() {
- IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
- // The workbench progress manager won't get initialized until I refer to it.
- // See https://bugs.eclipse.org/bugs/show_bug.cgi?id=208963
- PlatformUI.getWorkbench().getProgressService();
- configurer.setInitialSize(new Point(800, 600));
- configurer.setShowCoolBar(false);
- configurer.setShowStatusLine(true);
- configurer.setShowProgressIndicator(true);
- configurer.setTitle(ProvAdminUIMessages.ApplicationWindowTitle);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/ProvAdminUIMessages.java b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/ProvAdminUIMessages.java
deleted file mode 100644
index c64438c..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/ProvAdminUIMessages.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.p2.ui.admin.rcp;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Message class for provisioning UI messages.
- *
- * @since 3.4
- */
-public class ProvAdminUIMessages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.ui.admin.rcp.messages"; //$NON-NLS-1$
- static {
- // load message values from bundle file
- NLS.initializeMessages(BUNDLE_NAME, ProvAdminUIMessages.class);
- }
- public static String ApplicationActionBarAdvisor_FileMenuName;
- public static String ApplicationActionBarAdvisor_HelpMenuName;
- public static String ApplicationActionBarAdvisor_WindowMenuName;
- public static String ApplicationWindowTitle;
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/ProvisioningRCPPerspective.java b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/ProvisioningRCPPerspective.java
deleted file mode 100644
index 0a2e0cb..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/ProvisioningRCPPerspective.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.admin.rcp;
-
-import org.eclipse.ui.*;
-
-/**
- * Perspective which makes the standard provisioning views available.
- *
- * @since 3.4
- *
- */
-public class ProvisioningRCPPerspective implements IPerspectiveFactory {
-
- private IPageLayout factory;
- private static final String METADATA_REPOSITORIES = "org.eclipse.p2.ui.admin.MetadataRepositoriesView"; //$NON-NLS-1$
- private static final String ARTIFACT_REPOSITORIES = "org.eclipse.p2.ui.admin.ArtifactRepositoriesView"; //$NON-NLS-1$
- private static final String PROFILES = "org.eclipse.p2.ui.admin.ProfilesView"; //$NON-NLS-1$
-
- public ProvisioningRCPPerspective() {
- super();
- }
-
- public void createInitialLayout(IPageLayout layout) {
- this.factory = layout;
- addViews();
- }
-
- private void addViews() {
- IFolderLayout top = factory.createFolder("top", //$NON-NLS-1$
- IPageLayout.TOP, 0.5f, factory.getEditorArea());
- top.addView(METADATA_REPOSITORIES);
- factory.getViewLayout(METADATA_REPOSITORIES).setCloseable(false);
- top.addView(ARTIFACT_REPOSITORIES);
- factory.getViewLayout(ARTIFACT_REPOSITORIES).setCloseable(false);
- factory.addView(PROFILES, IPageLayout.BOTTOM, 0.65f, "top"); //$NON-NLS-1$
- factory.getViewLayout(PROFILES).setCloseable(false);
- factory.setEditorAreaVisible(false);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/messages.properties b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/messages.properties
deleted file mode 100644
index e5decd1..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/messages.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-ApplicationWindowTitle=Eclipse Provisioning
-ApplicationActionBarAdvisor_FileMenuName=&File
-ApplicationActionBarAdvisor_WindowMenuName=&Window
-ApplicationActionBarAdvisor_HelpMenuName=&Help
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/.classpath b/bundles/org.eclipse.equinox.p2.ui.admin/.classpath
deleted file mode 100644
index ce73933..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/.cvsignore b/bundles/org.eclipse.equinox.p2.ui.admin/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/.project b/bundles/org.eclipse.equinox.p2.ui.admin/.project
deleted file mode 100644
index f304937..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.equinox.p2.ui.admin</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.ui.admin/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 78523cd..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,331 +0,0 @@
-#Thu Aug 16 11:00:59 EDT 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.ui.admin/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index c94f559..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:59:19 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.ui.admin/META-INF/MANIFEST.MF
deleted file mode 100644
index 5f820ac..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,40 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %bundleName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.equinox.p2.ui.admin;singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.equinox.internal.p2.ui.admin.ProvAdminUIActivator
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,
- CDC-1.1/Foundation-1.1
-Import-Package: org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.p2.ui.model,
- org.eclipse.equinox.internal.provisional.p2.artifact.repository,
- org.eclipse.equinox.internal.provisional.p2.core,
- org.eclipse.equinox.internal.provisional.p2.core.eventbus,
- org.eclipse.equinox.internal.provisional.p2.core.repository,
- org.eclipse.equinox.internal.provisional.p2.director,
- org.eclipse.equinox.internal.provisional.p2.engine,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.internal.provisional.p2.metadata.query,
- org.eclipse.equinox.internal.provisional.p2.metadata.repository,
- org.eclipse.equinox.internal.provisional.p2.query,
- org.eclipse.equinox.internal.provisional.p2.ui,
- org.eclipse.equinox.internal.provisional.p2.ui.actions,
- org.eclipse.equinox.internal.provisional.p2.ui.dialogs,
- org.eclipse.equinox.internal.provisional.p2.ui.model,
- org.eclipse.equinox.internal.provisional.p2.ui.operations,
- org.eclipse.equinox.internal.provisional.p2.ui.policy,
- org.eclipse.equinox.internal.provisional.p2.ui.query,
- org.eclipse.equinox.internal.provisional.p2.ui.viewers,
- org.eclipse.equinox.internal.provisional.p2.updatechecker,
- org.eclipse.osgi.service.environment;version="1.0.0",
- org.eclipse.osgi.util;version="1.1.0",
- org.osgi.framework;version="1.3.0"
-Export-Package: org.eclipse.equinox.internal.p2.ui.admin;x-internal:=true,
- org.eclipse.equinox.internal.p2.ui.admin.dialogs;x-internal:=true,
- org.eclipse.equinox.internal.p2.ui.admin.preferences;x-internal:=true
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.ui
-Eclipse-LazyStart: true
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/about.html b/bundles/org.eclipse.equinox.p2.ui.admin/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 2, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/build.properties b/bundles/org.eclipse.equinox.p2.ui.admin/build.properties
deleted file mode 100644
index 3501186..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = plugin.properties,\
- icons/,\
- .,\
- plugin.xml,\
- about.html,\
- META-INF/
-src.includes = about.html
-source.. = src/
-
-
-
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/icons/obj/artifact_repo_obj.gif b/bundles/org.eclipse.equinox.p2.ui.admin/icons/obj/artifact_repo_obj.gif
deleted file mode 100644
index 0470e15..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin/icons/obj/artifact_repo_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/icons/obj/iu_obj.gif b/bundles/org.eclipse.equinox.p2.ui.admin/icons/obj/iu_obj.gif
deleted file mode 100644
index 8706680..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin/icons/obj/iu_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/icons/obj/metadata_repo_obj.gif b/bundles/org.eclipse.equinox.p2.ui.admin/icons/obj/metadata_repo_obj.gif
deleted file mode 100644
index b8568f4..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin/icons/obj/metadata_repo_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/icons/obj/profile_obj.gif b/bundles/org.eclipse.equinox.p2.ui.admin/icons/obj/profile_obj.gif
deleted file mode 100644
index c984fba..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin/icons/obj/profile_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/icons/obj/uninstalled_iu.gif b/bundles/org.eclipse.equinox.p2.ui.admin/icons/obj/uninstalled_iu.gif
deleted file mode 100644
index f192b84..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin/icons/obj/uninstalled_iu.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/icons/provision.gif b/bundles/org.eclipse.equinox.p2.ui.admin/icons/provision.gif
deleted file mode 100644
index c984fba..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin/icons/provision.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/plugin.properties b/bundles/org.eclipse.equinox.p2.ui.admin/plugin.properties
deleted file mode 100644
index b45dc87..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin/plugin.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-###############################################################################
-# Copyright (c) 2007, 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-#
-# Provisioning Admin UI plugin resources
-#
-providerName=Eclipse.org
-bundleName=p2 Admin UI
-
-perspectiveName=Provisioning
-viewCategoryName=Provisioning
-MetadataRepositories.name=Metadata Repositories
-ArtifactRepositories.name=Artifact Repositories
-Profiles.name=Profiles
-Provisioning.title=Provisioning Admin
-Profile.name=Profile Admin Info
-IU.name=IU Admin Info
-InstalledIU.name=IU Profile Properties
-Repository.name=Repository Admin Info
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/plugin.xml b/bundles/org.eclipse.equinox.p2.ui.admin/plugin.xml
deleted file mode 100644
index 9acdf97..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin/plugin.xml
+++ /dev/null
@@ -1,101 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
- <extension
- point="org.eclipse.ui.preferencePages">
- <page
- name="%Provisioning.title"
- class="org.eclipse.equinox.internal.p2.ui.admin.preferences.ProvisioningPrefPage"
- id="org.eclipse.p2.ui.preferences.ProvisioningPrefPage">
- </page>
- </extension>
- <extension
- point="org.eclipse.core.runtime.preferences">
- <initializer
- class="org.eclipse.equinox.internal.p2.ui.admin.preferences.ProvUIPreferenceInitializer">
- </initializer>
- </extension>
- <extension
- point="org.eclipse.ui.views">
- <category
- name="%viewCategoryName"
- id="org.eclipse.p2.ui.admin">
- </category>
- <view
- name="%MetadataRepositories.name"
- icon="$nl$/icons/obj/metadata_repo_obj.gif"
- category="org.eclipse.p2.ui.admin"
- class="org.eclipse.equinox.internal.p2.ui.admin.MetadataRepositoriesView"
- id="org.eclipse.p2.ui.admin.MetadataRepositoriesView">
- </view>
- </extension>
- <extension
- point="org.eclipse.ui.views">
- <view
- name="%ArtifactRepositories.name"
- icon="$nl$/icons/obj/artifact_repo_obj.gif"
- category="org.eclipse.p2.ui.admin"
- class="org.eclipse.equinox.internal.p2.ui.admin.ArtifactRepositoriesView"
- id="org.eclipse.p2.ui.admin.ArtifactRepositoriesView">
- </view>
- </extension>
- <extension
- point="org.eclipse.ui.views">
- <view
- name="%Profiles.name"
- icon="$nl$/icons/obj/profile_obj.gif"
- category="org.eclipse.p2.ui.admin"
- class="org.eclipse.equinox.internal.p2.ui.admin.ProfilesView"
- id="org.eclipse.p2.ui.admin.ProfilesView">
- </view>
- </extension>
-
- <extension
- point="org.eclipse.ui.perspectives">
- <perspective
- name="%perspectiveName"
- icon="$nl$/icons/provision.gif"
- class="org.eclipse.equinox.internal.p2.ui.admin.ProvisioningPerspective"
- id="org.eclipse.equinox.p2.ui.admin.ProvisioningPerspective">
- </perspective>
- </extension>
- <extension
- point="org.eclipse.ui.propertyPages">
- <page
- name="%Profile.name"
- class="org.eclipse.equinox.internal.p2.ui.admin.dialogs.ProfilePropertyPage"
- id="org.eclipse.equinox.internal.p2.ui.admin.dialogs.ProfilePropertyPage">
- <enabledWhen>
- <adapt type="org.eclipse.equinox.internal.provisional.p2.engine.IProfile"/>
- </enabledWhen>
- </page>
- <page
- name="%IU.name"
- class="org.eclipse.equinox.internal.p2.ui.admin.dialogs.IUImplementationPropertyPage"
- id="org.eclipse.equinox.internal.p2.ui.admin.dialogs.IUImplementationPropertyPage">
- <enabledWhen>
- <adapt type="org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit"/>
- </enabledWhen>
- </page>
- <page
- name="%InstalledIU.name"
- class="org.eclipse.equinox.internal.p2.ui.admin.dialogs.InstalledIUPropertyPage"
- id="org.eclipse.equinox.internal.p2.ui.admin.dialogs.InstalledIUPropertyPage">
- <enabledWhen>
- <instanceof
- value="org.eclipse.equinox.internal.provisional.p2.ui.model.InstalledIUElement">
- </instanceof>
- </enabledWhen>
- </page>
- <page
- name="%Repository.name"
- class="org.eclipse.equinox.internal.p2.ui.admin.dialogs.RepositoryImplementationPropertyPage"
- id="org.eclipse.equinox.internal.p2.ui.admin.dialogs.RepositoryImplementationPropertyPage">
- <enabledWhen>
- <adapt type="org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository"/>
- </enabledWhen>
- </page>
-
- </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ArtifactRepositoriesView.java b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ArtifactRepositoriesView.java
deleted file mode 100644
index a678bdd..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ArtifactRepositoriesView.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.admin;
-
-import java.net.URL;
-import java.util.ArrayList;
-import org.eclipse.equinox.internal.p2.ui.admin.dialogs.AddArtifactRepositoryDialog;
-import org.eclipse.equinox.internal.p2.ui.admin.preferences.PreferenceConstants;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvisioningOperationRunner;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.*;
-import org.eclipse.equinox.internal.provisional.p2.ui.operations.*;
-import org.eclipse.equinox.internal.provisional.p2.ui.viewers.StructuredViewerProvisioningListener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-/**
- * This view allows users to interact with artifact repositories
- *
- * @since 3.4
- */
-public class ArtifactRepositoriesView extends RepositoriesView {
-
- /**
- *
- */
- public ArtifactRepositoriesView() {
- // constructor
- }
-
- protected Object getInput() {
- ArtifactRepositories input = new ArtifactRepositories();
- input.setQueryProvider(ProvAdminUIActivator.getDefault().getQueryProvider());
- return input;
- }
-
- protected String getAddCommandLabel() {
- return ProvAdminUIMessages.ArtifactRepositoriesView_AddRepositoryLabel;
- }
-
- protected String getAddCommandTooltip() {
- return ProvAdminUIMessages.ArtifactRepositoriesView_AddRepositoryTooltip;
- }
-
- protected String getRemoveCommandTooltip() {
- return ProvAdminUIMessages.ArtifactRepositoriesView_RemoveRepositoryTooltip;
- }
-
- protected int openAddRepositoryDialog(Shell shell) {
- return new AddArtifactRepositoryDialog(shell, getRepoFlags()).open();
- }
-
- protected ProvisioningOperation getRemoveOperation(Object[] elements) {
- ArrayList urls = new ArrayList();
- for (int i = 0; i < elements.length; i++) {
- if (elements[i] instanceof IRepositoryElement)
- urls.add(((IRepositoryElement) elements[i]).getLocation());
- }
- return new RemoveArtifactRepositoryOperation(ProvAdminUIMessages.ArtifactRepositoriesView_RemoveRepositoryOperationLabel, (URL[]) urls.toArray(new URL[urls.size()]));
- }
-
- protected boolean isRepository(Object element) {
- return element instanceof ArtifactRepositoryElement;
- }
-
- protected int getRepoFlags() {
- if (ProvAdminUIActivator.getDefault().getPreferenceStore().getBoolean(PreferenceConstants.PREF_HIDE_SYSTEM_REPOS))
- return IArtifactRepositoryManager.REPOSITORIES_NON_SYSTEM;
- return IArtifactRepositoryManager.REPOSITORIES_ALL;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.p2.ui.admin.RepositoriesView#getListenerEventTypes()
- */
- protected int getListenerEventTypes() {
- return StructuredViewerProvisioningListener.PROV_EVENT_ARTIFACT_REPOSITORY;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.p2.ui.admin.ProvView#refreshUnderlyingModel()
- */
- protected void refreshUnderlyingModel() {
- ProvisioningOperationRunner.schedule(new RefreshArtifactRepositoriesOperation(ProvAdminUIMessages.ProvView_RefreshCommandLabel, getRepoFlags()), getShell(), StatusManager.SHOW | StatusManager.LOG);
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/MetadataRepositoriesView.java b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/MetadataRepositoriesView.java
deleted file mode 100644
index 50b361d..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/MetadataRepositoriesView.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Genuitec, LLC - added license support
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.admin;
-
-import java.net.URL;
-import java.util.ArrayList;
-import org.eclipse.equinox.internal.p2.ui.admin.dialogs.AddMetadataRepositoryDialog;
-import org.eclipse.equinox.internal.p2.ui.admin.dialogs.AddProfileDialog;
-import org.eclipse.equinox.internal.p2.ui.admin.preferences.PreferenceConstants;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.ui.*;
-import org.eclipse.equinox.internal.provisional.p2.ui.actions.InstallAction;
-import org.eclipse.equinox.internal.provisional.p2.ui.actions.RevertAction;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.*;
-import org.eclipse.equinox.internal.provisional.p2.ui.operations.*;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.IQueryProvider;
-import org.eclipse.equinox.internal.provisional.p2.ui.query.QueryContext;
-import org.eclipse.equinox.internal.provisional.p2.ui.viewers.*;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.dialogs.ListDialog;
-import org.eclipse.ui.part.PluginTransfer;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-/**
- * This view allows users to interact with metadata repositories
- *
- * @since 3.4
- */
-public class MetadataRepositoriesView extends RepositoriesView {
-
- private InstallAction installAction;
- private RevertAction revertAction;
-
- /**
- * The constructor.
- */
- public MetadataRepositoriesView() {
- // constructor
- }
-
- protected Object getInput() {
- MetadataRepositories input = new MetadataRepositories();
- input.setQueryProvider(ProvAdminUIActivator.getDefault().getQueryProvider());
- input.setQueryContext(new QueryContext() {
- public int getQueryType() {
- return IQueryProvider.METADATA_REPOS;
- }
- });
- return input;
- }
-
- protected String getAddCommandLabel() {
- return ProvAdminUIMessages.MetadataRepositoriesView_AddRepositoryLabel;
- }
-
- protected String getAddCommandTooltip() {
- return ProvAdminUIMessages.MetadataRepositoriesView_AddRepositoryTooltip;
- }
-
- protected String getRemoveCommandTooltip() {
- return ProvAdminUIMessages.MetadataRepositoriesView_RemoveRepositoryTooltip;
- }
-
- protected int openAddRepositoryDialog(Shell shell) {
- return new AddMetadataRepositoryDialog(shell, getRepoFlags()).open();
- }
-
- protected ProvisioningOperation getRemoveOperation(Object[] elements) {
- ArrayList urls = new ArrayList();
- for (int i = 0; i < elements.length; i++) {
- if (elements[i] instanceof IRepositoryElement)
- urls.add(((IRepositoryElement) elements[i]).getLocation());
- }
- return new RemoveMetadataRepositoryOperation(ProvAdminUIMessages.ArtifactRepositoriesView_RemoveRepositoryOperationLabel, (URL[]) urls.toArray(new URL[urls.size()]));
- }
-
- protected void makeActions() {
- super.makeActions();
- installAction = new InstallAction(viewer, null, getProfileChooser(), ProvAdminUIActivator.getDefault().getPolicies(), getShell());
- revertAction = new RevertAction(viewer, null, getProfileChooser(), ProvAdminUIActivator.getDefault().getPolicies(), getShell());
- }
-
- private IProfileChooser getProfileChooser() {
- return new IProfileChooser() {
-
- public String getProfileId(Shell shell) {
- // TODO would be nice if the profile chooser dialog let you
- // create a new profile
- DeferredQueryContentProvider provider = new DeferredQueryContentProvider(ProvAdminUIActivator.getDefault().getQueryProvider());
- if (provider.getElements(new Profiles()).length == 0) {
- AddProfileDialog dialog = new AddProfileDialog(shell, new String[0]);
- if (dialog.open() == Window.OK) {
- return dialog.getAddedProfileId();
- }
- return null;
- }
-
- ListDialog dialog = new ListDialog(getShell());
- dialog.setTitle(ProvAdminUIMessages.MetadataRepositoriesView_ChooseProfileDialogTitle);
- dialog.setLabelProvider(new ProvElementLabelProvider());
- dialog.setInput(new Profiles());
- dialog.setContentProvider(provider);
- dialog.open();
- Object[] result = dialog.getResult();
- if (result != null && result.length > 0) {
- IProfile profile = (IProfile) ProvUI.getAdapter(result[0], IProfile.class);
- if (profile != null)
- return profile.getProfileId();
- }
- return null;
- }
-
- public String getLabel() {
- return ProvAdminUIMessages.MetadataRepositoriesView_ChooseProfileDialogTitle;
- }
- };
- }
-
- protected void fillContextMenu(IMenuManager manager) {
- if (installAction.isEnabled()) {
- manager.add(new Separator());
- manager.add(installAction);
- manager.add(revertAction);
- }
- super.fillContextMenu(manager);
- }
-
- protected boolean isRepository(Object element) {
- return element instanceof MetadataRepositoryElement;
- }
-
- protected void configureViewer(final TreeViewer treeViewer) {
- super.configureViewer(treeViewer);
- // Add drag support for IU's
- Transfer[] transfers = new Transfer[] {org.eclipse.jface.util.LocalSelectionTransfer.getTransfer(), PluginTransfer.getInstance(), TextTransfer.getInstance(),};
- treeViewer.addDragSupport(DND.DROP_COPY, transfers, new IUDragAdapter(treeViewer));
- }
-
- protected int getRepoFlags() {
- if (ProvAdminUIActivator.getDefault().getPreferenceStore().getBoolean(PreferenceConstants.PREF_HIDE_SYSTEM_REPOS))
- return IMetadataRepositoryManager.REPOSITORIES_NON_SYSTEM;
- return IMetadataRepositoryManager.REPOSITORIES_ALL;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.p2.ui.admin.RepositoriesView#getListenerEventTypes()
- */
- protected int getListenerEventTypes() {
- return StructuredViewerProvisioningListener.PROV_EVENT_METADATA_REPOSITORY;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.p2.ui.admin.ProvView#refreshUnderlyingModel()
- */
- protected void refreshUnderlyingModel() {
- ProvisioningOperationRunner.schedule(new RefreshMetadataRepositoriesOperation(ProvAdminUIMessages.ProvView_RefreshCommandLabel, getRepoFlags()), getShell(), StatusManager.SHOW | StatusManager.LOG);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ProfilesView.java b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ProfilesView.java
deleted file mode 100644
index 2871487..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ProfilesView.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Genuitec, LLC - added license support
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.admin;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.equinox.internal.p2.ui.admin.dialogs.AddProfileDialog;
-import org.eclipse.equinox.internal.p2.ui.admin.preferences.PreferenceConstants;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.ui.*;
-import org.eclipse.equinox.internal.provisional.p2.ui.actions.UninstallAction;
-import org.eclipse.equinox.internal.provisional.p2.ui.actions.UpdateAction;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.InstalledIUElement;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.Profiles;
-import org.eclipse.equinox.internal.provisional.p2.ui.operations.*;
-import org.eclipse.equinox.internal.provisional.p2.ui.viewers.*;
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.dialogs.PropertyDialogAction;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-/**
- * This view allows users to interact with installed profiles.
- *
- * @since 3.4
- */
-public class ProfilesView extends ProvView {
- private Action addProfileAction, removeProfileAction, uninstallAction, updateAction;
- private PropertyDialogAction propertiesAction;
- private StructuredViewerProvisioningListener listener;
-
- private class RemoveProfileAction extends Action {
- RemoveProfileAction() {
- setText(ProvAdminUIMessages.ProfilesView_RemoveProfileLabel);
- setToolTipText(ProvAdminUIMessages.ProfilesView_RemoveProfileTooltip);
- setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_TOOL_DELETE));
- setDisabledImageDescriptor(PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_TOOL_DELETE_DISABLED));
-
- }
-
- public void run() {
- List list = getSelection().toList();
- List profilesOnly = new ArrayList();
- for (int i = 0; i < list.size(); i++) {
- IProfile profile = (IProfile) ProvUI.getAdapter(list.get(i), IProfile.class);
- if (profile != null) {
- profilesOnly.add(profile);
- }
- }
- ProfileOperation op = new RemoveProfilesOperation(ProvAdminUIMessages.Ops_RemoveProfileOperationLabel, (IProfile[]) profilesOnly.toArray(new IProfile[profilesOnly.size()]));
- ProvisioningOperationRunner.run(op, ProfilesView.this.getShell(), StatusManager.SHOW | StatusManager.LOG);
- }
- }
-
- private class AddProfileAction extends Action {
- AddProfileAction() {
- setText(ProvAdminUIMessages.ProfilesView_AddProfileLabel);
- setToolTipText(ProvAdminUIMessages.ProfilesView_AddProfileTooltip);
- setImageDescriptor(ProvUIImages.getImageDescriptor(ProvUIImages.IMG_PROFILE));
- }
-
- public void run() {
- new AddProfileDialog(viewer.getControl().getShell(), getKnownProfileIds()).open();
- }
- }
-
- public ProfilesView() {
- // constructor
- }
-
- protected void addListeners() {
- super.addListeners();
- listener = new StructuredViewerProvisioningListener(viewer, StructuredViewerProvisioningListener.PROV_EVENT_IU | StructuredViewerProvisioningListener.PROV_EVENT_PROFILE, ProvAdminUIActivator.getDefault().getQueryProvider());
- ProvUI.addProvisioningListener(listener);
- }
-
- protected void removeListeners() {
- super.removeListeners();
- ProvUI.removeProvisioningListener(listener);
- }
-
- protected void configureViewer(TreeViewer treeViewer) {
- super.configureViewer(treeViewer);
- InstallIUDropAdapter adapter = new InstallIUDropAdapter(treeViewer, ProvAdminUIActivator.getDefault().getPolicies());
- adapter.setFeedbackEnabled(false);
- Transfer[] transfers = new Transfer[] {org.eclipse.jface.util.LocalSelectionTransfer.getTransfer()};
- treeViewer.addDropSupport(DND.DROP_COPY, transfers, adapter);
- }
-
- protected void fillLocalPullDown(IMenuManager manager) {
- manager.add(addProfileAction);
- manager.add(removeProfileAction);
- manager.add(propertiesAction);
- manager.add(new Separator());
- manager.add(updateAction);
- manager.add(uninstallAction);
- }
-
- protected void fillContextMenu(IMenuManager manager) {
- manager.add(addProfileAction);
- if (removeProfileAction.isEnabled()) {
- manager.add(removeProfileAction);
- }
- if (propertiesAction.isEnabled()) {
- manager.add(propertiesAction);
- }
- if (updateAction.isEnabled()) {
- manager.add(new Separator());
- manager.add(updateAction);
- manager.add(uninstallAction);
- }
- }
-
- protected void fillLocalToolBar(IToolBarManager manager) {
- manager.add(new Separator());
- manager.add(addProfileAction);
- manager.add(removeProfileAction);
- }
-
- protected void makeActions() {
- super.makeActions();
- addProfileAction = new AddProfileAction();
- removeProfileAction = new RemoveProfileAction();
- uninstallAction = new UninstallAction(viewer, null, getProfileChooser(), ProvAdminUIActivator.getDefault().getPolicies(), getShell());
- updateAction = new UpdateAction(viewer, null, getProfileChooser(), ProvAdminUIActivator.getDefault().getPolicies(), getShell());
- propertiesAction = new PropertyDialogAction(this.getSite(), viewer);
-
- getViewSite().getActionBars().setGlobalActionHandler(ActionFactory.PROPERTIES.getId(), propertiesAction);
- viewer.addSelectionChangedListener(new ISelectionChangedListener() {
- public void selectionChanged(SelectionChangedEvent event) {
- IStructuredSelection ss = (IStructuredSelection) event.getSelection();
- ProfilesView.this.selectionChanged(ss);
- }
- });
-
- // prime the action validation
- selectionChanged((IStructuredSelection) viewer.getSelection());
- }
-
- protected void selectionChanged(IStructuredSelection ss) {
- super.selectionChanged(ss);
- propertiesAction.setEnabled(false);
- removeProfileAction.setEnabled(false);
- if (ss.size() == 1) {
- propertiesAction.setEnabled(true);
- }
- Object[] selectionArray = ss.toArray();
- if (selectionArray.length > 0) {
- removeProfileAction.setEnabled(true);
- for (int i = 0; i < selectionArray.length; i++) {
- IProfile profile = (IProfile) ProvUI.getAdapter(selectionArray[i], IProfile.class);
- if (profile == null) {
- removeProfileAction.setEnabled(false);
- break;
- }
- }
- }
- }
-
- protected IAction getDoubleClickAction() {
- return propertiesAction;
- }
-
- protected IContentProvider getContentProvider() {
- return new DeferredQueryContentProvider(ProvAdminUIActivator.getDefault().getQueryProvider());
- }
-
- protected Object getInput() {
- return new Profiles();
- }
-
- IProfileChooser getProfileChooser() {
- return new IProfileChooser() {
- public String getProfileId(Shell shell) {
- Object firstElement = getSelection().getFirstElement();
- if (firstElement instanceof InstalledIUElement) {
- return ((InstalledIUElement) firstElement).getProfileId();
- }
- IProfile profile = (IProfile) ProvUI.getAdapter(firstElement, IProfile.class);
- if (profile != null)
- return profile.getProfileId();
- return null;
- }
-
- public String getLabel() {
- return ProvAdminUIMessages.MetadataRepositoriesView_ChooseProfileDialogTitle;
- }
- };
- }
-
- protected List getVisualProperties() {
- List list = super.getVisualProperties();
- list.add(PreferenceConstants.PREF_SHOW_INSTALL_ROOTS_ONLY);
- return list;
- }
-
- String[] getKnownProfileIds() {
- try {
- IProfile[] allProfiles = ProvisioningUtil.getProfiles();
- String[] ids = new String[allProfiles.length];
- for (int i = 0; i < allProfiles.length; i++)
- ids[i] = allProfiles[i].getProfileId();
- return ids;
- } catch (ProvisionException e) {
- ProvUI.handleException(e, ProvAdminUIMessages.ProfilesView_ErrorRetrievingProfiles, StatusManager.LOG);
- return new String[0];
- }
-
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ProvAdminQueryProvider.java b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ProvAdminQueryProvider.java
deleted file mode 100644
index 71bfaca..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ProvAdminQueryProvider.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.admin;
-
-import java.net.URL;
-import org.eclipse.equinox.internal.p2.ui.admin.preferences.PreferenceConstants;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.director.IUProfilePropertyQuery;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.IUPropertyQuery;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.query.*;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUI;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.*;
-import org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningUtil;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.IQueryProvider;
-import org.eclipse.equinox.internal.provisional.p2.ui.query.*;
-import org.eclipse.equinox.internal.provisional.p2.updatechecker.UpdateEvent;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-/**
- * Provides the queries appropriate for the SDK UI.
- *
- * @since 3.4
- */
-
-public class ProvAdminQueryProvider implements IQueryProvider {
-
- private Query allQuery = new Query() {
- public boolean isMatch(Object candidate) {
- return true;
- }
-
- };
-
- public ElementQueryDescriptor getQueryDescriptor(Object element, int queryType) {
- IQueryable queryable;
- QueryContext queryContext = null;
- // We don't currently use the query context to alter the query, but as soon as we do, we'll
- // want to make sure it gets passed through to the appropriate elements. So
- // we do that now.
- if (element instanceof QueriedElement)
- queryContext = ((QueriedElement) element).getQueryContext();
- IPreferenceStore store = ProvAdminUIActivator.getDefault().getPreferenceStore();
- boolean showGroupsOnly = store.getBoolean(PreferenceConstants.PREF_SHOW_GROUPS_ONLY);
- boolean hideSystem = store.getBoolean(PreferenceConstants.PREF_HIDE_SYSTEM_REPOS);
- boolean showLatest = store.getBoolean(PreferenceConstants.PREF_COLLAPSE_IU_VERSIONS);
- boolean useCategories = store.getBoolean(PreferenceConstants.PREF_USE_CATEGORIES);
- boolean showRootsOnly = store.getBoolean(PreferenceConstants.PREF_SHOW_INSTALL_ROOTS_ONLY);
- Query groupQuery = new IUPropertyQuery(IInstallableUnit.PROP_TYPE_GROUP, Boolean.TRUE.toString());
- Query categoryQuery = new IUPropertyQuery(IInstallableUnit.PROP_TYPE_CATEGORY, Boolean.TRUE.toString());
- Query query;
- IProfile profile;
- switch (queryType) {
- case IQueryProvider.ARTIFACT_REPOS :
- int flags = hideSystem ? IArtifactRepositoryManager.REPOSITORIES_NON_SYSTEM : IArtifactRepositoryManager.REPOSITORIES_ALL;
- queryable = new QueryableArtifactRepositoryManager(flags);
- return new ElementQueryDescriptor(queryable, null, new Collector() {
- public boolean accept(Object object) {
- if (object instanceof URL)
- return super.accept(new ArtifactRepositoryElement((URL) object));
- return true;
- }
- });
- case IQueryProvider.AVAILABLE_IUS :
- // Is it a rollback repository?
- if (element instanceof RollbackRepositoryElement) {
- Query profileQuery = new InstallableUnitQuery(((RollbackRepositoryElement) element).getProfileId());
- return new ElementQueryDescriptor(((RollbackRepositoryElement) element).getQueryable(), profileQuery, new AvailableIUCollector(this, ((RollbackRepositoryElement) element).getQueryable(), queryContext, false));
- }
- // It is a regular repository.
- // What should we show as a child of a repository?
- if (element instanceof MetadataRepositoryElement) {
- if (useCategories)
- // We are using categories, group into categories first.
- return new ElementQueryDescriptor(((MetadataRepositoryElement) element).getQueryable(), categoryQuery, new CategoryElementCollector(this, ((MetadataRepositoryElement) element).getQueryable(), queryContext, true));
- if (showGroupsOnly)
- // Query all groups and use the query result to optionally select the latest version only
- return new ElementQueryDescriptor(((MetadataRepositoryElement) element).getQueryable(), groupQuery, showLatest ? new LatestIUVersionElementCollector(this, ((MetadataRepositoryElement) element).getQueryable(), queryContext, false) : new AvailableIUCollector(this, ((MetadataRepositoryElement) element).getQueryable(), queryContext, false));
- if (showLatest)
- // We are not querying groups, but we are showing the latest version only
- return new ElementQueryDescriptor(((MetadataRepositoryElement) element).getQueryable(), allQuery, new LatestIUVersionElementCollector(this, ((MetadataRepositoryElement) element).getQueryable(), queryContext, false));
- // Show 'em all!
- return new ElementQueryDescriptor(((MetadataRepositoryElement) element).getQueryable(), allQuery, new AvailableIUCollector(this, ((MetadataRepositoryElement) element).getQueryable(), queryContext, false));
- }
- if (element instanceof MetadataRepositories) {
- MetadataRepositories metaRepos = (MetadataRepositories) element;
- if (metaRepos.getMetadataRepositories() == null)
- metaRepos.setRepoFlags(IMetadataRepositoryManager.REPOSITORIES_NON_SYSTEM);
- queryable = new QueryableMetadataRepositoryManager(metaRepos);
-
- if (useCategories)
- // We are using categories, group into categories first.
- return new ElementQueryDescriptor(queryable, categoryQuery, new CategoryElementCollector(this, queryable, queryContext, true));
- if (showGroupsOnly)
- // Query all groups and use the query result to optionally select the latest version only
- return new ElementQueryDescriptor(queryable, groupQuery, showLatest ? new LatestIUVersionElementCollector(this, queryable, queryContext, false) : new AvailableIUCollector(this, queryable, queryContext, false));
- if (showLatest)
- // We are not querying groups, but we are showing the latest version only
- return new ElementQueryDescriptor(queryable, allQuery, new LatestIUVersionElementCollector(this, queryable, queryContext, false));
- // Show 'em all!
- return new ElementQueryDescriptor(queryable, allQuery, new AvailableIUCollector(this, queryable, queryContext, false));
- }
- // Things have been grouped by category, now what?
- // Handle uncategorized elements first
- if (element instanceof UncategorizedCategoryElement) {
- // Will have to look at all categories and other items first.
- queryable = ((UncategorizedCategoryElement) element).getQueryable();
- Query firstPassQuery = allQuery;
- if (showGroupsOnly)
- firstPassQuery = new CompoundQuery(new Query[] {groupQuery, categoryQuery}, false);
- queryable = ((UncategorizedCategoryElement) element).getQueryable();
- Collector collector = showLatest ? new LatestIUVersionElementCollector(this, queryable, queryContext, false) : new AvailableIUCollector(this, queryable, queryContext, false);
- return new ElementQueryDescriptor(queryable, firstPassQuery, new UncategorizedElementCollector(this, queryable, queryContext, collector));
-
- }
- if (element instanceof CategoryElement) {
- Query membersOfCategoryQuery = new AnyRequiredCapabilityQuery(((CategoryElement) element).getRequirements());
- if (showGroupsOnly)
- // Query all groups and use the query result to optionally select the latest version only
- return new ElementQueryDescriptor(((CategoryElement) element).getQueryable(), new CompoundQuery(new Query[] {new CompoundQuery(new Query[] {groupQuery, categoryQuery}, false), membersOfCategoryQuery}, true), showLatest ? new LatestIUVersionElementCollector(this, ((CategoryElement) element).getQueryable(), queryContext, true) : new AvailableIUCollector(this, ((CategoryElement) element).getQueryable(), queryContext, true));
- if (showLatest)
- // We are not querying groups, but we are showing the latest version only
- return new ElementQueryDescriptor(((CategoryElement) element).getQueryable(), membersOfCategoryQuery, new LatestIUVersionElementCollector(this, ((CategoryElement) element).getQueryable(), queryContext, true));
- // Show 'em all!
- return new ElementQueryDescriptor(((CategoryElement) element).getQueryable(), membersOfCategoryQuery, new AvailableIUCollector(this, ((CategoryElement) element).getQueryable(), queryContext, true));
- }
- // We've already collapsed all versions, show the rest
- if (element instanceof IUVersionsElement) {
- IInstallableUnit iu = ((IUVersionsElement) element).getIU();
- return new ElementQueryDescriptor(((IUVersionsElement) element).getQueryable(), new InstallableUnitQuery(iu.getId()), new OtherIUVersionsCollector(iu, this, ((IUVersionsElement) element).getQueryable(), queryContext));
- }
- case IQueryProvider.AVAILABLE_UPDATES :
- profile = (IProfile) ProvUI.getAdapter(element, IProfile.class);
- IInstallableUnit[] toUpdate;
- Collector collector;
- if (profile != null) {
- collector = profile.query(new IUProfilePropertyQuery(profile, IInstallableUnit.PROP_PROFILE_ROOT_IU, Boolean.toString(true)), new Collector(), null);
- toUpdate = (IInstallableUnit[]) collector.toArray(IInstallableUnit.class);
- } else if (element instanceof UpdateEvent) {
- try {
- profile = ProvisioningUtil.getProfile(((UpdateEvent) element).getProfileId());
- } catch (ProvisionException e) {
- ProvUI.handleException(e, ProvAdminUIMessages.ProvAdminQueryProvider_UpdateQueryError, StatusManager.LOG);
- return null;
- }
- toUpdate = ((UpdateEvent) element).getIUs();
- } else
- return null;
- QueryableUpdates updateQueryable = new QueryableUpdates(toUpdate);
- if (showLatest)
- collector = new LatestIUVersionCollector(this, updateQueryable, queryContext, useCategories);
- else
- collector = new Collector();
- return new ElementQueryDescriptor(updateQueryable, allQuery, collector);
- case IQueryProvider.INSTALLED_IUS :
- profile = (IProfile) ProvUI.getAdapter(element, IProfile.class);
- if (profile == null)
- return null;
- if (showRootsOnly)
- query = new IUProfilePropertyQuery(profile, IInstallableUnit.PROP_PROFILE_ROOT_IU, Boolean.toString(true));
- else
- query = allQuery;
- if (showGroupsOnly)
- return new ElementQueryDescriptor(profile, new CompoundQuery(new Query[] {groupQuery, query}, true), new InstalledIUCollector(this, profile, queryContext));
- return new ElementQueryDescriptor(profile, query, new InstalledIUCollector(this, profile, queryContext));
- case IQueryProvider.METADATA_REPOS :
- if (element instanceof MetadataRepositories) {
- MetadataRepositories metaRepos = (MetadataRepositories) element;
- if (metaRepos.getMetadataRepositories() == null)
- metaRepos.setRepoFlags(hideSystem ? IMetadataRepositoryManager.REPOSITORIES_NON_SYSTEM : IMetadataRepositoryManager.REPOSITORIES_ALL);
- queryable = new QueryableMetadataRepositoryManager(metaRepos);
- return new ElementQueryDescriptor(queryable, null, new MetadataRepositoryElementCollector(this, queryContext));
- }
- return null;
- case IQueryProvider.PROFILES :
- queryable = new QueryableProfileRegistry();
- return new ElementQueryDescriptor(queryable, new Query() {
- public boolean isMatch(Object candidate) {
- return ProvUI.getAdapter(candidate, IProfile.class) != null;
- }
- }, new ProfileElementCollector(this, null, queryContext));
- default :
- return null;
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ProvAdminUIActivator.java b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ProvAdminUIActivator.java
deleted file mode 100644
index c07c2a3..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ProvAdminUIActivator.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.admin;
-
-import org.eclipse.equinox.internal.provisional.p2.core.IServiceUI;
-import org.eclipse.equinox.internal.provisional.p2.director.ProvisioningPlan;
-import org.eclipse.equinox.internal.provisional.p2.ui.*;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.*;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceRegistration;
-
-/**
- * Activator class for the admin UI.
- */
-public class ProvAdminUIActivator extends AbstractUIPlugin {
-
- private static ProvAdminUIActivator plugin;
- private static BundleContext context;
-
- public static final String PLUGIN_ID = "org.eclipse.equinox.internal.provisional.p2.ui.admin"; //$NON-NLS-1$
- public static final String PERSPECTIVE_ID = "org.eclipse.equinox.internal.provisional.p2.ui.admin.ProvisioningPerspective"; //$NON-NLS-1$
-
- private IQueryProvider queryProvider;
- private LicenseManager licenseManager;
- private IPlanValidator planValidator;
- private Policies policies;
- private ServiceRegistration certificateUIRegistration;
-
- public static BundleContext getContext() {
- return context;
- }
-
- /**
- * Returns the singleton plugin instance
- *
- * @return the instance
- */
- public static ProvAdminUIActivator getDefault() {
- return plugin;
- }
-
- /**
- * Returns an image descriptor for the image file at the given plug-in
- * relative path
- *
- * @param path
- * the path
- * @return the image descriptor
- */
- public static ImageDescriptor getImageDescriptor(String path) {
- return imageDescriptorFromPlugin(PLUGIN_ID, path);
- }
-
- public ProvAdminUIActivator() {
- // constructor
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
- */
- public void start(BundleContext bundleContext) throws Exception {
- super.start(bundleContext);
- plugin = this;
- ProvAdminUIActivator.context = bundleContext;
- certificateUIRegistration = context.registerService(IServiceUI.class.getName(), new ValidationDialogServiceUI(), null);
- }
-
- public void stop(BundleContext bundleContext) throws Exception {
- plugin = null;
- certificateUIRegistration.unregister();
- super.stop(bundleContext);
- }
-
- public IQueryProvider getQueryProvider() {
- if (queryProvider == null)
- queryProvider = new ProvAdminQueryProvider();
- return queryProvider;
- }
-
- public LicenseManager getLicenseManager() {
- if (licenseManager == null)
- licenseManager = new SimpleLicenseManager();
- return licenseManager;
- }
-
- public IPlanValidator getPlanValidator() {
- if (planValidator == null)
- planValidator = new IPlanValidator() {
- public boolean continueWorkingWithPlan(ProvisioningPlan plan, Shell shell) {
- if (plan == null)
- return false;
- // If the plan requires install handler support, we want to open the old update UI
- if (UpdateManagerCompatibility.requiresInstallHandlerSupport(plan)) {
- MessageDialog dialog = new MessageDialog(shell, ProvAdminUIMessages.ProvAdminUIActivator_UnsupportedInstallHandler, null, ProvAdminUIMessages.ProvAdminUIActivator_UnsupportedInstallHandlerMessage, MessageDialog.WARNING, new String[] {ProvAdminUIMessages.ProvAdminUIActivator_LaunchUpdateManager, ProvAdminUIMessages.ProvAdminUIActivator_ContinueAnyway, IDialogConstants.CANCEL_LABEL}, 0);
- int ret = dialog.open();
- if (ret == 1) // continue anyway
- return true;
- if (ret == 0)
- BusyIndicator.showWhile(shell.getDisplay(), new Runnable() {
- public void run() {
- UpdateManagerCompatibility.openInstaller();
- }
- });
- return false;
- }
- return true;
- }
- };
- return planValidator;
- }
-
- public Policies getPolicies() {
- if (policies == null) {
- policies = new Policies() {
- public LicenseManager getLicenseManager() {
- return ProvAdminUIActivator.this.getLicenseManager();
- }
-
- public IPlanValidator getPlanValidator() {
- return ProvAdminUIActivator.this.getPlanValidator();
- }
-
- public IQueryProvider getQueryProvider() {
- return ProvAdminUIActivator.this.getQueryProvider();
- }
- };
- }
- return policies;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ProvAdminUIMessages.java b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ProvAdminUIMessages.java
deleted file mode 100644
index e8c1bad..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ProvAdminUIMessages.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.p2.ui.admin;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Message class for provisioning UI messages.
- *
- * @since 3.4
- */
-public class ProvAdminUIMessages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.ui.admin.messages"; //$NON-NLS-1$
- static {
- // load message values from bundle file
- NLS.initializeMessages(BUNDLE_NAME, ProvAdminUIMessages.class);
- }
- public static String AddArtifactRepositoryDialog_DuplicateURL;
- public static String AddArtifactRepositoryDialog_OperationLabel;
- public static String AddProfileDialog_Title;
- public static String AddMetadataRepositoryDialog_OperationLabel;
- public static String MetadataRepositoriesView_AddRepositoryTooltip;
- public static String MetadataRepositoriesView_AddRepositoryLabel;
- public static String MetadataRepositoriesView_ChooseProfileDialogTitle;
- public static String MetadataRepositoriesView_RemoveRepositoryTooltip;
- public static String ArtifactRepositoriesView_AddRepositoryTooltip;
- public static String ArtifactRepositoriesView_AddRepositoryLabel;
- public static String ArtifactRepositoriesView_RemoveRepositoryTooltip;
- public static String ArtifactRepositoriesView_RemoveRepositoryOperationLabel;
- public static String ProfilesView_ErrorRetrievingProfiles;
- public static String ProfilesView_AddProfileTooltip;
- public static String ProfilesView_AddProfileLabel;
- public static String ProfilesView_RemoveProfileLabel;
- public static String ProfilesView_RemoveProfileTooltip;
- public static String RepositoriesView_RemoveCommandLabel;
- // Preferences
- public static String InstalledIUPropertyPage_NoInfoAvailable;
- public static String ProvAdminQueryProvider_UpdateQueryError;
- public static String ProvAdminUIActivator_ContinueAnyway;
- public static String ProvAdminUIActivator_LaunchUpdateManager;
- public static String ProvAdminUIActivator_UnsupportedInstallHandler;
- public static String ProvAdminUIActivator_UnsupportedInstallHandlerMessage;
- public static String ProvisioningPrefPage_HideSystemRepos;
- public static String ProvisioningPrefPage_ShowGroupsOnly;
- public static String ProvisioningPrefPage_ShowInstallRootsOnly;
- public static String ProvisioningPrefPage_CollapseIUVersions;
- public static String ProvisioningPrefPage_UseCategories;
-
- public static String Ops_RemoveProfileOperationLabel;
- public static String AddProfileDialog_OperationLabel;
- public static String AddProfileDialog_DuplicateProfileID;
- public static String ProvView_RefreshCommandLabel;
- public static String ProvView_RefreshCommandTooltip;
-
- public static String ProfileRootPropertyName;
-
- public static String RepositoryGroup_NameColumnLabel;
- public static String RepositoryGroup_PropertiesLabel;
- public static String RepositoryGroup_ValueColumnLabel;
-
- public static String IUGroup_ID;
- public static String IUGroup_IU_ID_Required;
- public static String IUGroup_Namespace;
- public static String IUGroup_ProvidedCapabilities;
- public static String IUGroup_RequiredCapabilities;
- public static String IUGroup_TouchpointData;
- public static String IUGroup_TouchpointType;
- public static String IUGroup_Version;
- public static String IUProfilePropertiesGroup_InvalidProfileID;
-
- public static String IUPropertiesGroup_DescriptionPropertyLabel;
- public static String IUPropertiesGroup_NamePropertyLabel;
- public static String IUPropertiesGroup_ProviderPropertyLabel;
- public static String No_Property_Item_Selected;
-
- public static String ProfileGroup_Browse;
- public static String ProfileGroup_Browse2;
- public static String ProfileGroup_Environments;
- public static String ProfileGroup_Flavor;
- public static String ProfileGroup_ID;
- public static String ProfileGroup_Cache;
- public static String ProfileGroup_InstallFolder;
- public static String ProfileGroup_Name;
- public static String ProfileGroup_NL;
- public static String ProfileGroup_SelectProfileMessage;
- public static String ProfileGroup_Description;
- public static String ProfileGroup_ProfileIDRequired;
- public static String ProfileGroup_ProfileInstallFolderRequired;
- public static String ProfileGroup_SelectBundlePoolCache;
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ProvView.java b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ProvView.java
deleted file mode 100644
index f7e2c2f..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ProvView.java
+++ /dev/null
@@ -1,233 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.admin;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.equinox.internal.p2.ui.admin.preferences.PreferenceConstants;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUI;
-import org.eclipse.equinox.internal.provisional.p2.ui.actions.RefreshAction;
-import org.eclipse.equinox.internal.provisional.p2.ui.viewers.*;
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.operations.UndoRedoActionGroup;
-import org.eclipse.ui.part.ViewPart;
-
-/**
- * This class supports the common characteristics for views that manipulate
- * provisioning models.
- *
- * @since 3.4
- */
-abstract class ProvView extends ViewPart {
- TreeViewer viewer;
- private UndoRedoActionGroup undoRedoGroup;
- RefreshAction refreshAction;
- private IPropertyChangeListener preferenceListener;
- protected Display display;
-
- /**
- * The constructor.
- */
- public ProvView() {
- // constructor
- }
-
- /**
- * Create and initialize the viewer
- */
- public void createPartControl(Composite parent) {
- // Store the display so we can make async calls from listeners
- display = parent.getDisplay();
- viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
- viewer.getTree().setHeaderVisible(true);
- configureViewer(viewer);
- // Do this after setting up sorters, filters, etc.
- // Otherwise it will retrieve content on each change.
- viewer.setContentProvider(getContentProvider());
-
- // Now set up the visuals, columns before labels.
- setTreeColumns(viewer.getTree());
- viewer.setLabelProvider(getLabelProvider());
-
- // Input is last
- viewer.setInput(getInput());
-
- addListeners();
- makeActions();
- hookContextMenu();
- hookDoubleClickAction();
- contributeToActionBars();
- }
-
- private void hookContextMenu() {
- MenuManager menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$
- menuMgr.setRemoveAllWhenShown(true);
- menuMgr.addMenuListener(new IMenuListener() {
- public void menuAboutToShow(IMenuManager manager) {
- ProvView.this.fillContextMenu(manager);
- manager.add(new Separator());
- manager.add(refreshAction);
- manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
- }
- });
- Menu menu = menuMgr.createContextMenu(viewer.getControl());
- viewer.getControl().setMenu(menu);
- getSite().registerContextMenu(menuMgr, viewer);
- }
-
- private void hookDoubleClickAction() {
- viewer.addDoubleClickListener(new IDoubleClickListener() {
- public void doubleClick(DoubleClickEvent event) {
- IAction action = getDoubleClickAction();
- if (action != null && action.isEnabled()) {
- action.run();
- }
- }
- });
- }
-
- private void contributeToActionBars() {
- IActionBars bars = getViewSite().getActionBars();
- IMenuManager manager = bars.getMenuManager();
- fillLocalPullDown(manager);
- manager.add(new Separator());
- manager.add(refreshAction);
-
- fillLocalToolBar(bars.getToolBarManager());
- undoRedoGroup.fillActionBars(bars);
- }
-
- protected abstract void fillLocalPullDown(IMenuManager manager);
-
- protected abstract void fillContextMenu(IMenuManager manager);
-
- protected abstract void fillLocalToolBar(IToolBarManager manager);
-
- protected abstract IAction getDoubleClickAction();
-
- protected void makeActions() {
- undoRedoGroup = new UndoRedoActionGroup(getSite(), ProvUI.getProvisioningUndoContext(), true);
- refreshAction = new RefreshAction(viewer, viewer.getControl()) {
- protected void refresh() {
- refreshAll();
- }
- };
- refreshAction.setToolTipText(ProvAdminUIMessages.ProvView_RefreshCommandTooltip);
- }
-
- /**
- * Passing the focus request to the viewer's control.
- */
- public void setFocus() {
- viewer.getControl().setFocus();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.part.WorkbenchPart#dispose()
- */
- public void dispose() {
- if (undoRedoGroup != null) {
- undoRedoGroup.dispose();
- }
- removeListeners();
- super.dispose();
- }
-
- protected void addListeners() {
- IPreferenceStore store = ProvAdminUIActivator.getDefault().getPreferenceStore();
- preferenceListener = new IPropertyChangeListener() {
- public void propertyChange(PropertyChangeEvent event) {
- if (getVisualProperties().contains(event.getProperty())) {
- ProvView.this.refreshAll();
- }
- }
-
- };
- store.addPropertyChangeListener(preferenceListener);
- }
-
- protected void removeListeners() {
- if (preferenceListener != null) {
- IPreferenceStore store = ProvAdminUIActivator.getDefault().getPreferenceStore();
- store.removePropertyChangeListener(preferenceListener);
- }
- }
-
- Shell getShell() {
- return viewer.getControl().getShell();
- }
-
- Control getViewerControl() {
- return viewer.getControl();
- }
-
- IStructuredSelection getSelection() {
- return (IStructuredSelection) viewer.getSelection();
- }
-
- protected void configureViewer(final TreeViewer treeViewer) {
- viewer.setComparator(new IUComparator(IUComparator.IU_ID));
- viewer.setComparer(new ProvElementComparer());
- }
-
- protected void selectionChanged(IStructuredSelection selection) {
- // subclasses may override. Do nothing here.
- }
-
- protected abstract IContentProvider getContentProvider();
-
- protected Object getInput() {
- return null;
- }
-
- protected void setTreeColumns(Tree tree) {
- // For now we set two columns and the content depends on the elements
- TreeColumn tc = new TreeColumn(tree, SWT.LEFT, 0);
- tc.setResizable(true);
- tc.setWidth(400);
- tc = new TreeColumn(tree, SWT.LEFT, 1);
- tc.setWidth(600);
- tc.setResizable(true);
- }
-
- protected ILabelProvider getLabelProvider() {
- return new ProvElementLabelProvider();
- }
-
- protected void refreshUnderlyingModel() {
- // Default is to do nothing
- }
-
- protected List getVisualProperties() {
- ArrayList list = new ArrayList(1);
- list.add(PreferenceConstants.PREF_SHOW_GROUPS_ONLY);
- return list;
- }
-
- final void refreshAll() {
- // Refresh the underlying elements
- refreshUnderlyingModel();
- // We then reset the input to ensure that anything the content providers
- // are caching gets reset also. The net effect is that everything
- // will get queried again.
- viewer.setInput(getInput());
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ProvisioningPerspective.java b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ProvisioningPerspective.java
deleted file mode 100644
index 4a5e01d..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/ProvisioningPerspective.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.admin;
-
-import org.eclipse.ui.*;
-
-/**
- * Perspective which makes the standard provisioning views available.
- *
- * @since 3.4
- *
- */
-public class ProvisioningPerspective implements IPerspectiveFactory {
-
- private IPageLayout factory;
-
- public ProvisioningPerspective() {
- super();
- }
-
- public void createInitialLayout(IPageLayout layout) {
- this.factory = layout;
- addViews();
- addActionSets();
- addNewWizardShortcuts();
- addPerspectiveShortcuts();
- addViewShortcuts();
- }
-
- private void addViews() {
- // Creates the overall folder layout.
- // Note that each new Folder uses a percentage of the remaining
- // EditorArea.
-
- IFolderLayout bottom = factory.createFolder("bottomRight", //$NON-NLS-1$
- IPageLayout.BOTTOM, 0.75f, factory.getEditorArea());
- bottom.addView("org.eclipse.p2.ui.admin.ProfilesView"); //$NON-NLS-1$
-
- IFolderLayout topLeft = factory.createFolder("topLeft", //$NON-NLS-1$
- IPageLayout.LEFT, 0.4f, factory.getEditorArea());
- topLeft.addView("org.eclipse.p2.ui.admin.MetadataRepositoriesView"); //$NON-NLS-1$
- topLeft.addView("org.eclipse.p2.ui.admin.ArtifactRepositoriesView"); //$NON-NLS-1$
- }
-
- private void addActionSets() {
- factory.addActionSet(IPageLayout.ID_NAVIGATE_ACTION_SET); // NON-NLS-1
- }
-
- private void addPerspectiveShortcuts() {
- factory.addPerspectiveShortcut("org.eclipse.ui.resourcePerspective"); //$NON-NLS-1$
- }
-
- private void addNewWizardShortcuts() {
- // factory.addNewWizardShortcut("org.eclipse.ui.wizards.new.folder");//NON-NLS-1
- }
-
- private void addViewShortcuts() {
- factory.addShowViewShortcut("org.eclipse.p2.ui.admin.MetadataRepositoriesView"); //$NON-NLS-1$
- factory.addShowViewShortcut("org.eclipse.p2.ui.admin.ArtifactRepositoriesView"); //$NON-NLS-1$
- factory.addShowViewShortcut("org.eclipse.p2.ui.admin.ProfilesView"); //$NON-NLS-1$
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/RepositoriesView.java b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/RepositoriesView.java
deleted file mode 100644
index ebab434..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/RepositoriesView.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.admin;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.equinox.internal.p2.ui.admin.preferences.PreferenceConstants;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.ui.*;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.IRepositoryElement;
-import org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningOperation;
-import org.eclipse.equinox.internal.provisional.p2.ui.viewers.RepositoryContentProvider;
-import org.eclipse.equinox.internal.provisional.p2.ui.viewers.StructuredViewerProvisioningListener;
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.dialogs.PropertyDialogAction;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-/**
- * This class supports the common characteristics for views that manipulate
- * provisioning repositories.
- *
- * @since 3.4
- */
-abstract class RepositoriesView extends ProvView {
-
- private class RemoveRepositoryAction extends Action {
- RemoveRepositoryAction() {
- setText(getRemoveCommandLabel());
- setToolTipText(getRemoveCommandTooltip());
- setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_TOOL_DELETE));
- setDisabledImageDescriptor(PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_TOOL_DELETE_DISABLED));
-
- }
-
- public void run() {
- ProvisioningOperationRunner.run(getRemoveOperation(getSelection().toArray()), getShell(), StatusManager.SHOW | StatusManager.LOG);
- }
- }
-
- private class AddRepositoryAction extends Action {
- AddRepositoryAction() {
- setText(getAddCommandLabel());
- setToolTipText(getAddCommandTooltip());
- setImageDescriptor(ProvUIImages.getImageDescriptor(ProvUIImages.IMG_ARTIFACT_REPOSITORY));
-
- }
-
- public void run() {
- Object[] elements = ((ITreeContentProvider) viewer.getContentProvider()).getElements(getInput());
- ArrayList urls = new ArrayList();
- for (int i = 0; i < elements.length; i++)
- if (elements[i] instanceof IRepositoryElement)
- urls.add(((IRepositoryElement) elements[i]).getLocation());
- openAddRepositoryDialog(getShell());
- }
- }
-
- private Action addRepositoryAction, removeRepositoryAction;
- private PropertyDialogAction propertiesAction;
-
- private StructuredViewerProvisioningListener listener;
-
- /**
- * The constructor.
- */
- public RepositoriesView() {
- // nothing to do
- }
-
- protected void addListeners() {
- super.addListeners();
- listener = new StructuredViewerProvisioningListener(viewer, getListenerEventTypes(), ProvAdminUIActivator.getDefault().getQueryProvider());
- ProvUI.addProvisioningListener(listener);
- }
-
- protected void removeListeners() {
- super.removeListeners();
- ProvUI.removeProvisioningListener(listener);
- }
-
- protected void fillLocalPullDown(IMenuManager manager) {
- manager.add(addRepositoryAction);
- manager.add(removeRepositoryAction);
- manager.add(propertiesAction);
- }
-
- protected void fillContextMenu(IMenuManager manager) {
- manager.add(addRepositoryAction);
- if (removeRepositoryAction.isEnabled()) {
- manager.add(removeRepositoryAction);
- }
- if (propertiesAction.isEnabled()) {
- manager.add(new Separator());
- manager.add(propertiesAction);
- }
- }
-
- protected void fillLocalToolBar(IToolBarManager manager) {
- manager.add(addRepositoryAction);
- manager.add(removeRepositoryAction);
- }
-
- protected void makeActions() {
- super.makeActions();
- addRepositoryAction = new AddRepositoryAction();
- removeRepositoryAction = new RemoveRepositoryAction();
- getViewSite().getActionBars().setGlobalActionHandler(ActionFactory.DELETE.getId(), removeRepositoryAction);
-
- propertiesAction = new PropertyDialogAction(this.getSite(), viewer);
- getViewSite().getActionBars().setGlobalActionHandler(ActionFactory.PROPERTIES.getId(), propertiesAction);
- IStructuredSelection selection = getSelection();
- if (selection.size() == 1 && isRepository(selection.getFirstElement())) {
- propertiesAction.setEnabled(true);
- removeRepositoryAction.setEnabled(true);
- } else {
- propertiesAction.setEnabled(false);
- removeRepositoryAction.setEnabled(false);
- }
- viewer.addSelectionChangedListener(new ISelectionChangedListener() {
- public void selectionChanged(SelectionChangedEvent event) {
- IStructuredSelection ss = (IStructuredSelection) event.getSelection();
- RepositoriesView.this.selectionChanged(ss);
- }
- });
- }
-
- protected IAction getDoubleClickAction() {
- return propertiesAction;
- }
-
- protected void selectionChanged(IStructuredSelection selection) {
- propertiesAction.setEnabled(selection.size() == 1 && ((ProvUI.getAdapter(selection.getFirstElement(), IInstallableUnit.class) != null) || (isRepository(selection.getFirstElement()))));
- boolean enabled = false;
- Object[] selectionArray = selection.toArray();
- for (int i = 0; i < selectionArray.length; i++) {
- if (!isRepository(selectionArray[i])) {
- enabled = false;
- break;
- }
- enabled = true;
- }
- removeRepositoryAction.setEnabled(enabled);
- }
-
- protected IContentProvider getContentProvider() {
- return new RepositoryContentProvider(ProvAdminUIActivator.getDefault().getQueryProvider());
-
- }
-
- protected abstract int openAddRepositoryDialog(Shell shell);
-
- protected abstract ProvisioningOperation getRemoveOperation(Object[] elements);
-
- protected abstract String getAddCommandLabel();
-
- protected abstract String getAddCommandTooltip();
-
- protected String getRemoveCommandLabel() {
- return ProvAdminUIMessages.RepositoriesView_RemoveCommandLabel;
- }
-
- protected abstract String getRemoveCommandTooltip();
-
- protected abstract boolean isRepository(Object element);
-
- protected abstract int getListenerEventTypes();
-
- protected List getVisualProperties() {
- List list = super.getVisualProperties();
- list.add(PreferenceConstants.PREF_HIDE_SYSTEM_REPOS);
- list.add(PreferenceConstants.PREF_USE_CATEGORIES);
- list.add(PreferenceConstants.PREF_COLLAPSE_IU_VERSIONS);
- return list;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/AddArtifactRepositoryDialog.java b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/AddArtifactRepositoryDialog.java
deleted file mode 100644
index dea2973..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/AddArtifactRepositoryDialog.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.admin.dialogs;
-
-import java.net.URL;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.ui.admin.ProvAdminUIActivator;
-import org.eclipse.equinox.internal.p2.ui.admin.ProvAdminUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.ui.dialogs.AddRepositoryDialog;
-import org.eclipse.equinox.internal.provisional.p2.ui.dialogs.URLValidator;
-import org.eclipse.equinox.internal.provisional.p2.ui.operations.*;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Dialog that allows an artifact repository to be defined and added.
- *
- * @since 3.4
- *
- */
-public class AddArtifactRepositoryDialog extends AddRepositoryDialog {
-
- public AddArtifactRepositoryDialog(Shell parentShell, int repoFlags) {
- super(parentShell, repoFlags);
- }
-
- protected ProvisioningOperation getOperation(URL url) {
- return new AddArtifactRepositoryOperation(ProvAdminUIMessages.AddArtifactRepositoryDialog_OperationLabel, url);
- }
-
- protected URLValidator createURLValidator() {
- return new URLValidator() {
- protected IStatus validateRepositoryURL(URL location, boolean contactRepositories, IProgressMonitor monitor) {
- IStatus duplicateStatus = Status.OK_STATUS;
- URL[] knownRepositories;
- try {
- knownRepositories = ProvisioningUtil.getArtifactRepositories(repoFlag);
- } catch (ProvisionException e) {
- knownRepositories = new URL[0];
- }
- for (int i = 0; i < knownRepositories.length; i++) {
- if (knownRepositories[i].toExternalForm().equalsIgnoreCase(location.toExternalForm())) {
- duplicateStatus = new Status(IStatus.ERROR, ProvAdminUIActivator.PLUGIN_ID, LOCAL_VALIDATION_ERROR, ProvAdminUIMessages.AddArtifactRepositoryDialog_DuplicateURL, null);
- break;
- }
- }
- return duplicateStatus;
- }
- };
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/AddMetadataRepositoryDialog.java b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/AddMetadataRepositoryDialog.java
deleted file mode 100644
index d852dc0..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/AddMetadataRepositoryDialog.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.admin.dialogs;
-
-import java.net.URL;
-import org.eclipse.equinox.internal.p2.ui.admin.ProvAdminUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.ui.dialogs.AddRepositoryDialog;
-import org.eclipse.equinox.internal.provisional.p2.ui.operations.AddMetadataRepositoryOperation;
-import org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningOperation;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Dialog that allows a metadata repository to be defined and added.
- *
- * @since 3.4
- *
- */
-public class AddMetadataRepositoryDialog extends AddRepositoryDialog {
-
- public AddMetadataRepositoryDialog(Shell parentShell, int repoFlags) {
- super(parentShell, repoFlags);
- }
-
- protected ProvisioningOperation getOperation(URL url) {
- return new AddMetadataRepositoryOperation(ProvAdminUIMessages.AddMetadataRepositoryDialog_OperationLabel, url);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/AddProfileDialog.java b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/AddProfileDialog.java
deleted file mode 100644
index 28cdaa8..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/AddProfileDialog.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.admin.dialogs;
-
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.ui.admin.ProvAdminUIActivator;
-import org.eclipse.equinox.internal.p2.ui.admin.ProvAdminUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvisioningOperationRunner;
-import org.eclipse.equinox.internal.provisional.p2.ui.operations.AddProfileOperation;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-/**
- * Dialog that allows a profile to be defined and added.
- *
- * @since 3.4
- *
- */
-public class AddProfileDialog extends StatusDialog {
-
- private ProfileGroup profileGroup;
- private Button okButton;
- private String[] knownProfileIds;
- private String addedProfileId;
-
- public AddProfileDialog(Shell parentShell, String[] knownProfiles) {
-
- super(parentShell);
- this.knownProfileIds = knownProfiles;
- setTitle(ProvAdminUIMessages.AddProfileDialog_Title);
- }
-
- protected void createButtonsForButtonBar(Composite parent) {
- okButton = createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
- createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
- }
-
- protected Control createDialogArea(Composite parent) {
- profileGroup = new ProfileGroup(parent, null, new ModifyListener() {
- public void modifyText(ModifyEvent event) {
- verifyComplete();
- }
- });
- Dialog.applyDialogFont(profileGroup.getComposite());
- return profileGroup.getComposite();
- }
-
- protected void okPressed() {
- verifyComplete();
- if (okButton.isEnabled()) {
- addProfile();
- super.okPressed();
- }
- }
-
- /*
- * We only get here if already validated (ok was pressed)
- */
- private void addProfile() {
- IProfile profile = profileGroup.getProfile();
- if (profile != null) {
- return;
- }
- addedProfileId = profileGroup.getProfileId();
- Map profileProperties = profileGroup.getProfileProperties();
- ProvisioningOperationRunner.run(new AddProfileOperation(ProvAdminUIMessages.AddProfileDialog_OperationLabel, addedProfileId, profileProperties), getShell(), StatusManager.SHOW | StatusManager.LOG);
- }
-
- void verifyComplete() {
- if (okButton == null) {
- return;
- }
- IStatus status = profileGroup.verify();
- if (!status.isOK()) {
- this.updateStatus(status);
- setOkEnablement(false);
- return;
- }
- if (isDuplicate()) {
- return;
- }
- okButton.setEnabled(true);
- this.updateStatus(new Status(IStatus.OK, ProvAdminUIActivator.PLUGIN_ID, IStatus.OK, "", null)); //$NON-NLS-1$
-
- }
-
- private boolean isDuplicate() {
- if (knownProfileIds == null) {
- return false;
- }
-
- for (int i = 0; i < knownProfileIds.length; i++) {
- if (knownProfileIds[i].equals(profileGroup.getProfileId())) {
- setOkEnablement(false);
- this.updateStatus(new Status(IStatus.ERROR, ProvAdminUIActivator.PLUGIN_ID, IStatus.OK, ProvAdminUIMessages.AddProfileDialog_DuplicateProfileID, null));
- return true;
- }
- }
- return false;
- }
-
- protected void updateButtonsEnableState(IStatus status) {
- setOkEnablement(!status.matches(IStatus.ERROR));
- }
-
- protected void setOkEnablement(boolean enable) {
- if (okButton != null && !okButton.isDisposed())
- okButton.setEnabled(enable);
- }
-
- /**
- * Return the profile id that was added with this dialog, or null
- * if no profile has been added. This method will not return
- * a valid profile until the user has pressed OK and the profile
- * has been added to the profile registry.
- * @return the added profile's id
- */
- public String getAddedProfileId() {
- return addedProfileId;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/IUGroup.java b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/IUGroup.java
deleted file mode 100644
index 61d1254..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/IUGroup.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.admin.dialogs;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUI;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * An IUGroup is a reusable UI component that displays properties of an IU. It can be used in
- * different dialogs that manipulate or define IU's.
- *
- * @since 3.4
- */
-public abstract class IUGroup {
-
- protected Object iuElement;
- private Composite composite;
-
- protected IUGroup(final Composite parent, Object iu, ModifyListener listener) {
- this.iuElement = iu;
- composite = createGroupComposite(parent, listener);
- }
-
- protected abstract Composite createGroupComposite(Composite parent, ModifyListener modifyListener);
-
- public Composite getComposite() {
- return composite;
- }
-
- public IInstallableUnit getIU() {
- return (IInstallableUnit) ProvUI.getAdapter(iuElement, IInstallableUnit.class);
- }
-
- public void updateIU() {
- // default is to do nothing
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/IUImplementationGroup.java b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/IUImplementationGroup.java
deleted file mode 100644
index 77e431a..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/IUImplementationGroup.java
+++ /dev/null
@@ -1,240 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.admin.dialogs;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.ui.admin.ProvAdminUIActivator;
-import org.eclipse.equinox.internal.p2.ui.admin.ProvAdminUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.events.*;
-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.*;
-import org.osgi.framework.Version;
-
-/**
- * An IUImplementationGroup is a reusable UI component that displays and edits the
- * implementation-oriented properties of an IU. It can be used in
- * different dialogs that manipulate or define IU's.
- *
- * @since 3.4
- */
-public class IUImplementationGroup extends IUGroup {
-
- private Text id;
- private Text version;
- private Text namespace;
- private Text touchpointType;
- private List touchpointData;
- private List requiredCapabilities;
- private List providedCapabilities;
-
- public IUImplementationGroup(final Composite parent, IInstallableUnit iu, ModifyListener listener) {
- super(parent, iu, listener);
- }
-
- protected Composite createGroupComposite(Composite parent, ModifyListener listener) {
- Composite composite = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout();
- layout.numColumns = 2;
- composite.setLayout(layout);
- GridData data = new GridData();
- data.widthHint = 350;
- composite.setLayoutData(data);
-
- // Grid data for text controls
- GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-
- // Grid data for controls spanning both columns
- GridData gd2 = new GridData(GridData.FILL_HORIZONTAL);
- gd2.horizontalSpan = 2;
-
- // Grid data for lists grabbing vertical space
- GridData gdList = new GridData(GridData.FILL_HORIZONTAL);
- GC gc = new GC(parent);
- gc.setFont(JFaceResources.getDialogFont());
- FontMetrics fontMetrics = gc.getFontMetrics();
- gc.dispose();
- gdList.horizontalSpan = 2;
- gdList.heightHint = Dialog.convertHeightInCharsToPixels(fontMetrics, 5);
-
- boolean editable = iuElement == null && listener != null;
-
- Label label = new Label(composite, SWT.NONE);
- label.setText(ProvAdminUIMessages.IUGroup_ID);
- id = new Text(composite, SWT.BORDER);
- id.setLayoutData(gd);
- if (editable) {
- id.addModifyListener(listener);
- } else {
- id.setEditable(false);
- }
-
- label = new Label(composite, SWT.NONE);
- label.setText(ProvAdminUIMessages.IUGroup_Version);
- version = new Text(composite, SWT.BORDER);
- version.setLayoutData(gd);
-
- label = new Label(composite, SWT.NONE);
- label.setText(ProvAdminUIMessages.IUGroup_Namespace);
- namespace = new Text(composite, SWT.BORDER);
- namespace.setLayoutData(gd);
-
- label = new Label(composite, SWT.NONE);
- label.setText(ProvAdminUIMessages.IUGroup_TouchpointType);
- touchpointType = new Text(composite, SWT.BORDER | SWT.READ_ONLY);
- touchpointType.setLayoutData(gd);
-
- label = new Label(composite, SWT.NONE);
- label.setText(ProvAdminUIMessages.IUGroup_TouchpointData);
- label.setLayoutData(gd2);
- touchpointData = new List(composite, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL);
- touchpointData.setLayoutData(gdList);
- createCopyMenu(touchpointData);
-
- label = new Label(composite, SWT.NONE);
- label.setText(ProvAdminUIMessages.IUGroup_RequiredCapabilities);
- label.setLayoutData(gd2);
- requiredCapabilities = new List(composite, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL);
- requiredCapabilities.setLayoutData(gdList);
- createCopyMenu(requiredCapabilities);
-
- label = new Label(composite, SWT.NONE);
- label.setText(ProvAdminUIMessages.IUGroup_ProvidedCapabilities);
- label.setLayoutData(gd2);
- providedCapabilities = new List(composite, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL);
- providedCapabilities.setLayoutData(gdList);
- createCopyMenu(providedCapabilities);
-
- if (editable) {
- id.addModifyListener(listener);
- version.addModifyListener(listener);
- namespace.addModifyListener(listener);
- touchpointType.addModifyListener(listener);
- } else {
- id.setEditable(false);
- version.setEditable(false);
- namespace.setEditable(false);
- touchpointType.setEditable(false);
- }
- initializeFields();
- return composite;
- }
-
- private void initializeFields() {
- IInstallableUnit iu = getIU();
- if (iu == null) {
- return;
- }
- id.setText(iu.getId());
- version.setText(iu.getVersion().toString());
-
- String value = iu.getProperty(IInstallableUnit.NAMESPACE_IU_ID);
- if (value != null) {
- namespace.setText(value);
- }
- TouchpointType type = iu.getTouchpointType();
- if (type != null) {
- touchpointType.setText(type.getId());
- }
- TouchpointData[] data = iu.getTouchpointData();
- String[] items = new String[data.length];
- for (int i = 0; i < data.length; i++) {
- items[i] = data[i].toString();
- }
- touchpointData.setItems(items);
-
- RequiredCapability[] req = iu.getRequiredCapabilities();
- items = new String[req.length];
- for (int i = 0; i < req.length; i++) {
- items[i] = req[i].toString();
- }
- requiredCapabilities.setItems(items);
- ProvidedCapability[] prov = iu.getProvidedCapabilities();
- items = new String[prov.length];
- for (int i = 0; i < prov.length; i++) {
- items[i] = prov[i].toString();
- }
- providedCapabilities.setItems(items);
- }
-
- public void updateIU() {
- // If it's not an InstallableUnit it is not editable
- if (iuElement == null || iuElement instanceof IInstallableUnit) {
- InstallableUnitDescription unit = new InstallableUnitDescription();
- unit.setId(id.getText().trim());
- unit.setVersion(new Version(version.getText().trim()));
- unit.setProperty(IInstallableUnit.NAMESPACE_IU_ID, namespace.getText().trim());
- // TODO this is bogus because we don't let user provide a touchpoint type version
- unit.setTouchpointType(MetadataFactory.createTouchpointType(touchpointType.getText().trim(), new Version("1.0.0"))); //$NON-NLS-1$
- iuElement = MetadataFactory.createInstallableUnit(unit);
- }
- }
-
- /**
- * Return a status indicating the validity of the profile info
- *
- * @return a status indicating the validity of the profile info
- */
- public IStatus verify() {
- if (id.getText().trim().length() == 0) {
- return new Status(IStatus.ERROR, ProvAdminUIActivator.PLUGIN_ID, 0, ProvAdminUIMessages.IUGroup_IU_ID_Required, null);
- }
-
- // TODO what kind of validation do we perform for other properties?
- return new Status(IStatus.OK, ProvAdminUIActivator.PLUGIN_ID, IStatus.OK, "", null); //$NON-NLS-1$
-
- }
-
- private void createCopyMenu(final List list) {
- Menu copyMenu = new Menu(list);
- MenuItem copyItem = new MenuItem(copyMenu, SWT.NONE);
- copyItem.addSelectionListener(new SelectionListener() {
- /*
- * @see SelectionListener.widgetSelected (SelectionEvent)
- */
- public void widgetSelected(SelectionEvent e) {
- copySelectionsToClipboard(list);
- }
-
- /*
- * @see SelectionListener.widgetDefaultSelected(SelectionEvent)
- */
- public void widgetDefaultSelected(SelectionEvent e) {
- copySelectionsToClipboard(list);
- }
- });
- copyItem.setText(JFaceResources.getString("copy")); //$NON-NLS-1$
- list.setMenu(copyMenu);
- }
-
- void copySelectionsToClipboard(List list) {
- StringBuffer buffer = new StringBuffer();
- String[] selections = list.getSelection();
- for (int i = 0; i < selections.length; i++) {
- buffer.append(selections[i]);
- buffer.append("\n"); //$NON-NLS-1$
- }
- Clipboard clipboard = new Clipboard(list.getDisplay());
- clipboard.setContents(new Object[] {buffer.toString()}, new Transfer[] {TextTransfer.getInstance()});
- clipboard.dispose();
-
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/IUImplementationPropertyPage.java b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/IUImplementationPropertyPage.java
deleted file mode 100644
index 8a679d4..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/IUImplementationPropertyPage.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.admin.dialogs;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.ui.admin.ProvAdminUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUI;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.dialogs.PropertyPage;
-
-/**
- * PropertyPage that shows an IU's properties
- *
- * @since 3.4
- */
-public class IUImplementationPropertyPage extends PropertyPage {
-
- private IUImplementationGroup iuGroup;
-
- protected Control createContents(Composite parent) {
- IInstallableUnit iu = (IInstallableUnit) ProvUI.getAdapter(getElement(), IInstallableUnit.class);
- if (iu == null) {
- Label label = new Label(parent, SWT.DEFAULT);
- label.setText(ProvAdminUIMessages.No_Property_Item_Selected);
- }
- iuGroup = new IUImplementationGroup(parent, iu, new ModifyListener() {
- public void modifyText(ModifyEvent event) {
- verifyComplete();
- }
- });
- Dialog.applyDialogFont(iuGroup.getComposite());
- verifyComplete();
- return iuGroup.getComposite();
- }
-
- public boolean performOk() {
- return true;
- }
-
- void verifyComplete() {
- if (iuGroup == null) {
- return;
- }
- IStatus status = iuGroup.verify();
- setValid(status.isOK());
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/IUProfilePropertiesGroup.java b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/IUProfilePropertiesGroup.java
deleted file mode 100644
index e71fd36..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/IUProfilePropertiesGroup.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.admin.dialogs;
-
-import org.eclipse.equinox.internal.p2.ui.admin.ProvAdminUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUI;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.InstalledIUElement;
-import org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningUtil;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-/**
- * An IUPropertiesGroup is a reusable UI component that displays and edits the
- * user-oriented properties of an IU. It can be used in
- * different dialogs that manipulate or define IU's.
- *
- * @since 3.4
- */
-public class IUProfilePropertiesGroup extends IUGroup {
-
- private Table propertiesTable;
-
- public IUProfilePropertiesGroup(final Composite parent, InstalledIUElement iuElement, ModifyListener listener) {
- super(parent, iuElement, listener);
- }
-
- protected Composite createGroupComposite(Composite parent, ModifyListener listener) {
- Composite composite = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout();
- layout.numColumns = 1;
- composite.setLayout(layout);
- GridData data = new GridData();
- data.widthHint = 400;
- composite.setLayoutData(data);
-
- propertiesTable = new Table(composite, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
- data = new GridData(GridData.FILL_BOTH);
- data.grabExcessVerticalSpace = true;
- propertiesTable.setLayoutData(data);
- propertiesTable.setHeaderVisible(true);
- TableColumn nameColumn = new TableColumn(propertiesTable, SWT.NONE);
- nameColumn.setResizable(true);
- nameColumn.setWidth(200);
- TableColumn valueColumn = new TableColumn(propertiesTable, SWT.NONE);
- valueColumn.setResizable(true);
- valueColumn.setWidth(250);
- initializeFields();
- return composite;
- }
-
- private void initializeFields() {
- if (iuElement == null || !(iuElement instanceof InstalledIUElement)) {
- return;
- }
- String[] propNames = new String[] {IInstallableUnit.PROP_PROFILE_ROOT_IU};
- String[] userPropNames = new String[] {ProvAdminUIMessages.ProfileRootPropertyName};
- for (int i = 0; i < propNames.length; i++) {
- TableItem item = new TableItem(propertiesTable, SWT.NULL);
- IProfile profile = getProfile((InstalledIUElement) iuElement);
- String value = profile == null ? null : profile.getInstallableUnitProperty(getIU(), propNames[i]);
- if (value != null)
- item.setText(new String[] {userPropNames[i], value});
- }
- }
-
- private IProfile getProfile(InstalledIUElement element) {
- try {
- return ProvisioningUtil.getProfile(element.getProfileId());
- } catch (ProvisionException e) {
- ProvUI.handleException(e, NLS.bind(ProvAdminUIMessages.IUProfilePropertiesGroup_InvalidProfileID, element.getProfileId()), StatusManager.LOG);
- return null;
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/IUPropertiesGroup.java b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/IUPropertiesGroup.java
deleted file mode 100644
index 2ba63ae..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/IUPropertiesGroup.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Genuitec, LLC - added license support
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.admin.dialogs;
-
-import org.eclipse.equinox.internal.p2.ui.admin.ProvAdminUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.ui.query.IUPropertyUtils;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-
-/**
- * An IUPropertiesGroup is a reusable UI component that displays and edits the
- * user-oriented properties of an IU. It can be used in
- * different dialogs that manipulate or define IU's.
- *
- * @since 3.4
- */
-public class IUPropertiesGroup extends IUGroup {
-
- private Table propertiesTable;
-
- public IUPropertiesGroup(final Composite parent, IInstallableUnit iu, ModifyListener listener) {
- super(parent, iu, listener);
- }
-
- protected Composite createGroupComposite(Composite parent, ModifyListener listener) {
- Composite composite = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout();
- layout.numColumns = 1;
- composite.setLayout(layout);
- GridData data = new GridData();
- data.widthHint = 400;
- composite.setLayoutData(data);
-
- propertiesTable = new Table(composite, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
- data = new GridData(GridData.FILL_BOTH);
- data.grabExcessVerticalSpace = true;
- propertiesTable.setLayoutData(data);
- propertiesTable.setHeaderVisible(true);
- TableColumn nameColumn = new TableColumn(propertiesTable, SWT.NONE);
- nameColumn.setResizable(true);
- nameColumn.setWidth(200);
- TableColumn valueColumn = new TableColumn(propertiesTable, SWT.NONE);
- valueColumn.setResizable(true);
- valueColumn.setWidth(250);
- initializeFields();
- return composite;
- }
-
- private void initializeFields() {
- if (iuElement == null) {
- return;
- }
- String[] propNames = new String[] {IInstallableUnit.PROP_NAME, IInstallableUnit.PROP_DESCRIPTION, IInstallableUnit.PROP_PROVIDER};
- String[] userPropNames = new String[] {ProvAdminUIMessages.IUPropertiesGroup_NamePropertyLabel, ProvAdminUIMessages.IUPropertiesGroup_DescriptionPropertyLabel, ProvAdminUIMessages.IUPropertiesGroup_ProviderPropertyLabel};
- for (int i = 0; i < propNames.length; i++) {
- TableItem item = new TableItem(propertiesTable, SWT.NULL);
- String value = IUPropertyUtils.getIUProperty(getIU(), propNames[i]);
- if (value != null)
- item.setText(new String[] {userPropNames[i], value});
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/InstalledIUPropertyPage.java b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/InstalledIUPropertyPage.java
deleted file mode 100644
index f9aa001..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/InstalledIUPropertyPage.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.admin.dialogs;
-
-import org.eclipse.equinox.internal.p2.ui.admin.ProvAdminUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.InstalledIUElement;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.dialogs.PropertyPage;
-
-/**
- * PropertyPage that shows an IU's properties
- *
- * @since 3.4
- */
-public class InstalledIUPropertyPage extends PropertyPage {
-
- private IUProfilePropertiesGroup iuGroup;
-
- protected Control createContents(Composite parent) {
- Object element = getElement();
- if (!(element instanceof InstalledIUElement)) {
- Label label = new Label(parent, SWT.DEFAULT);
- label.setText(ProvAdminUIMessages.InstalledIUPropertyPage_NoInfoAvailable);
- return label;
- }
- iuGroup = new IUProfilePropertiesGroup(parent, (InstalledIUElement) element, new ModifyListener() {
- public void modifyText(ModifyEvent event) {
- // not editable
- }
- });
- Dialog.applyDialogFont(iuGroup.getComposite());
- return iuGroup.getComposite();
- }
-
- public boolean performOk() {
- return true;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/ProfileGroup.java b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/ProfileGroup.java
deleted file mode 100644
index b67f72f..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/ProfileGroup.java
+++ /dev/null
@@ -1,273 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Andrew Overholt <overholt@redhat.com> - Fix for Bug 197970
- * [prov] unset Profile name causes exception bringing up profile properties
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.admin.dialogs;
-
-import java.util.HashMap;
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.ui.admin.ProvAdminUIActivator;
-import org.eclipse.equinox.internal.p2.ui.admin.ProvAdminUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProfileFactory;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-
-/**
- * A ProfileGroup is a reusable UI component that displays the
- * properties of a profile. It can be used to create a new profile.
- * . It can be used in different dialogs that manipulate
- * or define profiles.
- *
- * @since 3.4
- *
- */
-public class ProfileGroup {
-
- Text id;
- Text location;
- Text cache;
- Text name;
- Text description;
- Text flavor;
- Text environments;
- Text nl;
- IProfile profile;
-
- public ProfileGroup(final Composite parent, IProfile profile, ModifyListener listener) {
- this.profile = profile;
-
- Composite composite = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout();
- layout.numColumns = 3;
- composite.setLayout(layout);
- GridData data = new GridData();
- data.widthHint = 350;
- composite.setLayoutData(data);
-
- // Grid data for most text controls
- GridData gd = new GridData(GridData.FILL_HORIZONTAL);
- gd.horizontalSpan = 2;
-
- Label label = new Label(composite, SWT.NONE);
- label.setText(ProvAdminUIMessages.ProfileGroup_ID);
- id = new Text(composite, SWT.BORDER);
- id.setLayoutData(gd);
- setEditable(id, profile == null, listener);
-
- label = new Label(composite, SWT.NONE);
- label.setText(ProvAdminUIMessages.ProfileGroup_InstallFolder);
- location = new Text(composite, SWT.BORDER);
- location.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- setEditable(location, profile == null, listener);
-
- Button locationButton = new Button(composite, SWT.PUSH);
- locationButton.setText(ProvAdminUIMessages.ProfileGroup_Browse);
- locationButton.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent event) {
- DirectoryDialog dialog = new DirectoryDialog(parent.getShell(), SWT.APPLICATION_MODAL);
- dialog.setMessage(ProvAdminUIMessages.ProfileGroup_SelectProfileMessage);
- String dir = dialog.open();
- if (dir != null) {
- location.setText(dir);
- }
- }
- });
- setEditable(locationButton, profile == null, listener);
-
- label = new Label(composite, SWT.NONE);
- label.setText(ProvAdminUIMessages.ProfileGroup_Cache);
- cache = new Text(composite, SWT.BORDER);
- cache.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- setEditable(cache, profile == null, listener);
-
- locationButton = new Button(composite, SWT.PUSH);
- locationButton.setText(ProvAdminUIMessages.ProfileGroup_Browse2);
- locationButton.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent event) {
- DirectoryDialog dialog = new DirectoryDialog(parent.getShell(), SWT.APPLICATION_MODAL);
- dialog.setMessage(ProvAdminUIMessages.ProfileGroup_SelectBundlePoolCache);
- String dir = dialog.open();
- if (dir != null) {
- cache.setText(dir);
- }
- }
- });
- setEditable(locationButton, profile == null, listener);
-
- label = new Label(composite, SWT.NONE);
- label.setText(ProvAdminUIMessages.ProfileGroup_Name);
- name = new Text(composite, SWT.BORDER);
- name.setLayoutData(gd);
- setEditable(name, profile == null, listener);
-
- label = new Label(composite, SWT.NONE);
- label.setText(ProvAdminUIMessages.ProfileGroup_Description);
- description = new Text(composite, SWT.BORDER);
- description.setLayoutData(gd);
- setEditable(description, profile == null, listener);
-
- label = new Label(composite, SWT.NONE);
- label.setText(ProvAdminUIMessages.ProfileGroup_Flavor);
- flavor = new Text(composite, SWT.BORDER);
- flavor.setLayoutData(gd);
- setEditable(flavor, profile == null, listener);
-
- label = new Label(composite, SWT.NONE);
- label.setText(ProvAdminUIMessages.ProfileGroup_Environments);
- environments = new Text(composite, SWT.BORDER);
- environments.setLayoutData(gd);
- setEditable(environments, profile == null, listener);
-
- label = new Label(composite, SWT.NONE);
- label.setText(ProvAdminUIMessages.ProfileGroup_NL);
- nl = new Text(composite, SWT.BORDER);
- nl.setLayoutData(gd);
- setEditable(nl, profile == null, listener);
-
- initializeFields();
- }
-
- private void initializeFields() {
- if (profile == null) {
- location.setText(ProfileFactory.getDefaultLocation());
- environments.setText(ProfileFactory.getDefaultEnvironments());
- nl.setText(ProfileFactory.getDefaultNL());
- flavor.setText(ProfileFactory.getDefaultFlavor());
- } else {
- String value = profile.getProfileId();
- // Should not happen, profiles must have an id, but just in case.
- if (value == null)
- value = ""; //$NON-NLS-1$
- id.setText(value);
-
- // The remaining values may be null
- value = profile.getProperty(IProfile.PROP_INSTALL_FOLDER);
- if (value != null) {
- location.setText(value);
- }
- value = profile.getProperty(IProfile.PROP_CACHE);
- if (value != null) {
- cache.setText(value);
- }
-
- value = profile.getProperty(IProfile.PROP_NAME);
- if (value != null) {
- name.setText(value);
- }
- value = profile.getProperty(IProfile.PROP_DESCRIPTION);
- if (value != null) {
- description.setText(value);
- }
- value = profile.getProperty(IProfile.PROP_FLAVOR);
- flavor.setText(value != null ? value : ProfileFactory.getDefaultFlavor());
-
- value = profile.getProperty(IProfile.PROP_ENVIRONMENTS);
- if (value != null) {
- environments.setText(value);
- }
- value = profile.getProperty(IProfile.PROP_NL);
- if (value != null) {
- nl.setText(value);
- }
- }
- }
-
- public Map getProfileProperties() {
- if (profile == null) {
- Map profileProperties = new HashMap();
-
- String value = location.getText().trim();
- if (value.length() > 0) {
- profileProperties.put(IProfile.PROP_INSTALL_FOLDER, value);
- }
-
- value = cache.getText().trim();
- if (value.length() > 0) {
- profileProperties.put(IProfile.PROP_CACHE, value);
- }
- value = name.getText().trim();
- if (value.length() > 0) {
- profileProperties.put(IProfile.PROP_NAME, value);
- }
- value = description.getText().trim();
- if (value.length() > 0) {
- profileProperties.put(IProfile.PROP_DESCRIPTION, value);
- }
- value = flavor.getText().trim();
- if (value.length() > 0) {
- profileProperties.put(IProfile.PROP_FLAVOR, value);
- }
- value = environments.getText().trim();
- if (value.length() > 0) {
- profileProperties.put(IProfile.PROP_ENVIRONMENTS, value);
- }
- value = nl.getText().trim();
- if (value.length() > 0) {
- profileProperties.put(IProfile.PROP_NL, value);
- }
- return profileProperties;
- }
- return profile.getProperties();
- }
-
- public Composite getComposite() {
- if (id == null) {
- return null;
- }
- return id.getParent();
- }
-
- public IProfile getProfile() {
- return profile;
- }
-
- public String getProfileId() {
- if (profile != null) {
- return profile.getProfileId();
- }
- return id.getText().trim();
- }
-
- /**
- * Return a status indicating the validity of the profile info
- *
- * @return a status indicating the validity of the profile info
- */
- public IStatus verify() {
- if (id.getText().trim().length() == 0) {
- return new Status(IStatus.ERROR, ProvAdminUIActivator.PLUGIN_ID, 0, ProvAdminUIMessages.ProfileGroup_ProfileIDRequired, null);
- }
- if (location.getText().trim().length() == 0) {
- return new Status(IStatus.ERROR, ProvAdminUIActivator.PLUGIN_ID, 0, ProvAdminUIMessages.ProfileGroup_ProfileInstallFolderRequired, null);
- }
-
- // TODO what kind of validation do we perform for other properties?
- return new Status(IStatus.OK, ProvAdminUIActivator.PLUGIN_ID, IStatus.OK, "", null); //$NON-NLS-1$
-
- }
-
- private void setEditable(Control control, boolean editable, ModifyListener listener) {
- if (control instanceof Text) {
- Text text = (Text) control;
- text.setEditable(editable);
- if (listener != null && editable)
- text.addModifyListener(listener);
- } else {
- control.setEnabled(editable);
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/ProfilePropertyPage.java b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/ProfilePropertyPage.java
deleted file mode 100644
index 374a7f0..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/ProfilePropertyPage.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.admin.dialogs;
-
-import org.eclipse.equinox.internal.p2.ui.admin.ProvAdminUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUI;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.dialogs.PropertyPage;
-
-/**
- * PropertyPage that shows an IU's properties
- *
- * @since 3.4
- */
-public class ProfilePropertyPage extends PropertyPage {
-
- private ProfileGroup profileGroup;
-
- protected Control createContents(Composite parent) {
- IProfile profile = (IProfile) ProvUI.getAdapter(getElement(), IProfile.class);
- if (profile == null) {
- Label label = new Label(parent, SWT.DEFAULT);
- label.setText(ProvAdminUIMessages.No_Property_Item_Selected);
- }
- // Assume that we do not edit profile properties for now
- noDefaultAndApplyButton();
-
- profileGroup = new ProfileGroup(parent, profile, null);
- Dialog.applyDialogFont(profileGroup.getComposite());
- return profileGroup.getComposite();
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/RepositoryImplementationPropertyPage.java b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/RepositoryImplementationPropertyPage.java
deleted file mode 100644
index 694499b..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/RepositoryImplementationPropertyPage.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.admin.dialogs;
-
-import java.util.Map;
-import org.eclipse.equinox.internal.p2.ui.admin.ProvAdminUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.ui.dialogs.RepositoryPropertyPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.*;
-
-/**
- * PropertyPage that shows a repository's properties
- *
- * @since 3.4
- */
-public class RepositoryImplementationPropertyPage extends RepositoryPropertyPage {
-
- private Table propertiesTable;
-
- protected Control createContents(Composite parent) {
- Control control = super.createContents(parent);
- if (control instanceof Composite) {
- Composite comp = (Composite) control;
- Label propertiesLabel = new Label(comp, SWT.NONE);
- propertiesLabel.setText(ProvAdminUIMessages.RepositoryGroup_PropertiesLabel);
- GridData data = new GridData(GridData.FILL_HORIZONTAL);
- data.horizontalSpan = 2;
- propertiesLabel.setLayoutData(data);
-
- propertiesTable = new Table(comp, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
- data = new GridData(GridData.FILL_BOTH);
- data.horizontalSpan = 2;
- data.grabExcessVerticalSpace = true;
- propertiesTable.setLayoutData(data);
- propertiesTable.setHeaderVisible(true);
- TableColumn nameColumn = new TableColumn(propertiesTable, SWT.NONE);
- nameColumn.setText(ProvAdminUIMessages.RepositoryGroup_NameColumnLabel);
- TableColumn valueColumn = new TableColumn(propertiesTable, SWT.NONE);
- valueColumn.setText(ProvAdminUIMessages.RepositoryGroup_ValueColumnLabel);
-
- initializeTable();
-
- nameColumn.pack();
- valueColumn.pack();
- }
- return control;
-
- }
-
- private void initializeTable() {
- if (getRepositoryElement() != null) {
- Map repoProperties = getRepositoryElement().getRepository(null).getProperties();
- if (repoProperties != null) {
- String[] propNames = (String[]) repoProperties.keySet().toArray(new String[repoProperties.size()]);
- for (int i = 0; i < propNames.length; i++) {
- TableItem item = new TableItem(propertiesTable, SWT.NULL);
- item.setText(new String[] {propNames[i], repoProperties.get(propNames[i]).toString()});
- }
- }
- }
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/messages.properties b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/messages.properties
deleted file mode 100644
index 84971d6..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/messages.properties
+++ /dev/null
@@ -1,78 +0,0 @@
-###############################################################################
-# Copyright (c) 2007, 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-ProvAdminQueryProvider_UpdateQueryError=Unexpected error while looking for updates
-ProvAdminUIActivator_ContinueAnyway=Continue
-ProvAdminUIActivator_LaunchUpdateManager=Launch UM...
-ProvAdminUIActivator_UnsupportedInstallHandler=Unsupported Install Handler
-ProvAdminUIActivator_UnsupportedInstallHandlerMessage=The feature you are trying to install has defined an Update Manager install handler. You may launch the old Update Manager in order to get the install handler support, or continue the install and ignore the install handler.
-ProvisioningPrefPage_ShowGroupsOnly=Show only &group IU's in profile or repository views
-ProvisioningPrefPage_ShowInstallRootsOnly=Show only the install &roots in a profile
-ProvisioningPrefPage_HideSystemRepos=Hide &system repositories in repository views
-ProvisioningPrefPage_CollapseIUVersions=Collapse multiple IU &versions underneath latest version
-ProvisioningPrefPage_UseCategories=Show IUs by &category in repository views
-InstalledIUPropertyPage_NoInfoAvailable=No profile-specific properties are available.
-AddProfileDialog_Title=Add Profile
-AddProfileDialog_OperationLabel=Add Profile
-AddMetadataRepositoryDialog_OperationLabel=Add Metadata Repository
-AddArtifactRepositoryDialog_DuplicateURL=Duplicate URL
-AddArtifactRepositoryDialog_OperationLabel=Add Artifact Repository
-MetadataRepositoriesView_AddRepositoryLabel=Add repository...
-MetadataRepositoriesView_AddRepositoryTooltip=Add a new metadata repository
-RepositoriesView_RemoveCommandLabel=Remove
-MetadataRepositoriesView_RemoveRepositoryTooltip=Remove the selected metadata repositories
-MetadataRepositoriesView_ChooseProfileDialogTitle=Choose Profile
-ArtifactRepositoriesView_RemoveRepositoryOperationLabel=Remove Artifact Repositories
-ArtifactRepositoriesView_AddRepositoryLabel=Add repository...
-ArtifactRepositoriesView_AddRepositoryTooltip=Add a new artifact repository
-ArtifactRepositoriesView_RemoveRepositoryTooltip=Remove the selected artifact repositories
-ProfilesView_ErrorRetrievingProfiles=Error retrieving profiles
-ProfilesView_AddProfileTooltip=Add a new profile
-ProvView_RefreshCommandTooltip=Refresh the items in the view.
-ProfilesView_AddProfileLabel=Add profile...
-ProvView_RefreshCommandLabel=Refresh
-ProfilesView_RemoveProfileLabel=Remove
-ProfilesView_RemoveProfileTooltip=Remove the selected profiles
-AddProfileDialog_DuplicateProfileID=The profile ID is already in use.
-Ops_RemoveProfileOperationLabel=Remove Profiles
-ProfileRootPropertyName=Profile Root
-RepositoryGroup_PropertiesLabel=Repository properties:
-RepositoryGroup_NameColumnLabel=Name
-RepositoryGroup_ValueColumnLabel=Value
-IUGroup_ID=IU &id:
-IUGroup_Version=&Version:
-No_Property_Item_Selected=There is nothing to show in the properties
-IUGroup_Namespace=&Namespace:
-IUGroup_TouchpointType=&Touchpoint type:
-IUGroup_TouchpointData=Touchpoint &data:
-IUGroup_RequiredCapabilities=&Required capabilities:
-IUGroup_ProvidedCapabilities=&Provided capabilities:
-IUGroup_IU_ID_Required=Must set an IU ID
-IUProfilePropertiesGroup_InvalidProfileID=Profile id {0} not valid.
-IUPropertiesGroup_DescriptionPropertyLabel=Description
-IUPropertiesGroup_NamePropertyLabel=Name
-IUPropertiesGroup_ProviderPropertyLabel=Provider
-ProfileGroup_ID=Profile &id:
-ProfileGroup_Browse=&Browse...
-ProfileGroup_Browse2=B&rowse...
-ProfileGroup_SelectProfileMessage=Select an installation directory:
-ProfileGroup_SelectBundlePoolCache=Select a bundle pool directory:
-ProfileGroup_Name=&Name:
-ProfileGroup_Description=&Description:
-ProfileGroup_Flavor=&Flavor:
-ProfileGroup_NL=N&L:
-ProfileGroup_Cache=Bundle &pool location:
-ProfileGroup_InstallFolder=Install f&older:
-ProfileGroup_Environments=&Environments:
-ProfileGroup_ProfileIDRequired=Must specify a Profile ID
-ProfileGroup_ProfileInstallFolderRequired=Must specify an install folder
-
-
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/preferences/PreferenceConstants.java b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/preferences/PreferenceConstants.java
deleted file mode 100644
index c216801..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/preferences/PreferenceConstants.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.admin.preferences;
-
-/**
- * Constant definitions for plug-in preferences
- */
-public class PreferenceConstants {
-
- public static final String PREF_SHOW_GROUPS_ONLY = "org.eclipse.equinox.internal.provisional.p2.ui.admin.showGroupsOnly"; //$NON-NLS-1$
- public static final String PREF_HIDE_SYSTEM_REPOS = "org.eclipse.equinox.internal.provisional.p2.ui.admin.hideSystemRepos"; //$NON-NLS-1$
- public static final String PREF_COLLAPSE_IU_VERSIONS = "org.eclipse.equinox.internal.provisional.p2.ui.admin.collapseIUVersions"; //$NON-NLS-1$
- public static final String PREF_USE_CATEGORIES = "org.eclipse.equinox.internal.provisional.p2.ui.admin.useCategories"; //$NON-NLS-1$
- public static final String PREF_SHOW_INSTALL_ROOTS_ONLY = "org.eclipse.equinox.internal.provisional.p2.ui.admin.showInstallRoots"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/preferences/ProvUIPreferenceInitializer.java b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/preferences/ProvUIPreferenceInitializer.java
deleted file mode 100644
index b16f001..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/preferences/ProvUIPreferenceInitializer.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.admin.preferences;
-
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.equinox.internal.p2.ui.admin.ProvAdminUIActivator;
-import org.eclipse.jface.preference.IPreferenceStore;
-
-/**
- * Initializes the preferences for the provisioning UI.
- * @since 3.4
- *
- */
-public class ProvUIPreferenceInitializer extends AbstractPreferenceInitializer {
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
- */
- public void initializeDefaultPreferences() {
- IPreferenceStore store = ProvAdminUIActivator.getDefault().getPreferenceStore();
- store.setDefault(PreferenceConstants.PREF_SHOW_GROUPS_ONLY, true);
- store.setDefault(PreferenceConstants.PREF_SHOW_INSTALL_ROOTS_ONLY, true);
- store.setDefault(PreferenceConstants.PREF_HIDE_SYSTEM_REPOS, true);
- store.setDefault(PreferenceConstants.PREF_COLLAPSE_IU_VERSIONS, true);
- store.setDefault(PreferenceConstants.PREF_USE_CATEGORIES, false);
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/preferences/ProvisioningPrefPage.java b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/preferences/ProvisioningPrefPage.java
deleted file mode 100644
index 3de6e31..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/preferences/ProvisioningPrefPage.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.admin.preferences;
-
-import org.eclipse.equinox.internal.p2.ui.admin.ProvAdminUIActivator;
-import org.eclipse.equinox.internal.p2.ui.admin.ProvAdminUIMessages;
-import org.eclipse.jface.preference.BooleanFieldEditor;
-import org.eclipse.jface.preference.FieldEditorPreferencePage;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-
-/**
- * Preference page for provisioning preferences.
- *
- * @since 3.4
- */
-
-public class ProvisioningPrefPage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
-
- public ProvisioningPrefPage() {
- super(GRID);
- setPreferenceStore(ProvAdminUIActivator.getDefault().getPreferenceStore());
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.FieldEditorPreferencePage#createFieldEditors()
- */
- public void createFieldEditors() {
- addField(new BooleanFieldEditor(PreferenceConstants.PREF_SHOW_GROUPS_ONLY, ProvAdminUIMessages.ProvisioningPrefPage_ShowGroupsOnly, getFieldEditorParent()));
- addField(new BooleanFieldEditor(PreferenceConstants.PREF_SHOW_INSTALL_ROOTS_ONLY, ProvAdminUIMessages.ProvisioningPrefPage_ShowInstallRootsOnly, getFieldEditorParent()));
- addField(new BooleanFieldEditor(PreferenceConstants.PREF_HIDE_SYSTEM_REPOS, ProvAdminUIMessages.ProvisioningPrefPage_HideSystemRepos, getFieldEditorParent()));
- addField(new BooleanFieldEditor(PreferenceConstants.PREF_COLLAPSE_IU_VERSIONS, ProvAdminUIMessages.ProvisioningPrefPage_CollapseIUVersions, getFieldEditorParent()));
- addField(new BooleanFieldEditor(PreferenceConstants.PREF_USE_CATEGORIES, ProvAdminUIMessages.ProvisioningPrefPage_UseCategories, getFieldEditorParent()));
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
- */
- public void init(IWorkbench workbench) {
- // nothing to do
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/.classpath b/bundles/org.eclipse.equinox.p2.ui/.classpath
deleted file mode 100644
index ce73933..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.ui/.cvsignore b/bundles/org.eclipse.equinox.p2.ui/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui/.project b/bundles/org.eclipse.equinox.p2.ui/.project
deleted file mode 100644
index 981de71..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.equinox.p2.ui</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.ui/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index a6b401a..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,330 +0,0 @@
-#Tue Sep 18 21:22:20 EDT 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.ui/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.ui/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index dbe72f1..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:59:14 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 34b8514..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,66 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %bundleName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.equinox.p2.ui;singleton:=true
-Bundle-Version: 1.0.1.qualifier
-Bundle-Activator: org.eclipse.equinox.internal.p2.ui.ProvUIActivator
-Import-Package: org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.p2.metadata,
- org.eclipse.equinox.internal.p2.metadata.repository,
- org.eclipse.equinox.internal.p2.rollback,
- org.eclipse.equinox.internal.provisional.configurator,
- org.eclipse.equinox.internal.provisional.p2.artifact.repository,
- org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing,
- org.eclipse.equinox.internal.provisional.p2.core,
- org.eclipse.equinox.internal.provisional.p2.core.eventbus,
- org.eclipse.equinox.internal.provisional.p2.core.repository,
- org.eclipse.equinox.internal.provisional.p2.director,
- org.eclipse.equinox.internal.provisional.p2.engine,
- org.eclipse.equinox.internal.provisional.p2.engine.phases,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.internal.provisional.p2.metadata.query,
- org.eclipse.equinox.internal.provisional.p2.metadata.repository,
- org.eclipse.equinox.internal.provisional.p2.query,
- org.eclipse.equinox.internal.provisional.p2.updatechecker,
- org.eclipse.equinox.internal.provisional.spi.p2.core.repository,
- org.eclipse.osgi.service.resolver;version="1.1.0",
- org.eclipse.osgi.util;version="1.1.0",
- org.osgi.framework;version="1.3.0",
- org.osgi.service.packageadmin;version="1.2.0"
-Export-Package: org.eclipse.equinox.internal.p2.ui;x-internal:=true,
- org.eclipse.equinox.internal.p2.ui.dialogs;x-internal:=true,
- org.eclipse.equinox.internal.p2.ui.model;x-internal:=true,
- org.eclipse.equinox.internal.p2.ui.viewers;x-internal:=true,
- org.eclipse.equinox.internal.provisional.p2.ui;
- x-friends:="org.eclipse.equinox.p2.ui.admin,
- org.eclipse.equinox.p2.ui.admin.rcp,
- org.eclipse.equinox.p2.ui.sdk,
- org.eclipse.pde.p2.ui",
- org.eclipse.equinox.internal.provisional.p2.ui.actions;
- x-friends:="org.eclipse.equinox.p2.ui.admin,
- org.eclipse.equinox.p2.ui.admin.rcp,
- org.eclipse.equinox.p2.ui.sdk,
- org.eclipse.pde.p2.ui",
- org.eclipse.equinox.internal.provisional.p2.ui.dialogs;
- x-friends:="org.eclipse.equinox.p2.ui.admin,
- org.eclipse.equinox.p2.ui.admin.rcp,
- org.eclipse.equinox.p2.ui.sdk,
- org.eclipse.pde.p2.ui",
- org.eclipse.equinox.internal.provisional.p2.ui.model;x-friends:="org.eclipse.equinox.p2.ui.admin,org.eclipse.equinox.p2.ui.admin.rcp,org.eclipse.equinox.p2.ui.sdk",
- org.eclipse.equinox.internal.provisional.p2.ui.operations;
- x-friends:="org.eclipse.equinox.p2.ui.admin,
- org.eclipse.equinox.p2.ui.admin.rcp,
- org.eclipse.equinox.p2.ui.sdk,
- org.eclipse.pde.p2.ui",
- org.eclipse.equinox.internal.provisional.p2.ui.policy;x-friends:="org.eclipse.equinox.p2.ui.admin,org.eclipse.equinox.p2.ui.admin.rcp,org.eclipse.equinox.p2.ui.sdk",
- org.eclipse.equinox.internal.provisional.p2.ui.query;x-friends:="org.eclipse.equinox.p2.ui.admin,org.eclipse.equinox.p2.ui.admin.rcp,org.eclipse.equinox.p2.ui.sdk",
- org.eclipse.equinox.internal.provisional.p2.ui.viewers;x-friends:="org.eclipse.equinox.p2.ui.admin,org.eclipse.equinox.p2.ui.admin.rcp,org.eclipse.equinox.p2.ui.sdk"
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.equinox.simpleconfigurator,
- org.eclipse.equinox.security.ui;bundle-version="[1.0.0,2.0.0)"
-Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,
- CDC-1.1/Foundation-1.1
diff --git a/bundles/org.eclipse.equinox.p2.ui/about.html b/bundles/org.eclipse.equinox.p2.ui/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 2, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui/build.properties b/bundles/org.eclipse.equinox.p2.ui/build.properties
deleted file mode 100644
index 1377767..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = plugin.properties,\
- icons/,\
- .,\
- about.html,\
- META-INF/,\
- plugin.xml
-src.includes = about.html
-source.. = src/
diff --git a/bundles/org.eclipse.equinox.p2.ui/icons/obj/artifact_repo_obj.gif b/bundles/org.eclipse.equinox.p2.ui/icons/obj/artifact_repo_obj.gif
deleted file mode 100644
index 0470e15..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/icons/obj/artifact_repo_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.ui/icons/obj/category_obj.gif b/bundles/org.eclipse.equinox.p2.ui/icons/obj/category_obj.gif
deleted file mode 100644
index b487d07..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/icons/obj/category_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.ui/icons/obj/iu_obj.gif b/bundles/org.eclipse.equinox.p2.ui/icons/obj/iu_obj.gif
deleted file mode 100644
index 8706680..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/icons/obj/iu_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.ui/icons/obj/metadata_repo_obj.gif b/bundles/org.eclipse.equinox.p2.ui/icons/obj/metadata_repo_obj.gif
deleted file mode 100644
index b8568f4..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/icons/obj/metadata_repo_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.ui/icons/obj/profile_obj.gif b/bundles/org.eclipse.equinox.p2.ui/icons/obj/profile_obj.gif
deleted file mode 100644
index c984fba..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/icons/obj/profile_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.ui/icons/obj/uninstalled_iu_obj.gif b/bundles/org.eclipse.equinox.p2.ui/icons/obj/uninstalled_iu_obj.gif
deleted file mode 100644
index f192b84..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/icons/obj/uninstalled_iu_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.ui/icons/tool/close.gif b/bundles/org.eclipse.equinox.p2.ui/icons/tool/close.gif
deleted file mode 100644
index 1aca259..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/icons/tool/close.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.ui/icons/tool/close_hot.gif b/bundles/org.eclipse.equinox.p2.ui/icons/tool/close_hot.gif
deleted file mode 100644
index d536016..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/icons/tool/close_hot.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.ui/icons/tool/update.gif b/bundles/org.eclipse.equinox.p2.ui/icons/tool/update.gif
deleted file mode 100644
index aa84ebe..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/icons/tool/update.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.ui/icons/tool/update_problems.gif b/bundles/org.eclipse.equinox.p2.ui/icons/tool/update_problems.gif
deleted file mode 100644
index c0cfaca..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/icons/tool/update_problems.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.ui/icons/wizban/def_wizban.jpg b/bundles/org.eclipse.equinox.p2.ui/icons/wizban/def_wizban.jpg
deleted file mode 100644
index 4d7eba6..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/icons/wizban/def_wizban.jpg
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.ui/icons/wizban/install_wiz.gif b/bundles/org.eclipse.equinox.p2.ui/icons/wizban/install_wiz.gif
deleted file mode 100644
index 7eee7c3..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/icons/wizban/install_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.ui/icons/wizban/revert_wiz.gif b/bundles/org.eclipse.equinox.p2.ui/icons/wizban/revert_wiz.gif
deleted file mode 100644
index 6a19fbf..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/icons/wizban/revert_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.ui/icons/wizban/uninstall_wiz.gif b/bundles/org.eclipse.equinox.p2.ui/icons/wizban/uninstall_wiz.gif
deleted file mode 100644
index 1223378..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/icons/wizban/uninstall_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.ui/icons/wizban/update_wiz.gif b/bundles/org.eclipse.equinox.p2.ui/icons/wizban/update_wiz.gif
deleted file mode 100644
index 3b36487..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/icons/wizban/update_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.ui/plugin.properties b/bundles/org.eclipse.equinox.p2.ui/plugin.properties
deleted file mode 100644
index 73d4c35..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-#
-# Provisioning UI plugin resources
-#
-providerName=Eclipse.org
-bundleName=Equinox Provisioning UI Support
diff --git a/bundles/org.eclipse.equinox.p2.ui/plugin.xml b/bundles/org.eclipse.equinox.p2.ui/plugin.xml
deleted file mode 100644
index 0e5d233..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/plugin.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
- <extension
- point="org.eclipse.core.runtime.adapters">
- <factory
- adaptableType="org.eclipse.equinox.internal.p2.ui.model.ProvElement"
- class="org.eclipse.equinox.internal.p2.ui.ProvUIAdapterFactory">
- <adapter type="org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit"/>
- <adapter type="org.eclipse.equinox.internal.provisional.p2.engine.IProfile"/>
- <adapter type="org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository"/>
- <adapter type="org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository"/>
- <adapter type="org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepository"/>
- </factory>
-
- </extension>
-</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/BatchChangeBeginningEvent.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/BatchChangeBeginningEvent.java
deleted file mode 100644
index 74a88a5..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/BatchChangeBeginningEvent.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.equinox.internal.p2.ui;
-
-import java.util.EventObject;
-
-/**
- * Internal UI event used to signify that a batch change in which
- * we were ignoring listeners is done.
- *
- * @since 3.4
- */
-public class BatchChangeBeginningEvent extends EventObject {
-
- private static final long serialVersionUID = -7529156836242774280L;
-
- /**
- * Construct a new instance of this event.
- * @param source the source of the event
- */
- public BatchChangeBeginningEvent(Object source) {
- super(source);
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/BatchChangeCompleteEvent.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/BatchChangeCompleteEvent.java
deleted file mode 100644
index 7052b18..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/BatchChangeCompleteEvent.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.equinox.internal.p2.ui;
-
-import java.util.EventObject;
-
-/**
- * Event used to signify that a batch change is about
- * to begin. We should ignore listeners until it is
- * done.
- *
- * @since 3.4
- */
-public class BatchChangeCompleteEvent extends EventObject {
-
- private static final long serialVersionUID = -4513769756968621852L;
-
- /**
- * Construct a new instance of this event.
- * @param source the source of the event
- */
- public BatchChangeCompleteEvent(Object source) {
- super(source);
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/PlanStatusHelper.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/PlanStatusHelper.java
deleted file mode 100644
index 2de8252..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/PlanStatusHelper.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.equinox.internal.p2.ui;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.director.ProvisioningPlan;
-import org.eclipse.equinox.internal.provisional.p2.engine.InstallableUnitOperand;
-import org.eclipse.equinox.internal.provisional.p2.engine.Operand;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.ui.IStatusCodes;
-import org.eclipse.equinox.internal.provisional.p2.ui.query.IUPropertyUtils;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * This class defines commonly used status objects for communicating issues
- * about provisioning plans to the user and analyzes a proposed provisioning plan
- * to find common problems and report them in a way that makes sense to a user.
- *
- * @since 3.4
- */
-public class PlanStatusHelper {
-
- public static IStatus getStatus(int statusCode, IInstallableUnit affectedIU) {
- switch (statusCode) {
- case IStatusCodes.IMPLIED_UPDATE :
- return new Status(IStatus.INFO, ProvUIActivator.PLUGIN_ID, statusCode, NLS.bind(ProvUIMessages.PlanStatusHelper_ImpliedUpdate, getIUString(affectedIU)), null);
- case IStatusCodes.IGNORED_IMPLIED_DOWNGRADE :
- return new Status(IStatus.WARNING, ProvUIActivator.PLUGIN_ID, statusCode, NLS.bind(ProvUIMessages.PlanStatusHelper_IgnoringImpliedDowngrade, getIUString(affectedIU)), null);
- case IStatusCodes.IGNORED_ALREADY_INSTALLED :
- return new Status(IStatus.WARNING, ProvUIActivator.PLUGIN_ID, statusCode, NLS.bind(ProvUIMessages.PlanStatusHelper_AlreadyInstalled, getIUString(affectedIU)), null);
- case IStatusCodes.UNEXPECTED_NOTHING_TO_DO :
- return new Status(IStatus.ERROR, ProvUIActivator.PLUGIN_ID, statusCode, NLS.bind(ProvUIMessages.PlanStatusHelper_NothingToDo, getIUString(affectedIU)), null);
- case IStatusCodes.PROFILE_CHANGE_ALTERED :
- return new MultiStatus(ProvUIActivator.PLUGIN_ID, statusCode, ProvUIMessages.PlanStatusHelper_RequestAltered, null);
- default :
- return new Status(IStatus.ERROR, ProvUIActivator.PLUGIN_ID, statusCode, NLS.bind(ProvUIMessages.PlanStatusHelper_UnexpectedError, new Integer(statusCode), getIUString(affectedIU)), null);
- }
- }
-
- public static MultiStatus getProfileChangeAlteredStatus() {
- return (MultiStatus) getStatus(IStatusCodes.PROFILE_CHANGE_ALTERED, null);
- }
-
- public static IStatus computeStatus(ProvisioningPlan plan, IInstallableUnit[] ius) {
- if (plan == null)
- return getStatus(IStatusCodes.UNEXPECTED_NOTHING_TO_DO, null);
- // If the plan is ok or cancel, no further analysis is needed
- if (plan.getStatus().isOK() || plan.getStatus().getSeverity() == IStatus.CANCEL)
- return plan.getStatus();
-
- // If this is a status we have already checked, don't bother doing so again.
- if (plan.getStatus().getCode() == IStatusCodes.UNEXPECTED_NOTHING_TO_DO)
- return plan.getStatus();
-
- // If the plan has no IU operands and some were expected, then nothing will happen.
- if (ius != null && ius.length > 0) {
- boolean iusInPlan = false;
- Operand[] operands = plan.getOperands();
- for (int i = 0; i < operands.length; i++)
- if (operands[i] instanceof InstallableUnitOperand) {
- iusInPlan = true;
- break;
- }
- if (!iusInPlan) {
- MultiStatus status = new MultiStatus(ProvUIActivator.PLUGIN_ID, IStatusCodes.UNEXPECTED_NOTHING_TO_DO, ProvUIMessages.PlanStatusHelper_NothingToDo, null);
- status.add(getStatus(IStatusCodes.UNEXPECTED_NOTHING_TO_DO, null));
- if (plan.getStatus() != null)
- status.merge(plan.getStatus());
- return status;
- }
- }
- // We have no further interpretation.
- return plan.getStatus();
-
- }
-
- private static String getIUString(IInstallableUnit iu) {
- if (iu == null)
- return ProvUIMessages.PlanStatusHelper_Items;
- // Get the iu name in the default locale
- String name = IUPropertyUtils.getIUProperty(iu, IInstallableUnit.PROP_NAME);
- if (name != null)
- return name;
- return iu.getId();
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvUIActivator.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvUIActivator.java
deleted file mode 100644
index 3c40305..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvUIActivator.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui;
-
-import java.net.URL;
-import java.util.EventObject;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.ProvisioningListener;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.ui.*;
-import org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningUtil;
-import org.eclipse.equinox.internal.provisional.p2.ui.viewers.StructuredViewerProvisioningListener;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.ui.statushandlers.StatusManager;
-import org.osgi.framework.*;
-import org.osgi.service.packageadmin.PackageAdmin;
-
-/**
- * Controls the lifecycle of the provisioning UI bundle
- *
- * @since 3.4
- */
-public class ProvUIActivator extends AbstractUIPlugin {
- private static BundleContext context;
- private static PackageAdmin packageAdmin = null;
- private static ServiceReference packageAdminRef = null;
- private static ProvUIActivator plugin;
- private ProvisioningListener profileChangeListener;
-
- public static final String PLUGIN_ID = "org.eclipse.equinox.p2.ui"; //$NON-NLS-1$
-
- public static BundleContext getContext() {
- return context;
- }
-
- /**
- * Returns the singleton plugin instance
- *
- * @return the instance
- */
- public static ProvUIActivator getDefault() {
- return plugin;
- }
-
- public static Bundle getBundle(String symbolicName) {
- if (packageAdmin == null)
- return null;
- Bundle[] bundles = packageAdmin.getBundles(symbolicName, null);
- if (bundles == null)
- return null;
- // Return the first bundle that is not installed or uninstalled
- for (int i = 0; i < bundles.length; i++) {
- if ((bundles[i].getState() & (Bundle.INSTALLED | Bundle.UNINSTALLED)) == 0) {
- return bundles[i];
- }
- }
- return null;
- }
-
- public ProvUIActivator() {
- // do nothing
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
- */
- public void start(BundleContext bundleContext) throws Exception {
- super.start(bundleContext);
-
- plugin = this;
- ProvUIActivator.context = bundleContext;
- packageAdminRef = bundleContext.getServiceReference(PackageAdmin.class.getName());
- packageAdmin = (PackageAdmin) bundleContext.getService(packageAdminRef);
-
- // TODO for now we need to manually start up the provisioning infrastructure
- // because the Eclipse Application launch config won't let me specify bundles to start.
- getBundle("org.eclipse.equinox.p2.exemplarysetup").start(Bundle.START_TRANSIENT); //$NON-NLS-1$
- getBundle("org.eclipse.equinox.frameworkadmin.equinox").start(Bundle.START_TRANSIENT); //$NON-NLS-1$
- getBundle("org.eclipse.equinox.simpleconfigurator.manipulator").start(Bundle.START_TRANSIENT); //$NON-NLS-1$
- getBundle("org.eclipse.equinox.p2.updatechecker").start(Bundle.START_TRANSIENT); //$NON-NLS-1$
-
- initializeImages();
- addProfileChangeListener();
- }
-
- public void stop(BundleContext bundleContext) throws Exception {
- try {
- removeProfileChangeListener();
- plugin = null;
- ProvUIActivator.context = null;
- } finally {
- super.stop(bundleContext);
- }
- }
-
- private void addProfileChangeListener() {
- if (profileChangeListener == null) {
- profileChangeListener = new ProvisioningListener() {
- public void notify(EventObject o) {
- if (o instanceof ProfileEvent) {
- ProfileEvent event = (ProfileEvent) o;
- try {
- IProfile selfProfile = ProvisioningUtil.getProfile(IProfileRegistry.SELF);
- if (selfProfile != null && (selfProfile.getProfileId().equals(event.getProfileId()))) {
- if (event.getReason() == ProfileEvent.CHANGED)
- ProvisioningOperationRunner.requestRestart(false);
-
- }
- } catch (ProvisionException e) {
- ProvUI.handleException(e, ProvUIMessages.ProvUIActivator_ExceptionDuringProfileChange, StatusManager.LOG);
-
- }
- }
- }
- };
- }
- IProvisioningEventBus bus = getProvisioningEventBus();
- if (bus != null)
- bus.addListener(profileChangeListener);
- }
-
- private void removeProfileChangeListener() {
- if (profileChangeListener != null) {
- IProvisioningEventBus bus = getProvisioningEventBus();
- if (bus != null)
- bus.removeListener(profileChangeListener);
- }
- }
-
- public void addProvisioningListener(StructuredViewerProvisioningListener listener) {
- getProvisioningEventBus().addListener(listener);
- }
-
- public void signalBatchOperationStart() {
- getProvisioningEventBus().publishEvent(new BatchChangeBeginningEvent(this));
- }
-
- public void signalBatchOperationComplete() {
- getProvisioningEventBus().publishEvent(new BatchChangeCompleteEvent(this));
- }
-
- private IProvisioningEventBus getProvisioningEventBus() {
- ServiceReference busReference = context.getServiceReference(IProvisioningEventBus.SERVICE_NAME);
- if (busReference == null)
- return null;
- return (IProvisioningEventBus) context.getService(busReference);
- }
-
- public void removeProvisioningListener(StructuredViewerProvisioningListener listener) {
- getProvisioningEventBus().removeListener(listener);
- }
-
- private void initializeImages() {
- createImageDescriptor(ProvUIImages.IMG_METADATA_REPOSITORY);
- createImageDescriptor(ProvUIImages.IMG_ARTIFACT_REPOSITORY);
- createImageDescriptor(ProvUIImages.IMG_IU);
- createImageDescriptor(ProvUIImages.IMG_UNINSTALLED_IU);
- createImageDescriptor(ProvUIImages.IMG_CATEGORY);
- createImageDescriptor(ProvUIImages.IMG_PROFILE);
- createImageDescriptor(ProvUIImages.IMG_TOOL_UPDATE);
- createImageDescriptor(ProvUIImages.IMG_TOOL_UPDATE_PROBLEMS);
- createImageDescriptor(ProvUIImages.IMG_TOOL_CLOSE);
- createImageDescriptor(ProvUIImages.IMG_TOOL_CLOSE_HOT);
- createImageDescriptor(ProvUIImages.WIZARD_BANNER_INSTALL);
- createImageDescriptor(ProvUIImages.WIZARD_BANNER_REVERT);
- createImageDescriptor(ProvUIImages.WIZARD_BANNER_UNINSTALL);
- createImageDescriptor(ProvUIImages.WIZARD_BANNER_UPDATE);
- }
-
- /**
- * Creates an image and places it in the image registry.
- */
- private void createImageDescriptor(String id) {
- URL url = FileLocator.find(getBundle(), new Path(ProvUIImages.ICON_PATH + id), null);
- ImageDescriptor desc = ImageDescriptor.createFromURL(url);
- getImageRegistry().put(id, desc);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvUIAdapterFactory.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvUIAdapterFactory.java
deleted file mode 100644
index 6caa324..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvUIAdapterFactory.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepository;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUI;
-
-/**
- * Adapter factory for provisioning elements
- *
- * @since 3.4
- *
- */
-
-public class ProvUIAdapterFactory implements IAdapterFactory {
- private static final Class[] CLASSES = new Class[] {IInstallableUnit.class, IProfile.class, IRepository.class, IMetadataRepository.class, IArtifactRepository.class};
-
- public Object getAdapter(Object adaptableObject, Class adapterType) {
- return ProvUI.getAdapter(adaptableObject, adapterType);
- }
-
- public Class[] getAdapterList() {
- return CLASSES;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvUIMessages.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvUIMessages.java
deleted file mode 100644
index e7cf053..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvUIMessages.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.p2.ui;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Message class for provisioning UI messages.
- *
- * @since 3.4
- */
-public class ProvUIMessages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.ui.messages"; //$NON-NLS-1$
- static {
- // load message values from bundle file
- NLS.initializeMessages(BUNDLE_NAME, ProvUIMessages.class);
- }
-
- public static String AcceptLicensesWizardPage_AcceptMultiple;
- public static String AcceptLicensesWizardPage_AcceptSingle;
- public static String AcceptLicensesWizardPage_ItemsLabel;
- public static String AcceptLicensesWizardPage_LicenseTextLabel;
- public static String AcceptLicensesWizardPage_NoLicensesDescription;
- public static String AcceptLicensesWizardPage_RejectMultiple;
- public static String AcceptLicensesWizardPage_RejectSingle;
- public static String AcceptLicensesWizardPage_ReviewExtraLicensesDescription;
- public static String AcceptLicensesWizardPage_ReviewLicensesDescription;
- public static String AcceptLicensesWizardPage_Title;
- public static String ApplicationInRestartDialog;
- public static String ApplyProfileChangesDialog_ApplyChanges;
- public static String CategoryElementCollector_Uncategorized;
- public static String InstallDialog_InstallSelectionMessage;
- public static String IUCopyrightPropertyPage_NoCopyright;
- public static String IUCopyrightPropertyPage_ViewLinkLabel;
- public static String IUDetailsLabelProvider_KB;
- public static String IUDetailsLabelProvider_Bytes;
- public static String IUDetailsLabelProvider_ComputingSize;
- public static String IUDetailsLabelProvider_Unknown;
- public static String IUGeneralInfoPropertyPage_ContactLabel;
- public static String IUGeneralInfoPropertyPage_CouldNotOpenBrowser;
- public static String IUGeneralInfoPropertyPage_DescriptionLabel;
- public static String IUGeneralInfoPropertyPage_DocumentationLink;
- public static String IUGeneralInfoPropertyPage_IdentifierLabel;
- public static String IUGeneralInfoPropertyPage_NameLabel;
- public static String IUGeneralInfoPropertyPage_ProviderLabel;
- public static String IUGeneralInfoPropertyPage_VersionLabel;
- public static String IULicensePropertyPage_NoLicense;
- public static String IULicensePropertyPage_ViewLicenseLabel;
- public static String ProfileElement_InvalidProfile;
- public static String ProfileModificationAction_UnexpectedError;
- public static String ProfileModificationWizardPage_DetailsLabel;
- public static String ProfileModificationWizardPage_NothingSelected;
- public static String ProfileModificationWizardPage_UnexpectedError;
- // utility error messages
- public static String ProvisioningUtil_NoRepositoryManager;
- public static String ProvisioningUtil_LoadRepositoryFailure;
- public static String ProvisioningUtil_NoProfileRegistryFound;
- public static String ProvisioningUtil_NoPlannerFound;
- public static String ProvisioningUtil_NoDirectorFound;
- public static String ProvisioningUtil_NoEngineFound;
- public static String ProvisioningUtil_RepositoryNotFound;
-
- // viewer support
- public static String ProvDropAdapter_InvalidDropTarget;
- public static String ProvDropAdapter_NoIUsToDrop;
- public static String ProvDropAdapter_UnsupportedDropOperation;
-
- // Provisioning operations
- public static String ProvisioningOperation_ExecuteErrorTitle;
- public static String ProvisioningOperation_RedoErrorTitle;
- public static String ProvisioningOperation_UndoErrorTitle;
- public static String ProvisioningOperationRunner_ErrorExecutingOperation;
- public static String InstallIUOperationLabel;
- public static String InstallIUCommandLabel;
- public static String InstallIUCommandTooltip;
- public static String InstallIUProgress;
- public static String UninstallDialog_UninstallMessage;
- public static String UninstallIUOperationLabel;
- public static String UninstallIUCommandLabel;
- public static String UninstallIUCommandTooltip;
- public static String UninstallIUProgress;
- public static String UpdateIUOperationLabel;
- public static String UpdateIUCommandLabel;
- public static String UpdateIUCommandTooltip;
- public static String UpdateIUProgress;
- public static String RefreshAction_Label;
- public static String RefreshAction_Tooltip;
- public static String RevertIUOperationLabel;
- public static String RevertIUCommandLabel;
- public static String RevertIUCommandTooltip;
- public static String RevertIUProgress;
-
- // Property pages
- public static String IUPropertyPage_NoIUSelected;
- public static String RepositoryPropertyPage_DescriptionFieldLabel;
- public static String RepositoryPropertyPage_NameFieldLabel;
- public static String RepositoryPropertyPage_URLFieldLabel;
-
- public static String RepositoryPropertyPage_NoRepoSelected;
-
- // Dialog groups
- public static String RepositoryGroup_LocalRepoBrowseButton;
- public static String RepositoryGroup_ArchivedRepoBrowseButton;
- public static String RepositoryGroup_RepositoryFile;
- public static String RepositoryGroup_SelectRepositoryDirectory;
- public static String RepositoryGroup_URLRequired;
- public static String RepositoryManipulatorDropTarget_DragAndDropJobLabel;
- public static String RepositoryManipulatorDropTarget_DragSourceNotValid;
-
- // Dialogs
- public static String AddRepositoryDialog_DuplicateURL;
- public static String AddRepositoryDialog_InvalidURL;
- public static String AddRepositoryDialog_Title;
- public static String AvailableIUElement_ProfileNotFound;
- public static String AvailableIUGroup_LoadingRepository;
- public static String AvailableIUGroup_RefreshOperationLabel;
- public static String AvailableIUGroup_ViewByToolTipText;
- public static String DeferredFetchFilteredTree_RetrievingList;
- public static String Label_Profiles;
- public static String Label_Repositories;
- public static String MetadataRepositoryElement_NotFound;
- public static String MetadataRepositoryElement_RepositoryLoadError;
- public static String UpdateAction_UpdatesAvailableMessage;
- public static String UpdateAction_UpdatesAvailableTitle;
- public static String PlanStatusHelper_IgnoringImpliedDowngrade;
- public static String PlanStatusHelper_ImpliedUpdate;
- public static String PlanStatusHelper_Items;
- public static String PlanStatusHelper_NothingToDo;
- public static String PlanStatusHelper_AlreadyInstalled;
- public static String PlanStatusHelper_RequestAltered;
- public static String PlanStatusHelper_UnexpectedError;
- public static String PlatformUpdateTitle;
- public static String PlatformRestartMessage;
- public static String ProvUI_ErrorDuringApplyConfig;
- public static String ProvUI_InformationTitle;
- public static String ProvUI_NameColumnTitle;
- public static String ProvUI_SizeColumnTitle;
- public static String ProvUI_VersionColumnTitle;
- public static String ProvUI_WarningTitle;
- public static String ProvUIActivator_ExceptionDuringProfileChange;
- public static String ProvUILicenseManager_ParsingError;
- public static String OptionalPlatformRestartMessage;
- public static String QueryableArtifactRepositoryManager_RepositoryQueryProgress;
- public static String QueryableMetadataRepositoryManager_MultipleRepositoriesNotFound;
- public static String QueryableMetadataRepositoryManager_RepositoryQueryProgress;
- public static String QueryableProfileRegistry_QueryProfileProgress;
- public static String QueryableUpdates_UpdateListProgress;
- public static String SizingPhaseSet_PhaseSetName;
- public static String RepositoryPropertyPage_UsernameField;
- public static String RepositoryPropertyPage_PasswordField;
- public static String RepositoryPropertyPage_SavePasswordField;
- public static String RevertDialog_ConfigContentsLabel;
- public static String RevertDialog_ConfigsLabel;
- public static String RevertDialog_ConfirmRestartMessage;
- public static String RevertDialog_Description;
- public static String RevertDialog_PageTitle;
- public static String RevertDialog_RevertError;
- public static String RevertDialog_RevertOperationLabel;
- public static String RevertDialog_Title;
- public static String RevertProfileWizardPage_ErrorRetrievingHistory;
- public static String RollbackProfileElement_InvalidSnapshot;
-
- public static String TrustCertificateDialog_Details;
- public static String TrustCertificateDialog_Title;
- // Operations
- public static String URLValidator_UnrecognizedURL;
- public static String UpdateManagerCompatibility_ExportSitesTitle;
- public static String UpdateManagerCompatibility_ImportSitesTitle;
- public static String UpdateManagerCompatibility_InvalidSiteFileMessage;
- public static String UpdateManagerCompatibility_InvalidSitesTitle;
- public static String UpdateManagerCompatibility_UnableToOpenFindAndInstall;
- public static String UpdateManagerCompatibility_UnableToOpenManageConfiguration;
- public static String UpdateOperation_NothingToUpdate;
- public static String ServiceUI_Cancel;
- public static String ServiceUI_LoginDetails;
- public static String ServiceUI_LoginRequired;
- public static String ServiceUI_OK;
- public static String UpdateOrInstallWizardPage_Size;
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/AcceptLicensesWizardPage.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/AcceptLicensesWizardPage.java
deleted file mode 100644
index 80eebc0..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/AcceptLicensesWizardPage.java
+++ /dev/null
@@ -1,294 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.dialogs;
-
-import java.util.*;
-import java.util.List;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.p2.ui.viewers.IUDetailsLabelProvider;
-import org.eclipse.equinox.internal.p2.ui.viewers.StaticContentProvider;
-import org.eclipse.equinox.internal.provisional.p2.director.ProvisioningPlan;
-import org.eclipse.equinox.internal.provisional.p2.engine.InstallableUnitOperand;
-import org.eclipse.equinox.internal.provisional.p2.engine.Operand;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.License;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUI;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.LicenseManager;
-import org.eclipse.equinox.internal.provisional.p2.ui.query.IUPropertyUtils;
-import org.eclipse.equinox.internal.provisional.p2.ui.viewers.IUColumnConfig;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.SashForm;
-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.*;
-
-/**
- * @since 3.4
- */
-public class AcceptLicensesWizardPage extends WizardPage {
-
- TableViewer iuViewer;
- Text licenseTextBox;
- Button acceptButton;
- Button declineButton;
- private IInstallableUnit[] originalIUs;
- private IInstallableUnit[] iusWithUnacceptedLicenses;
- private LicenseManager licenseManager;
- private static final int DEFAULT_COLUMN_WIDTH = 40;
-
- public AcceptLicensesWizardPage(IInstallableUnit[] ius, LicenseManager licenseManager, ProvisioningPlan plan) {
- super("AcceptLicenses"); //$NON-NLS-1$
- setTitle(ProvUIMessages.AcceptLicensesWizardPage_Title);
- this.licenseManager = licenseManager;
- update(ius, plan);
- }
-
- public void createControl(Composite parent) {
- initializeDialogUnits(parent);
- if (iusWithUnacceptedLicenses.length == 0) {
- Label label = new Label(parent, SWT.NONE);
- setControl(label);
- } else if (iusWithUnacceptedLicenses.length == 1) {
- createLicenseSection(parent, true);
- } else {
- SashForm composite = new SashForm(parent, SWT.HORIZONTAL);
- composite.setLayout(new GridLayout());
- composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
- createIUSection(composite);
- createLicenseSection(composite, false);
- setControl(composite);
-
- Object element = iuViewer.getElementAt(0);
- if (element != null)
- iuViewer.setSelection(new StructuredSelection(element));
- }
- Dialog.applyDialogFont(getControl());
- }
-
- private void createIUSection(Composite parent) {
- Composite composite = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout();
- layout.marginWidth = 0;
- layout.marginHeight = 0;
- composite.setLayout(layout);
- GridData gd = new GridData(GridData.FILL_BOTH);
- composite.setLayoutData(gd);
-
- Label label = new Label(composite, SWT.NONE);
- label.setText(ProvUIMessages.AcceptLicensesWizardPage_ItemsLabel);
- iuViewer = new TableViewer(composite, SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
- setTableColumns(iuViewer.getTable());
- iuViewer.setContentProvider(new StaticContentProvider(iusWithUnacceptedLicenses));
- iuViewer.setLabelProvider(new IUDetailsLabelProvider());
- iuViewer.setComparator(new ViewerComparator());
- iuViewer.setInput(iusWithUnacceptedLicenses);
-
- iuViewer.addSelectionChangedListener(new ISelectionChangedListener() {
- public void selectionChanged(SelectionChangedEvent event) {
- handleSelectionChanged((IStructuredSelection) event.getSelection());
- }
-
- });
- gd = new GridData(GridData.FILL_BOTH);
- iuViewer.getControl().setLayoutData(gd);
- }
-
- private void createLicenseAcceptSection(Composite parent, boolean multiple) {
- // Buttons for accepting licenses
- Composite buttonContainer = new Composite(parent, SWT.NULL);
- GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
- buttonContainer.setLayout(new GridLayout());
- buttonContainer.setLayoutData(gd);
-
- acceptButton = new Button(buttonContainer, SWT.RADIO);
- if (multiple)
- acceptButton.setText(ProvUIMessages.AcceptLicensesWizardPage_AcceptMultiple);
- else
- acceptButton.setText(ProvUIMessages.AcceptLicensesWizardPage_AcceptSingle);
-
- acceptButton.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- setPageComplete(acceptButton.getSelection());
- }
- });
- declineButton = new Button(buttonContainer, SWT.RADIO);
- if (multiple)
- declineButton.setText(ProvUIMessages.AcceptLicensesWizardPage_RejectMultiple);
- else
- declineButton.setText(ProvUIMessages.AcceptLicensesWizardPage_RejectSingle);
- declineButton.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- setPageComplete(acceptButton.getSelection());
- }
- });
-
- acceptButton.setSelection(false);
- declineButton.setSelection(true);
- }
-
- private void createLicenseSection(Composite parent, boolean singleLicense) {
- Composite composite = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout();
- layout.marginWidth = 0;
- layout.marginHeight = 0;
- composite.setLayout(layout);
- GridData gd = new GridData(GridData.FILL_BOTH);
- composite.setLayoutData(gd);
-
- Label label = new Label(composite, SWT.NONE);
- label.setText(ProvUIMessages.AcceptLicensesWizardPage_LicenseTextLabel);
- licenseTextBox = new Text(composite, SWT.MULTI | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.WRAP | SWT.READ_ONLY);
- licenseTextBox.setBackground(licenseTextBox.getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
- initializeDialogUnits(licenseTextBox);
- gd = new GridData(SWT.FILL, SWT.FILL, true, true);
- gd.widthHint = convertWidthInCharsToPixels(80);
- gd.heightHint = convertHeightInCharsToPixels(20);
-
- licenseTextBox.setLayoutData(gd);
-
- createLicenseAcceptSection(composite, !singleLicense);
-
- if (singleLicense) {
- licenseTextBox.setText(getLicenseBody(iusWithUnacceptedLicenses[0]));
- setControl(composite);
- }
- }
-
- void handleSelectionChanged(IStructuredSelection selection) {
- if (!selection.isEmpty()) {
- Object selected = selection.getFirstElement();
- if (selected instanceof IInstallableUnit)
- licenseTextBox.setText(getLicenseBody((IInstallableUnit) selected));
- }
- }
-
- private void setTableColumns(Table table) {
- table.setHeaderVisible(true);
- IUColumnConfig[] columns = ProvUI.getIUColumnConfig();
- initializeDialogUnits(table);
- for (int i = 0; i < columns.length; i++) {
- TableColumn tc = new TableColumn(table, SWT.NONE, i);
- tc.setResizable(true);
- tc.setText(columns[i].columnTitle);
- tc.setWidth(convertWidthInCharsToPixels(DEFAULT_COLUMN_WIDTH));
- }
- }
-
- public boolean performFinish() {
- rememberAcceptedLicenses();
- return true;
- }
-
- public boolean hasLicensesToAccept() {
- return iusWithUnacceptedLicenses.length > 0;
- }
-
- public void update(IInstallableUnit[] theIUs, ProvisioningPlan currentPlan) {
- this.originalIUs = theIUs;
- this.iusWithUnacceptedLicenses = iusWithUnacceptedLicenses(theIUs, currentPlan);
- setDescription();
- setPageComplete(iusWithUnacceptedLicenses.length == 0);
- if (getControl() != null) {
- Composite parent = getControl().getParent();
- getControl().dispose();
- createControl(parent);
- parent.layout(true, true);
- }
- }
-
- private String getLicenseBody(IInstallableUnit iu) {
- License license = IUPropertyUtils.getLicense(iu);
- if (license != null && license.getBody() != null)
- return license.getBody();
- // shouldn't happen because we already reduced the list to those
- // that have licenses and bodies are required.
- return ""; //$NON-NLS-1$
- }
-
- private IInstallableUnit[] iusWithUnacceptedLicenses(IInstallableUnit[] selectedIUs, ProvisioningPlan currentPlan) {
- IInstallableUnit[] iusToCheck;
- if (currentPlan == null)
- iusToCheck = selectedIUs;
- else {
- List allIUs = new ArrayList();
- Operand[] operands = currentPlan.getOperands();
- for (int i = 0; i < operands.length; i++)
- if (operands[i] instanceof InstallableUnitOperand) {
- IInstallableUnit addedIU = ((InstallableUnitOperand) operands[i]).second();
- if (addedIU != null)
- allIUs.add(addedIU);
- }
- iusToCheck = (IInstallableUnit[]) allIUs.toArray(new IInstallableUnit[allIUs.size()]);
- }
-
- // See https://bugs.eclipse.org/bugs/show_bug.cgi?id=218532
- // Current metadata generation can result with a feature group IU and the feature jar IU
- // having the same name and license. We will weed out duplicates if the license and name are both
- // the same.
- // Note this algorithm is not generalized...we only save the first iu of any name found and this
- // algorithm would allow duplicates if subsequent licenses found for an iu name did not match the
- // first license yet still duplicated each other. Since this is not likely to happen we keep it
- // simple. The UI for licenses will soon be reworked.
- HashMap licensesByIUName = new HashMap();//map of String(iu name)->License
- List unaccepted = new ArrayList();
- // We can't be sure that the viewer is created or the right label provider has been installed, so make another one.
- IUDetailsLabelProvider labelProvider = new IUDetailsLabelProvider();
- for (int i = 0; i < iusToCheck.length; i++) {
- IInstallableUnit iu = iusToCheck[i];
- String name = labelProvider.getText(iu);
- License license = IUPropertyUtils.getLicense(iu);
- // It has a license, is it already accepted?
- if (license != null) {
- if (licenseManager == null || !licenseManager.isAccepted(iu)) {
- // Have we already found a license with this IU name?
- License potentialDuplicate = (License) licensesByIUName.get(name);
- // If we have no duplicate or the duplicate license doesn't match, add it
- if (potentialDuplicate == null || !potentialDuplicate.equals(license))
- unaccepted.add(iu);
- // We didn't have a duplicate, need to record this one
- if (potentialDuplicate == null)
- licensesByIUName.put(name, license);
- }
- }
- }
- // Wasn't that fun?
- return (IInstallableUnit[]) unaccepted.toArray(new IInstallableUnit[unaccepted.size()]);
- }
-
- private void rememberAcceptedLicenses() {
- for (int i = 0; i < iusWithUnacceptedLicenses.length; i++) {
- if (licenseManager != null)
- licenseManager.accept(iusWithUnacceptedLicenses[i]);
- }
- }
-
- private void setDescription() {
- // No licenses but the page is open. Shouldn't happen, but just in case...
- if (iusWithUnacceptedLicenses.length == 0)
- setDescription(ProvUIMessages.AcceptLicensesWizardPage_NoLicensesDescription);
- // We have licenses. Use a generic message if we think we aren't showing
- // licenses from required IU's. This check is not entirely accurate, for example
- // one root IU could have no license and the next one has two different
- // IU's with different licenses. But this cheaply catches the common cases.
- else if (iusWithUnacceptedLicenses.length <= originalIUs.length)
- setDescription(ProvUIMessages.AcceptLicensesWizardPage_ReviewLicensesDescription);
- else {
- // Without a doubt we know we are showing extra licenses.
- setDescription(ProvUIMessages.AcceptLicensesWizardPage_ReviewExtraLicensesDescription);
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/ApplyProfileChangesDialog.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/ApplyProfileChangesDialog.java
deleted file mode 100644
index 9e8eb84..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/ApplyProfileChangesDialog.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.dialogs;
-
-import org.eclipse.core.runtime.IProduct;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.window.Window;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * A dialog which prompts the user to restart.
- *
- * @since 3.4
- */
-public class ApplyProfileChangesDialog extends MessageDialog {
- public static final int PROFILE_IGNORE = 0;
- public static final int PROFILE_APPLYCHANGES = 1;
- public static final int PROFILE_RESTART = 2;
- private final static String[] yesNo = new String[] {IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL};
- private final static String[] yesNoApply = new String[] {IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL, ProvUIMessages.ApplyProfileChangesDialog_ApplyChanges};
-
- private int returnCode = PROFILE_IGNORE;
-
- private ApplyProfileChangesDialog(Shell parent, String title, String message, boolean mustRestart) {
- super(parent, title, null, // accept the default window icon
- message, QUESTION, mustRestart ? yesNo : yesNoApply, 0); // yes is the default
- }
-
- /**
- * Prompt the user for restart or apply profile changes.
- *
- * @param parent the parent shell of the dialog, or <code>null</code> if none
- * @param mustRestart indicates whether the user must restart to get the
- * changes. If <code>false</code>, then the user may choose to apply
- * the changes to the running profile rather than restarting.
- * @return one of PROFILE_IGNORE (do nothing), PROFILE_APPLYCHANGES
- * (attempt to apply the changes), or PROFILE_RESTART (restart the system).
- */
- public static int promptForRestart(Shell parent, boolean mustRestart) {
- String title = ProvUIMessages.PlatformUpdateTitle;
- IProduct product = Platform.getProduct();
- String productName = product != null && product.getName() != null ? product.getName() : ProvUIMessages.ApplicationInRestartDialog;
- String message = NLS.bind(mustRestart ? ProvUIMessages.PlatformRestartMessage : ProvUIMessages.OptionalPlatformRestartMessage, productName);
- ApplyProfileChangesDialog dialog = new ApplyProfileChangesDialog(parent, title, message, mustRestart);
- if (dialog.open() == Window.CANCEL)
- return PROFILE_IGNORE;
- return dialog.returnCode;
- }
-
- /**
- * When a button is pressed, store the return code.
- *
- * @see org.eclipse.jface.dialogs.Dialog#buttonPressed(int)
- */
- protected void buttonPressed(int id) {
- if (id == 0) { // YES
- returnCode = PROFILE_RESTART;
- } else if (id == 1) { // NO
- returnCode = PROFILE_IGNORE;
- } else {
- returnCode = PROFILE_APPLYCHANGES;
- }
-
- super.buttonPressed(id);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/ContainerCheckedTreeViewer.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/ContainerCheckedTreeViewer.java
deleted file mode 100644
index e85569b..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/ContainerCheckedTreeViewer.java
+++ /dev/null
@@ -1,306 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.dialogs;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import org.eclipse.equinox.internal.provisional.p2.ui.query.QueriedElement;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * Copy of ContainerCheckedTreeViewer which is specialized for use
- * with DeferredFetchFilteredTree. Originally copied from
- * org.eclipse.ui.dialogs and altered to achieve the following:
- *
- * (1)checking a parent will expand it when we know it's a long
- * running operation that involves a placeholder.
-* The modified method is doCheckStateChanged().
-*
- * (2)when preserving selection, we do not want the check state
- * to be rippled through the child and parent nodes.
- * Since we know that preservingSelection(Runnable) isn't working
- * properly, no need to do a bunch of work here.
- * The added methods is preservingSelection(Runnable).
- * Modified methods are updateChildrenItems(TreeItem parent) and
- * updateParentItems(TreeItem parent).
- *
- * (3)we correct the problem with preservingSelection(Runnable) by
- * remembering the check state and restoring it after a refresh. We
- * fire a check state event so clients monitoring the selection will know
- * what's going on. Added methods are internalRefresh(Object, boolean),
- * saveCheckedState(), restoreCheckedState(), and
- * fireCheckStateChanged(Object, boolean). That last method is public
- * so that DeferredFetchFilteredTree can do the same thing when it
- * remembers selections.
- *
- * This class does not correct the general problem reported in
- * https://bugs.eclipse.org/bugs/show_bug.cgi?id=170521
- * That is handled by preserving selections additively in
- * DeferredFetchFilteredTree. This class simply provides the API
- * needed by that class and manages the parent state according to the
- * children.
- */
-public class ContainerCheckedTreeViewer extends CheckboxTreeViewer {
-
- private boolean rippleCheckMarks = true;
- private ArrayList savedCheckState;
-
- /**
- * Constructor for ContainerCheckedTreeViewer.
- * @see CheckboxTreeViewer#CheckboxTreeViewer(Composite)
- */
- public ContainerCheckedTreeViewer(Composite parent) {
- super(parent);
- initViewer();
- }
-
- /**
- * Constructor for ContainerCheckedTreeViewer.
- * @see CheckboxTreeViewer#CheckboxTreeViewer(Composite,int)
- */
- public ContainerCheckedTreeViewer(Composite parent, int style) {
- super(parent, style);
- initViewer();
- }
-
- /**
- * Constructor for ContainerCheckedTreeViewer.
- * @see CheckboxTreeViewer#CheckboxTreeViewer(Tree)
- */
- public ContainerCheckedTreeViewer(Tree tree) {
- super(tree);
- initViewer();
- }
-
- private void initViewer() {
- setUseHashlookup(true);
- addCheckStateListener(new ICheckStateListener() {
- public void checkStateChanged(CheckStateChangedEvent event) {
- doCheckStateChanged(event.getElement());
- }
- });
- addTreeListener(new ITreeViewerListener() {
- public void treeCollapsed(TreeExpansionEvent event) {
- }
-
- public void treeExpanded(TreeExpansionEvent event) {
- Widget item = findItem(event.getElement());
- if (item instanceof TreeItem) {
- initializeItem((TreeItem) item);
- }
- }
- });
- }
-
- /**
- * Update element after a checkstate change.
- * @param element
- */
- protected void doCheckStateChanged(Object element) {
- Widget item = findItem(element);
- if (item instanceof TreeItem) {
- TreeItem treeItem = (TreeItem) item;
- treeItem.setGrayed(false);
- // BEGIN MODIFICATION OF COPIED CLASS
- if (element instanceof QueriedElement && treeItem.getChecked()) {
- if (!((QueriedElement) element).hasQueryable()) {
- // We have checked an element that will take some time
- // to get its children. Use this opportunity to auto-expand
- // the tree so that the check mark is not misleading. Don't
- // update the check state because it will just be a pending
- // placeholder.
- expandToLevel(element, 1);
- return;
- }
- }
- // END MODIFICATION OF COPIED CLASS
- updateChildrenItems(treeItem);
- updateParentItems(treeItem.getParentItem());
- }
- }
-
- /**
- * The item has expanded. Updates the checked state of its children.
- */
- private void initializeItem(TreeItem item) {
- if (item.getChecked() && !item.getGrayed()) {
- updateChildrenItems(item);
- }
- }
-
- /**
- * Updates the check state of all created children
- */
- // MODIFIED to ignore parent state when in the middle of a
- // selection preserving refresh.
- private void updateChildrenItems(TreeItem parent) {
- // We are in the middle of preserving selections, don't
- // update any children according to parent
- if (!rippleCheckMarks)
- return;
- Item[] children = getChildren(parent);
- boolean state = parent.getChecked();
- for (int i = 0; i < children.length; i++) {
- TreeItem curr = (TreeItem) children[i];
- if (curr.getData() != null && ((curr.getChecked() != state) || curr.getGrayed())) {
- curr.setChecked(state);
- curr.setGrayed(false);
- updateChildrenItems(curr);
- }
- }
- }
-
- /**
- * Updates the check / gray state of all parent items
- */
- private void updateParentItems(TreeItem item) {
- // We are in the middle of preserving selections, don't
- // update any parents according to children
- if (!rippleCheckMarks)
- return;
- if (item != null) {
- Item[] children = getChildren(item);
- boolean containsChecked = false;
- boolean containsUnchecked = false;
- for (int i = 0; i < children.length; i++) {
- TreeItem curr = (TreeItem) children[i];
- containsChecked |= curr.getChecked();
- containsUnchecked |= (!curr.getChecked() || curr.getGrayed());
- }
- item.setChecked(containsChecked);
- item.setGrayed(containsChecked && containsUnchecked);
- updateParentItems(item.getParentItem());
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.ICheckable#setChecked(java.lang.Object, boolean)
- */
- public boolean setChecked(Object element, boolean state) {
- if (super.setChecked(element, state)) {
- doCheckStateChanged(element);
- return true;
- }
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.CheckboxTreeViewer#setCheckedElements(java.lang.Object[])
- */
- public void setCheckedElements(Object[] elements) {
- super.setCheckedElements(elements);
- for (int i = 0; i < elements.length; i++) {
- doCheckStateChanged(elements[i]);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.AbstractTreeViewer#setExpanded(org.eclipse.swt.widgets.Item, boolean)
- */
- protected void setExpanded(Item item, boolean expand) {
- super.setExpanded(item, expand);
- if (expand && item instanceof TreeItem) {
- initializeItem((TreeItem) item);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.CheckboxTreeViewer#getCheckedElements()
- */
- public Object[] getCheckedElements() {
- Object[] checked = super.getCheckedElements();
- // add all items that are children of a checked node but not created yet
- ArrayList result = new ArrayList();
- for (int i = 0; i < checked.length; i++) {
- Object curr = checked[i];
- result.add(curr);
- Widget item = findItem(curr);
- if (item != null) {
- Item[] children = getChildren(item);
- // check if contains the dummy node
- if (children.length == 1 && children[0].getData() == null) {
- // not yet created
- collectChildren(curr, result);
- }
- }
- }
- return result.toArray();
- }
-
- /**
- * Recursively add the filtered children of element to the result.
- * @param element
- * @param result
- */
- private void collectChildren(Object element, ArrayList result) {
- Object[] filteredChildren = getFilteredChildren(element);
- for (int i = 0; i < filteredChildren.length; i++) {
- Object curr = filteredChildren[i];
- result.add(curr);
- collectChildren(curr, result);
- }
- }
-
- // The super implementation doesn't really work because the
- // non-expanded items are not holding their real elements yet.
- // Yet the code that records the checked state uses the
- // elements to remember what checkmarks should be restored.
- // The result is that non-expanded elements are not up to date
- // and if anything in there should have been checked, it
- // won't be. The best we can do is at least turn off all the
- // rippling checks that happen during this method since we are going
- // to reset all the checkmarks anyway.
- protected void preservingSelection(Runnable updateCode) {
- rippleCheckMarks = false;
- super.preservingSelection(updateCode);
- rippleCheckMarks = true;
- }
-
- protected void internalRefresh(Object element, boolean updateLabels) {
- saveCheckedState();
- super.internalRefresh(element, updateLabels);
- restoreCheckedState();
- }
-
- // We only remember the leaves. This is specific to our
- // use case, not necessarily a good idea for fixing the general
- // problem.
- private void saveCheckedState() {
- Object[] checked = getCheckedElements();
- savedCheckState = new ArrayList(checked.length);
- for (int i = 0; i < checked.length; i++)
- if (!isExpandable(checked[i]) && !getGrayed(checked[i]))
- savedCheckState.add(checked[i]);
- }
-
- // Now we restore checked state.
- private void restoreCheckedState() {
- setCheckedElements(new Object[0]);
- setGrayedElements(new Object[0]);
- Object element = null;
- // We are assuming that once a leaf, always a leaf.
- Iterator iter = savedCheckState.iterator();
- while (iter.hasNext()) {
- element = iter.next();
- setChecked(element, true);
- }
- // Listeners need to know something changed.
- if (element != null)
- fireCheckStateChanged(element, true);
- }
-
- // This method is public so that the DeferredFetchFilteredTree can also
- // call it.
- public void fireCheckStateChanged(Object element, boolean state) {
- fireCheckStateChanged(new CheckStateChangedEvent(this, element, state));
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/DeferredFetchFilteredTree.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/DeferredFetchFilteredTree.java
deleted file mode 100644
index 0d2ed3f..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/DeferredFetchFilteredTree.java
+++ /dev/null
@@ -1,489 +0,0 @@
-package org.eclipse.equinox.internal.p2.ui.dialogs;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.*;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvisioningOperationRunner;
-import org.eclipse.equinox.internal.provisional.p2.ui.dialogs.IViewMenuProvider;
-import org.eclipse.equinox.internal.provisional.p2.ui.query.QueriedElement;
-import org.eclipse.equinox.internal.provisional.p2.ui.query.QueryableMetadataRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.ui.viewers.DeferredQueryContentListener;
-import org.eclipse.equinox.internal.provisional.p2.ui.viewers.DeferredQueryContentProvider;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.dialogs.ControlEnableState;
-import org.eclipse.jface.dialogs.PopupDialog;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.dialogs.FilteredTree;
-import org.eclipse.ui.dialogs.PatternFilter;
-import org.eclipse.ui.progress.WorkbenchJob;
-
-/**
- * FilteredTree extension that creates a check box tree,
- * provides a hook for menu creation, and forces synchronous
- * fetching of the tree when the first
- * filtering is performed.
- *
- * @since 3.4
- *
- */
-public class DeferredFetchFilteredTree extends FilteredTree {
- private static final String WAIT_STRING = ProvUIMessages.DeferredFetchFilteredTree_RetrievingList;
-
- ToolBar toolBar;
- MenuManager menuManager;
- ToolItem viewMenuButton;
- Display display;
- PatternFilter patternFilter;
- IViewMenuProvider viewMenuProvider;
- DeferredQueryContentProvider contentProvider;
- boolean useCheckBoxTree = false;
- InputSchedulingRule filterRule;
- String savedFilterText;
- Job loadJob;
- WorkbenchJob filterJob;
- ControlEnableState enableState;
- Object viewerInput;
- ArrayList checkState = new ArrayList();
-
- class InputSchedulingRule implements ISchedulingRule {
- Object input;
-
- InputSchedulingRule(Object input) {
- this.input = input;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.core.runtime.jobs.ISchedulingRule#contains(org.eclipse.core.runtime.jobs.ISchedulingRule)
- */
- public boolean contains(ISchedulingRule rule) {
- return rule == this;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.core.runtime.jobs.ISchedulingRule#isConflicting(org.eclipse.core.runtime.jobs.ISchedulingRule)
- */
- public boolean isConflicting(ISchedulingRule rule) {
- if (rule instanceof InputSchedulingRule) {
- InputSchedulingRule other = (InputSchedulingRule) rule;
- if (input == null)
- return other.getInput() == null;
- return input.equals(other.getInput());
- }
- return false;
- }
-
- Object getInput() {
- return input;
- }
- }
-
- public DeferredFetchFilteredTree(Composite parent, int treeStyle, PatternFilter filter, final IViewMenuProvider viewMenuProvider, Display display, boolean useCheckBoxViewer) {
- super(parent);
- this.display = display;
- this.viewMenuProvider = viewMenuProvider;
- this.patternFilter = filter;
- this.useCheckBoxTree = useCheckBoxViewer;
- init(treeStyle, filter);
- }
-
- /*
- * Overridden to see if filter controls were created.
- * If they were not created, we need to create the view menu
- * independently.
- * (non-Javadoc)
- * @see org.eclipse.ui.dialogs.FilteredTree#createControl(org.eclipse.swt.widgets.Composite, int)
- */
- protected void createControl(Composite composite, int treeStyle) {
- super.createControl(composite, treeStyle);
- if (!showFilterControls && viewMenuProvider != null) {
- createViewMenu(composite);
- }
- }
-
- protected TreeViewer doCreateTreeViewer(Composite composite, int style) {
- if (useCheckBoxTree) {
- final ContainerCheckedTreeViewer v = new ContainerCheckedTreeViewer(composite, style);
- v.addCheckStateListener(new ICheckStateListener() {
- public void checkStateChanged(CheckStateChangedEvent event) {
- // We use an additive check state cache so we need to remove
- // previously checked items if the user unchecked them.
- if (!event.getChecked() && checkState != null) {
- Iterator iter = checkState.iterator();
- ArrayList toRemove = new ArrayList(1);
- while (iter.hasNext()) {
- Object element = iter.next();
- if (v.getComparer().equals(element, event.getElement())) {
- toRemove.add(element);
- // Do not break out of the loop. We may have duplicate equal
- // elements in the cache. Since the cache is additive, we want
- // to be sure we've gotten everything.
- }
- }
- checkState.removeAll(toRemove);
- }
-
- }
- });
- return v;
- }
- return super.doCreateTreeViewer(composite, style);
- }
-
- protected Composite createFilterControls(Composite filterParent) {
- super.createFilterControls(filterParent);
- Object layout = filterParent.getLayout();
- if (layout instanceof GridLayout) {
- ((GridLayout) layout).numColumns++;
- }
- if (viewMenuProvider != null)
- createViewMenu(filterParent);
- filterParent.addDisposeListener(new DisposeListener() {
- public void widgetDisposed(DisposeEvent e) {
- cancelLoadJob();
- }
- });
- return filterParent;
- }
-
- private void createViewMenu(Composite filterParent) {
- toolBar = new ToolBar(filterParent, SWT.FLAT);
- viewMenuButton = new ToolItem(toolBar, SWT.PUSH, 0);
-
- viewMenuButton.setImage(JFaceResources.getImage(PopupDialog.POPUP_IMG_MENU));
- viewMenuButton.setToolTipText(ProvUIMessages.AvailableIUGroup_ViewByToolTipText);
- viewMenuButton.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- showViewMenu();
- }
- });
-
- // See https://bugs.eclipse.org/bugs/show_bug.cgi?id=177183
- toolBar.addMouseListener(new MouseAdapter() {
- public void mouseDown(MouseEvent e) {
- showViewMenu();
- }
- });
-
- }
-
- void showViewMenu() {
- if (menuManager == null) {
- menuManager = new MenuManager();
- viewMenuProvider.fillViewMenu(menuManager);
- }
- Menu menu = menuManager.createContextMenu(getShell());
- Rectangle bounds = toolBar.getBounds();
- Point topLeft = new Point(bounds.x, bounds.y + bounds.height);
- topLeft = toolBar.getParent().toDisplay(topLeft);
- menu.setLocation(topLeft.x, topLeft.y);
- menu.setVisible(true);
- }
-
- public void contentProviderSet(final DeferredQueryContentProvider deferredProvider) {
- this.contentProvider = deferredProvider;
- deferredProvider.addListener(new DeferredQueryContentListener() {
- public void inputChanged(Viewer v, Object oldInput, Object newInput) {
- if (newInput == null)
- return;
- // Store the input because it's not reset in the viewer until
- // after this listener is run.
- viewerInput = newInput;
-
- // Reset the state for remembering check marks
- checkState = new ArrayList();
- // Cancel the load and filter jobs and null out the scheduling rule
- // so that a new one will be created on the new input when needed.
- filterRule = null;
- cancelLoadJob();
- cancelAndResetFilterJob();
- contentProvider.setSynchronous(false);
-
- if (showFilterControls && filterText != null && !filterText.isDisposed()) {
- // We cancelled the load and if it was in progress the filter
- // would have been disabled.
- restoreAfterLoading(getInitialText());
- }
- }
-
- });
- }
-
- /*
- * Overridden to hook a listener on the job and set the deferred content provider
- * to synchronous mode before a filter is done.
- * @see org.eclipse.ui.dialogs.FilteredTree#doCreateRefreshJob()
- */
- protected WorkbenchJob doCreateRefreshJob() {
- // See bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=229735
- // Ideally we would not have to copy the filtering job, but this
- // gives us the most precise control over how and when to preserve
- // the check mark state. We have modified the superclass job so
- // that everything is expanded rather than recursively expanding
- // the tree and checking for the stop time. This simplifies the
- // restoration of the correct checkmarks.
- filterJob = new WorkbenchJob("Refresh Filter") {//$NON-NLS-1$
- public IStatus runInUIThread(IProgressMonitor monitor) {
- if (treeViewer.getControl().isDisposed()) {
- return Status.CANCEL_STATUS;
- }
-
- String text = getFilterString();
- if (text == null) {
- return Status.OK_STATUS;
- }
-
- if (monitor.isCanceled())
- return Status.CANCEL_STATUS;
- boolean initial = initialText != null && initialText.equals(text);
- if (initial) {
- patternFilter.setPattern(null);
- } else if (text != null) {
- patternFilter.setPattern(text);
- }
-
- Control redrawFalseControl = treeComposite != null ? treeComposite : treeViewer.getControl();
- try {
- // don't want the user to see updates that will be made to
- // the tree
- // we are setting redraw(false) on the composite to avoid
- // dancing scrollbar
- redrawFalseControl.setRedraw(false);
- treeViewer.getTree().setCursor(display.getSystemCursor(SWT.CURSOR_WAIT));
- rememberLeafCheckState();
- treeViewer.refresh(true);
- // The superclass did a recursive expand so it could be more responsive to subsequent
- // typing. We are expanding all so that we know everything is realized when we go to
- // restore the check state afterward.
- treeViewer.expandAll();
- if (text.length() > 0 && !initial) {
- // enabled toolbar - there is text to clear
- // and the list is currently being filtered
- updateToolbar(true);
- } else {
- // disabled toolbar - there is no text to clear
- // and the list is currently not filtered
- updateToolbar(false);
- }
- } finally {
- // done updating the tree - set redraw back to true
- TreeItem[] items = getViewer().getTree().getItems();
- if (items.length > 0 && getViewer().getTree().getSelectionCount() == 0) {
- treeViewer.getTree().setTopItem(items[0]);
- }
- restoreLeafCheckState();
- redrawFalseControl.setRedraw(true);
- treeViewer.getTree().setCursor(null);
- }
- return Status.OK_STATUS;
- }
- };
-
- filterJob.addJobChangeListener(new JobChangeAdapter() {
- public void aboutToRun(final IJobChangeEvent event) {
- final boolean[] shouldLoad = new boolean[1];
- shouldLoad[0] = false;
- display.syncExec(new Runnable() {
- public void run() {
- if (filterText != null && !filterText.isDisposed()) {
- String text = getFilterString();
- // If we are about to filter and there is
- // actually filtering to do, force a load
- // of the input and set the content
- // provider to synchronous mode. We want the
- // load job to complete before continuing with filtering.
- if (text == null || (initialText != null && initialText.equals(text)))
- return;
- if (!contentProvider.getSynchronous() && loadJob == null) {
- if (filterText != null && !filterText.isDisposed()) {
- disableWhileLoading();
- shouldLoad[0] = true;
- }
- }
- }
- }
- });
- if (shouldLoad[0]) {
- event.getJob().sleep();
- scheduleLoadJob();
- }
-
- }
-
- public void done(IJobChangeEvent event) {
- // To be safe, we always reset the scheduling
- // rule because the input may have changed since the last run.
- event.getJob().setRule(getFilterJobSchedulingRule());
- }
- });
- filterJob.setRule(getFilterJobSchedulingRule());
- return filterJob;
- }
-
- void disableWhileLoading() {
- // We already disabled.
- if (enableState != null)
- return;
- // TODO Knowledge of our client's parent structure is cheating
- // but for now our only usage is in one particular widget tree and
- // we want to disable at the right place.
- if (parent != null && !parent.isDisposed()) {
- enableState = ControlEnableState.disable(parent.getParent());
- }
- if (filterText != null && !filterText.isDisposed()) {
- filterText.setCursor(display.getSystemCursor(SWT.CURSOR_WAIT));
- getViewer().getTree().setCursor(display.getSystemCursor(SWT.CURSOR_WAIT));
- savedFilterText = filterText.getText();
- filterText.setText(WAIT_STRING);
- }
-
- }
-
- void restoreAfterLoading(String filterTextToRestore) {
- // If the filter text was previously disabled, reset the text to
- // the previous filter text.
- if (filterText != null && !filterText.isDisposed() && !filterText.isEnabled()) {
- filterText.setText(filterTextToRestore);
- filterText.setCursor(null);
- getViewer().getTree().setCursor(null);
- filterText.setSelection(filterTextToRestore.length(), filterTextToRestore.length());
- }
- // Now enable all of the controls
- if (enableState != null && parent != null && !parent.isDisposed()) {
- enableState.restore();
- enableState = null;
- }
- // Now set the focus back to the filter text
- if (filterText != null && !filterText.isDisposed())
- filterText.setFocus();
- }
-
- InputSchedulingRule getFilterJobSchedulingRule() {
- if (filterRule == null) {
- filterRule = new InputSchedulingRule(viewerInput);
- }
- return filterRule;
- }
-
- void scheduleLoadJob() {
- if (loadJob != null)
- return;
- loadJob = new Job(WAIT_STRING) {
- protected IStatus run(IProgressMonitor monitor) {
- if (this.getRule() instanceof InputSchedulingRule) {
- Object input = ((InputSchedulingRule) this.getRule()).getInput();
- if (input instanceof QueriedElement)
- if (((QueriedElement) input).getQueryable() instanceof QueryableMetadataRepositoryManager) {
- QueryableMetadataRepositoryManager q = (QueryableMetadataRepositoryManager) ((QueriedElement) input).getQueryable();
- q.loadAll(monitor);
- if (monitor.isCanceled())
- return Status.CANCEL_STATUS;
- }
- }
- return Status.OK_STATUS;
- }
- };
- loadJob.addJobChangeListener(new JobChangeAdapter() {
- public void done(IJobChangeEvent event) {
- if (event.getResult().isOK()) {
- contentProvider.setSynchronous(true);
- display.asyncExec(new Runnable() {
- public void run() {
- // We have just loaded all content. Trigger a viewer expand.
- // This really only need be done before filtering, but it can
- // be slow the very first time, so we may as well do it while
- // the user is already waiting rather than after they expect
- // things to be responsive.
- if (getViewer() != null && !getViewer().getTree().isDisposed()) {
- getViewer().expandAll();
- }
- restoreAfterLoading(savedFilterText);
- }
- });
- if (filterJob != null)
- filterJob.wakeUp();
- }
- loadJob = null;
- }
- });
- loadJob.setSystem(true);
- loadJob.setUser(false);
- loadJob.setRule(getFilterJobSchedulingRule());
- // Telling the operation runner about it ensures that listeners know we are running
- // a provisioning-related job.
- ProvisioningOperationRunner.manageJob(loadJob);
- loadJob.schedule();
- }
-
- void cancelLoadJob() {
- if (loadJob != null) {
- loadJob.cancel();
- loadJob = null;
- }
- }
-
- void cancelAndResetFilterJob() {
- if (filterJob != null) {
- filterJob.cancel();
- // callers have likely reset the filtering rule.
- // We can't reset it here because we don't know that
- // the job actually stopped, so we do it in the
- // done() handler.
- }
- }
-
- protected void textChanged() {
- // Don't refilter if we are merely resetting the filter back
- // to what it was before loading repositories
- if (filterText.getText().trim().equals(WAIT_STRING))
- return;
- super.textChanged();
- }
-
- void rememberLeafCheckState() {
- if (!useCheckBoxTree)
- return;
- ContainerCheckedTreeViewer v = (ContainerCheckedTreeViewer) getViewer();
- Object[] checked = v.getCheckedElements();
- if (checkState == null)
- checkState = new ArrayList(checked.length);
- for (int i = 0; i < checked.length; i++)
- if (!v.getGrayed(checked[i]))
- checkState.add(checked[i]);
- }
-
- void restoreLeafCheckState() {
- if (!useCheckBoxTree)
- return;
- ContainerCheckedTreeViewer v = (ContainerCheckedTreeViewer) getViewer();
- if (v == null || v.getTree().isDisposed())
- return;
- if (checkState == null)
- return;
-
- v.setCheckedElements(new Object[0]);
- v.setGrayedElements(new Object[0]);
- // Now we are only going to set the check state of the leaf nodes
- // and rely on our container checked code to update the parents properly.
- Iterator iter = checkState.iterator();
- Object element = null;
- while (iter.hasNext()) {
- element = iter.next();
- if (!v.isExpandable(element)) {
- // setChecked does an internal expand
- v.setChecked(element, true);
- }
- }
- // We are only firing one event, knowing that this is enough for our listeners.
- if (element != null)
- v.fireCheckStateChanged(element, true);
- }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/IUPropertyPage.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/IUPropertyPage.java
deleted file mode 100644
index 4c1a33c..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/IUPropertyPage.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.dialogs;
-
-import java.net.URL;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUI;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.FontMetrics;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.browser.IWebBrowser;
-import org.eclipse.ui.browser.IWorkbenchBrowserSupport;
-import org.eclipse.ui.dialogs.PropertyPage;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-/**
- * PropertyPage that shows an IU's properties
- *
- * @since 3.4
- */
-public abstract class IUPropertyPage extends PropertyPage {
-
- protected Control createContents(Composite parent) {
- noDefaultAndApplyButton();
- IInstallableUnit iu = (IInstallableUnit) ProvUI.getAdapter(getElement(), IInstallableUnit.class);
- Control control;
- if (iu == null) {
- Label label = new Label(parent, SWT.DEFAULT);
- label.setText(ProvUIMessages.IUPropertyPage_NoIUSelected);
- control = label;
- }
- control = createIUPage(parent, iu);
- Dialog.applyDialogFont(parent);
- return control;
- }
-
- protected int computeWidthLimit(Control control, int nchars) {
- GC gc = new GC(control);
- gc.setFont(control.getFont());
- FontMetrics fontMetrics = gc.getFontMetrics();
- gc.dispose();
- return Dialog.convertWidthInCharsToPixels(fontMetrics, nchars);
- }
-
- protected int computeHeightLimit(Control control, int nchars) {
- GC gc = new GC(control);
- gc.setFont(control.getFont());
- FontMetrics fontMetrics = gc.getFontMetrics();
- gc.dispose();
- return Dialog.convertHeightInCharsToPixels(fontMetrics, nchars);
- }
-
- protected abstract Control createIUPage(Composite parent, IInstallableUnit iu);
-
- protected void showURL(URL url) {
- IWorkbenchBrowserSupport support = PlatformUI.getWorkbench().getBrowserSupport();
- try {
- IWebBrowser browser = support.getExternalBrowser();
- browser.openURL(url);
- } catch (PartInitException e) {
- ProvUI.handleException(e, ProvUIMessages.IUGeneralInfoPropertyPage_CouldNotOpenBrowser, StatusManager.LOG | StatusManager.BLOCK);
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/InstallWizardPage.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/InstallWizardPage.java
deleted file mode 100644
index a405e51..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/InstallWizardPage.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.dialogs;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.director.ProvisioningPlan;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.ui.actions.InstallAction;
-
-public class InstallWizardPage extends UpdateOrInstallWizardPage {
-
- public InstallWizardPage(IInstallableUnit[] ius, String profileId, ProvisioningPlan plan, UpdateOrInstallWizard wizard) {
- super("InstallWizardPage", ius, profileId, plan, wizard); //$NON-NLS-1$
- setTitle(ProvUIMessages.InstallIUOperationLabel);
- setDescription(ProvUIMessages.InstallDialog_InstallSelectionMessage);
- }
-
- protected String getOperationLabel() {
- return ProvUIMessages.InstallIUOperationLabel;
- }
-
- protected ProvisioningPlan computeProvisioningPlan(Object[] selectedElements, IProgressMonitor monitor) throws ProvisionException {
- IInstallableUnit[] selected = elementsToIUs(selectedElements);
- ProvisioningPlan plan = InstallAction.computeProvisioningPlan(selected, getProfileId(), monitor);
- computeSizing(plan, getProfileId());
- return plan;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/ProfileModificationWizardPage.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/ProfileModificationWizardPage.java
deleted file mode 100644
index dfabab1..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/ProfileModificationWizardPage.java
+++ /dev/null
@@ -1,345 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.dialogs;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.ui.*;
-import org.eclipse.equinox.internal.p2.ui.model.AvailableIUElement;
-import org.eclipse.equinox.internal.p2.ui.viewers.IUDetailsLabelProvider;
-import org.eclipse.equinox.internal.p2.ui.viewers.StaticContentProvider;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.director.ProvisioningPlan;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningContext;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.ui.*;
-import org.eclipse.equinox.internal.provisional.p2.ui.operations.ProfileModificationOperation;
-import org.eclipse.equinox.internal.provisional.p2.ui.query.IUPropertyUtils;
-import org.eclipse.equinox.internal.provisional.p2.ui.viewers.*;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-public abstract class ProfileModificationWizardPage extends WizardPage {
- private static final int DEFAULT_HEIGHT = 15;
- private static final int DEFAULT_WIDTH = 120;
- private static final int DEFAULT_DESCRIPTION_HEIGHT = 4;
- private static final int DEFAULT_COLUMN_WIDTH = 60;
- private static final int DEFAULT_SMALL_COLUMN_WIDTH = 20;
- private static final String NESTING_INDENT = " "; //$NON-NLS-1$
- private static final IStatus NULL_PLAN_STATUS = new Status(IStatus.ERROR, ProvUIActivator.PLUGIN_ID, 0, ProvUIMessages.ProfileModificationWizardPage_UnexpectedError, null);
- private IInstallableUnit[] ius;
- ProvisioningPlan currentPlan;
- IStatus currentStatus;
- private String profileId;
- CheckboxTableViewer listViewer;
- Text detailsArea;
- StaticContentProvider contentProvider;
- protected Display display;
-
- protected ProfileModificationWizardPage(String id, IInstallableUnit[] ius, String profileID, ProvisioningPlan initialPlan) {
- super(id);
- this.ius = ius;
- this.profileId = profileID;
- this.currentPlan = initialPlan;
- }
-
- public void createControl(Composite parent) {
- display = parent.getDisplay();
- SashForm sashForm = new SashForm(parent, SWT.VERTICAL);
- FillLayout layout = new FillLayout();
- sashForm.setLayout(layout);
- GridData data = new GridData(GridData.FILL_BOTH);
- sashForm.setLayoutData(data);
- initializeDialogUnits(sashForm);
-
- Composite composite = new Composite(sashForm, SWT.NONE);
- GridLayout gridLayout = new GridLayout();
- gridLayout.marginWidth = 0;
- gridLayout.marginHeight = 0;
- composite.setLayout(gridLayout);
-
- // The viewer allows selection of IU's for browsing the details,
- // and checking to include in the provisioning operation.
- listViewer = CheckboxTableViewer.newCheckList(composite, SWT.BORDER | SWT.FULL_SELECTION);
- data = new GridData(GridData.FILL_BOTH);
- data.heightHint = convertHeightInCharsToPixels(DEFAULT_HEIGHT);
- data.widthHint = convertWidthInCharsToPixels(DEFAULT_WIDTH);
- Table table = listViewer.getTable();
- table.setLayoutData(data);
- table.setHeaderVisible(true);
- IUColumnConfig[] columns = getColumnConfig();
- for (int i = 0; i < columns.length; i++) {
- TableColumn tc = new TableColumn(table, SWT.LEFT, i);
- tc.setResizable(true);
- tc.setText(columns[i].columnTitle);
- if (columns[i].columnField == IUColumnConfig.COLUMN_SIZE) {
- tc.setAlignment(SWT.RIGHT);
- tc.setWidth(convertWidthInCharsToPixels(DEFAULT_SMALL_COLUMN_WIDTH));
- } else
- tc.setWidth(convertWidthInCharsToPixels(DEFAULT_COLUMN_WIDTH));
- }
- final List list = new ArrayList(ius.length);
- makeElements(getIUs(), list);
-
- listViewer.addCheckStateListener(new ICheckStateListener() {
- public void checkStateChanged(CheckStateChangedEvent event) {
- checkedIUsChanged();
- }
- });
-
- listViewer.addSelectionChangedListener(new ISelectionChangedListener() {
- public void selectionChanged(SelectionChangedEvent event) {
- updateStatus();
- }
- });
-
- // Filters and sorters before establishing content, so we don't refresh unnecessarily.
- listViewer.setComparator(new IUComparator(IUComparator.IU_NAME));
- listViewer.setComparer(new ProvElementComparer());
-
- contentProvider = new StaticContentProvider(list.toArray());
- listViewer.setContentProvider(contentProvider);
- listViewer.setInput(new Object());
- listViewer.setLabelProvider(new IUDetailsLabelProvider(null, getColumnConfig(), getShell()));
- setInitialCheckState();
- // If the initial provisioning plan was already calculated,
- // no need to repeat it until the user changes selections
- if (currentPlan == null)
- checkedIUsChanged();
- else
- currentStatus = PlanStatusHelper.computeStatus(currentPlan, ius);
-
- // Optional area to show the size
- createSizingInfo(composite);
-
- // The text area shows a description of the selected IU, or error detail if applicable.
- Group group = new Group(sashForm, SWT.NONE);
- group.setText(ProvUIMessages.ProfileModificationWizardPage_DetailsLabel);
- group.setLayout(new GridLayout());
-
- createDetailsArea(group);
-
- updateStatus();
- setControl(sashForm);
- sashForm.setWeights(new int[] {80, 20});
- Dialog.applyDialogFont(sashForm);
- }
-
- protected void createSizingInfo(Composite parent) {
- // Default is to do nothing
- }
-
- protected void createDetailsArea(Composite parent) {
- detailsArea = new Text(parent, SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL | SWT.READ_ONLY | SWT.WRAP);
- GridData data = new GridData(SWT.FILL, SWT.FILL, true, true);
- data.heightHint = convertHeightInCharsToPixels(DEFAULT_DESCRIPTION_HEIGHT);
- data.widthHint = convertWidthInCharsToPixels(DEFAULT_WIDTH);
- detailsArea.setLayoutData(data);
- }
-
- protected void makeElements(IInstallableUnit[] iusToShow, List list) {
- for (int i = 0; i < iusToShow.length; i++) {
- list.add(new AvailableIUElement(iusToShow[i], getProfileId()));
- }
- }
-
- public boolean performFinish() {
- if (currentStatus != null && currentStatus.getSeverity() != IStatus.ERROR) {
- ProfileModificationOperation op = createProfileModificationOperation(currentPlan);
- ProvisioningOperationRunner.schedule(op, getShell(), StatusManager.SHOW | StatusManager.LOG);
- return true;
- }
- return false;
- }
-
- protected Object[] getCheckedElements() {
- return listViewer.getCheckedElements();
- }
-
- protected Object[] getSelectedElements() {
- return ((IStructuredSelection) listViewer.getSelection()).toArray();
- }
-
- protected IInstallableUnit[] elementsToIUs(Object[] elements) {
- IInstallableUnit[] theIUs = new IInstallableUnit[elements.length];
- for (int i = 0; i < elements.length; i++) {
- theIUs[i] = (IInstallableUnit) ProvUI.getAdapter(elements[i], IInstallableUnit.class);
- }
- return theIUs;
- }
-
- protected IInstallableUnit getSelectedIU() {
- IInstallableUnit[] units = elementsToIUs(getSelectedElements());
- if (units.length == 0)
- return null;
- return units[0];
- }
-
- protected String getProfileId() {
- return profileId;
- }
-
- protected IInstallableUnit[] getIUs() {
- return ius;
- }
-
- protected IUColumnConfig[] getColumnConfig() {
- return ProvUI.getIUColumnConfig();
- }
-
- protected void checkedIUsChanged() {
- try {
- final Object[] selections = getCheckedElements();
- if (selections.length == 0) {
- currentPlan = null;
- currentStatus = new Status(IStatus.ERROR, ProvUIActivator.PLUGIN_ID, IStatusCodes.EXPECTED_NOTHING_TO_DO, ProvUIMessages.ProfileModificationWizardPage_NothingSelected, null);
- } else
- getContainer().run(true, true, new IRunnableWithProgress() {
- public void run(IProgressMonitor monitor) {
- try {
- currentPlan = computeProvisioningPlan(selections, monitor);
- if (currentPlan != null)
- currentStatus = PlanStatusHelper.computeStatus(currentPlan, elementsToIUs(selections));
- else
- currentStatus = NULL_PLAN_STATUS;
- } catch (ProvisionException e) {
- currentPlan = null;
- currentStatus = ProvUI.handleException(e.getCause(), ProvUIMessages.ProfileModificationWizardPage_UnexpectedError, StatusManager.LOG);
- }
- }
- });
- } catch (InterruptedException e) {
- // Nothing to report if thread was interrupted
- } catch (InvocationTargetException e) {
- currentPlan = null;
- currentStatus = ProvUI.handleException(e.getCause(), ProvUIMessages.ProfileModificationWizardPage_UnexpectedError, StatusManager.LOG);
- }
- updateStatus();
- }
-
- private ProfileModificationOperation createProfileModificationOperation(ProvisioningPlan plan) {
- return new ProfileModificationOperation(getOperationLabel(), profileId, plan);
- }
-
- protected abstract ProvisioningPlan computeProvisioningPlan(Object[] checkedElements, IProgressMonitor monitor) throws ProvisionException;
-
- protected void setInitialCheckState() {
- // The default is to check everything because
- // in most cases, the user has selected exactly
- // what they want before this page opens.
- listViewer.setAllChecked(true);
- }
-
- // We currently create an empty provisioning context, but
- // in the future we could consider letting clients supply this.
- protected ProvisioningContext getProvisioningContext() {
- return new ProvisioningContext();
- }
-
- protected abstract String getOperationLabel();
-
- void updateStatus() {
- int messageType = IMessageProvider.NONE;
- boolean pageComplete = true;
- if (currentStatus != null && !currentStatus.isOK()) {
- messageType = IMessageProvider.INFORMATION;
- int severity = currentStatus.getSeverity();
- if (severity == IStatus.ERROR) {
- messageType = IMessageProvider.ERROR;
- pageComplete = false;
- // Log errors for later support, but not if these are
- // simple UI validation errors.
- if (currentStatus.getCode() != IStatusCodes.EXPECTED_NOTHING_TO_DO)
- ProvUI.reportStatus(currentStatus, StatusManager.LOG);
- } else if (severity == IStatus.WARNING) {
- messageType = IMessageProvider.WARNING;
- // Log warnings for later support
- ProvUI.reportStatus(currentStatus, StatusManager.LOG);
- }
- }
- setPageComplete(pageComplete);
- setMessage(getMessageText(), messageType);
- detailsArea.setText(getDetailText());
- }
-
- String getDetailText() {
- String detail = ""; //$NON-NLS-1$
- if (currentStatus == null || currentStatus.isOK()) {
- IInstallableUnit iu = getSelectedIU();
- if (iu != null)
- detail = getIUDescription(iu);
- } else {
- // current status is not OK. See if there are embedded exceptions or status to report
- StringBuffer buffer = new StringBuffer();
- appendDetailText(currentStatus, buffer, -1, false);
- detail = buffer.toString();
- }
- return detail;
- }
-
- void appendDetailText(IStatus status, StringBuffer buffer, int indent, boolean includeTopLevel) {
- for (int i = 0; i < indent; i++)
- buffer.append(NESTING_INDENT);
- if (includeTopLevel && status.getMessage() != null)
- buffer.append(status.getMessage());
- Throwable t = status.getException();
- if (t != null) {
- // A provision (or core) exception occurred. Get its status message or if none, its top level message.
- if (t instanceof CoreException) {
- IStatus exceptionStatus = ((CoreException) t).getStatus();
- if (exceptionStatus != null && exceptionStatus.getMessage() != null)
- buffer.append(exceptionStatus.getMessage());
- else {
- String details = t.getLocalizedMessage();
- if (details != null)
- buffer.append(details);
- }
- } else {
- String details = t.getLocalizedMessage();
- if (details != null)
- buffer.append(details);
- }
- } else {
- // This is the most important case. No exception occurred, we have a non-OK status after trying
- // to get a provisioning plan. It's important not to lose the multi status information. The top level status
- // message has already been reported
- IStatus[] children = status.getChildren();
- for (int i = 0; i < children.length; i++) {
- appendDetailText(children[i], buffer, indent + 1, true);
- buffer.append('\n');
- }
- }
- }
-
- String getMessageText() {
- if (currentStatus == null || currentStatus.isOK())
- return getDescription();
- return currentStatus.getMessage();
- }
-
- protected String getIUDescription(IInstallableUnit iu) {
- // Get the iu description in the default locale
- String description = IUPropertyUtils.getIUProperty(iu, IInstallableUnit.PROP_DESCRIPTION);
- if (description == null)
- description = ""; //$NON-NLS-1$
- return description;
- }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/RevertProfileWizardPage.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/RevertProfileWizardPage.java
deleted file mode 100644
index 4a026ce..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/RevertProfileWizardPage.java
+++ /dev/null
@@ -1,249 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.dialogs;
-
-import java.lang.reflect.InvocationTargetException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.p2.ui.viewers.IUDetailsLabelProvider;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.director.ProvisioningPlan;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUI;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvisioningOperationRunner;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.RollbackProfileElement;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.RollbackRepositoryElement;
-import org.eclipse.equinox.internal.provisional.p2.ui.operations.*;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.IQueryProvider;
-import org.eclipse.equinox.internal.provisional.p2.ui.viewers.*;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-/**
- * @since 3.4
- */
-public class RevertProfileWizardPage extends WizardPage {
-
- private TableViewer configsViewer;
- private TableViewer configContentsViewer;
- String profileId;
- IQueryProvider queryProvider;
- private static final int DEFAULT_COLUMN_WIDTH = 150;
-
- public RevertProfileWizardPage(String profileId, IQueryProvider queryProvider) {
- super("RevertConfiguration"); //$NON-NLS-1$
- setTitle(ProvUIMessages.RevertDialog_PageTitle);
- setDescription(ProvUIMessages.RevertDialog_Description);
- this.profileId = profileId;
- this.queryProvider = queryProvider;
-
- }
-
- public void createControl(Composite parent) {
- SashForm sashForm = new SashForm(parent, SWT.HORIZONTAL);
- sashForm.setLayout(new GridLayout());
- sashForm.setLayoutData(new GridData(GridData.FILL_BOTH));
- initializeDialogUnits(sashForm);
-
- createConfigurationsSection(sashForm);
- createContentsSection(sashForm);
- setControl(sashForm);
-
- // prime the selection
- Object element = configsViewer.getElementAt(0);
- if (element != null)
- configsViewer.setSelection(new StructuredSelection(element));
- Dialog.applyDialogFont(sashForm);
- }
-
- private void createConfigurationsSection(Composite parent) {
- Composite composite = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout();
- layout.marginWidth = 0;
- layout.marginHeight = 0;
- composite.setLayout(layout);
- GridData gd = new GridData(GridData.FILL_BOTH);
- composite.setLayoutData(gd);
-
- Label label = new Label(composite, SWT.NONE);
- label.setText(ProvUIMessages.RevertDialog_ConfigsLabel);
- configsViewer = new TableViewer(composite, SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
- configsViewer.setContentProvider(new RepositoryContentProvider(queryProvider));
- configsViewer.setLabelProvider(new ProvElementLabelProvider());
- configsViewer.setComparator(new ViewerComparator() {
- // We override the ViewerComparator so that we don't get the labels of the elements
- // for comparison, but rather get the version numbers and compare them.
- // Reverse sorting is used so that newest is first.
- public int compare(Viewer viewer, Object o1, Object o2) {
- IInstallableUnit iu1 = (IInstallableUnit) ProvUI.getAdapter(o1, IInstallableUnit.class);
- IInstallableUnit iu2 = (IInstallableUnit) ProvUI.getAdapter(o2, IInstallableUnit.class);
- if (iu1 == null || iu2 == null)
- // this is naive (doesn't consult the label provider), but shouldn't happen
- return o2.toString().compareTo(o1.toString());
- return iu2.getVersion().compareTo(iu1.getVersion());
- }
- });
- configsViewer.setInput(getInput());
-
- configsViewer.addSelectionChangedListener(new ISelectionChangedListener() {
- public void selectionChanged(SelectionChangedEvent event) {
- handleSelectionChanged((IStructuredSelection) event.getSelection());
- }
-
- });
- gd = new GridData(GridData.FILL_BOTH);
- configsViewer.getControl().setLayoutData(gd);
- }
-
- private void createContentsSection(Composite parent) {
- Composite composite = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout();
- layout.marginWidth = 0;
- layout.marginHeight = 0;
- composite.setLayout(layout);
- GridData gd = new GridData(GridData.FILL_BOTH);
- composite.setLayoutData(gd);
-
- Label label = new Label(composite, SWT.NONE);
- label.setText(ProvUIMessages.RevertDialog_ConfigContentsLabel);
- configContentsViewer = new TableViewer(composite, SWT.SINGLE | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
- configContentsViewer.setComparator(new IUComparator(IUComparator.IU_NAME));
- configContentsViewer.setComparer(new ProvElementComparer());
- configContentsViewer.setContentProvider(new DeferredQueryContentProvider(queryProvider));
-
- // columns before labels or you get a blank table
- setTableColumns(configContentsViewer.getTable());
- configContentsViewer.setLabelProvider(new IUDetailsLabelProvider());
-
- gd = new GridData(GridData.FILL_BOTH);
- configContentsViewer.getControl().setLayoutData(gd);
-
- }
-
- private Object getInput() {
- try {
- RollbackRepositoryElement element = new RollbackRepositoryElement(ProvisioningUtil.getRollbackRepositoryURL(), profileId);
- element.setQueryProvider(queryProvider);
- return element;
- } catch (ProvisionException e) {
- ProvUI.handleException(e, ProvUIMessages.RevertProfileWizardPage_ErrorRetrievingHistory, StatusManager.BLOCK | StatusManager.LOG);
- return null;
- }
- }
-
- void handleSelectionChanged(IStructuredSelection selection) {
- if (!selection.isEmpty()) {
- final Object selected = selection.getFirstElement();
- if (selected instanceof RollbackProfileElement) {
- final IProfile[] snapshot = new IProfile[1];
- BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() {
- public void run() {
- try {
- snapshot[0] = ((RollbackProfileElement) selected).getProfileSnapshot(null);
- } catch (ProvisionException e) {
- ProvUI.handleException(e, ProvUIMessages.RollbackProfileElement_InvalidSnapshot, StatusManager.LOG | StatusManager.SHOW);
- }
- }
- });
- if (snapshot[0] != null) {
- configContentsViewer.setInput(selected);
- setPageComplete(true);
- return;
- }
- }
- }
- configContentsViewer.setInput(null);
- setPageComplete(false);
- }
-
- private void setTableColumns(Table table) {
- IUColumnConfig[] columns = ProvUI.getIUColumnConfig();
-
- for (int i = 0; i < columns.length; i++) {
- TableColumn tc = new TableColumn(table, SWT.NONE, i);
- tc.setResizable(true);
- tc.setText(columns[i].columnTitle);
- tc.setWidth(convertHorizontalDLUsToPixels(DEFAULT_COLUMN_WIDTH));
- }
- }
-
- private IInstallableUnit getSelectedIU() {
- Object selected = ((IStructuredSelection) configsViewer.getSelection()).getFirstElement();
- if (selected != null && selected instanceof RollbackProfileElement)
- return ((RollbackProfileElement) selected).getIU();
- return null;
- }
-
- public boolean performFinish() {
- Shell shell = getContainer().getShell();
- boolean result = MessageDialog.openQuestion(shell, shell.getText(), ProvUIMessages.RevertDialog_ConfirmRestartMessage);
- if (!result)
- return false;
-
- boolean finish = revert();
- if (finish) {
- PlatformUI.getWorkbench().restart();
- }
- return finish;
- }
-
- private boolean revert() {
- final IInstallableUnit iu = getSelectedIU();
- if (iu == null)
- return false;
- final ProvisioningPlan[] plan = new ProvisioningPlan[1];
- IRunnableWithProgress runnable = new IRunnableWithProgress() {
- public void run(IProgressMonitor monitor) {
- try {
- plan[0] = ProvisioningUtil.getRevertPlan(iu, monitor);
- } catch (ProvisionException e) {
- plan[0] = null;
- ProvUI.handleException(e.getCause(), ProvUIMessages.ProfileModificationWizardPage_UnexpectedError, StatusManager.LOG);
- setMessage(ProvUIMessages.ProfileModificationWizardPage_UnexpectedError, IMessageProvider.ERROR);
- }
- }
- };
- try {
- getContainer().run(true, true, runnable);
- if (plan[0] != null) {
- if (plan[0].getStatus().isOK()) {
- ProvisioningOperation op = new ProfileModificationOperation(ProvUIMessages.RevertDialog_RevertOperationLabel, profileId, plan[0]);
- ProvisioningOperationRunner.run(op, getShell(), StatusManager.SHOW | StatusManager.LOG);
- return true;
- }
- // If user cancelled, do not report an error
- if (plan[0].getStatus().getSeverity() == IStatus.CANCEL)
- return false;
- ProvUI.reportStatus(plan[0].getStatus(), StatusManager.LOG);
- setMessage(ProvUIMessages.ProfileModificationWizardPage_UnexpectedError, IMessageProvider.ERROR);
- }
- } catch (InterruptedException e) {
- // don't report thread interruption
- } catch (InvocationTargetException e) {
- ProvUI.handleException(e.getCause(), ProvUIMessages.RevertDialog_RevertError, StatusManager.LOG);
- setMessage(ProvUIMessages.RevertDialog_RevertError, IMessageProvider.ERROR);
- }
- return false;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/StructuredIUGroup.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/StructuredIUGroup.java
deleted file mode 100644
index 6e19568..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/StructuredIUGroup.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.dialogs;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningContext;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUI;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.IQueryProvider;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-
-/**
- * A StructuredIUGroup is a reusable UI component that displays a
- * structured view of IU's driven by some queries.
- *
- * @since 3.4
- */
-public abstract class StructuredIUGroup {
-
- private IQueryProvider queryProvider;
- private ProvisioningContext context;
- private FontMetrics fm;
- protected StructuredViewer viewer;
- private Composite composite;
-
- /**
- * Create a group that represents the available IU's.
- *
- * @param parent the parent composite for the group
- * @param queryProvider the query provider that defines the queries used
- * to retrieve elements in the viewer.
- * @param font The font to use for calculating pixel sizes. This font is
- * not managed by the receiver.
- * @param context the ProvisioningContext describing the context for provisioning.
- */
- protected StructuredIUGroup(Composite parent, IQueryProvider queryProvider, Font font, ProvisioningContext context) {
- this.queryProvider = queryProvider;
- this.context = context;
- // Set up a fontmetrics for calculations
- GC gc = new GC(parent);
- gc.setFont(font);
- fm = gc.getFontMetrics();
- gc.dispose();
- }
-
- protected void createGroupComposite(Composite parent) {
- composite = new Composite(parent, SWT.NONE);
- GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
- composite.setLayoutData(gd);
- GridLayout layout = new GridLayout();
- layout.marginWidth = 0;
- layout.marginHeight = 0;
- composite.setLayout(layout);
-
- viewer = createViewer(composite);
-
- GridData data = new GridData(GridData.FILL_BOTH);
- data.grabExcessHorizontalSpace = true;
- data.grabExcessVerticalSpace = true;
- viewer.getControl().setLayoutData(data);
- }
-
- protected abstract StructuredViewer createViewer(Composite parent);
-
- protected Composite getComposite() {
- return composite;
- }
-
- protected Shell getShell() {
- return composite.getShell();
- }
-
- protected StructuredViewer getStructuredViewer() {
- return viewer;
- }
-
- protected IInstallableUnit[] getSelectedIUs() {
- List elements = ((IStructuredSelection) viewer.getSelection()).toList();
- List iusList = new ArrayList(elements.size());
-
- for (int i = 0; i < elements.size(); i++) {
- IInstallableUnit iu = getIU(elements.get(i));
- if (iu != null)
- iusList.add(iu);
- }
- return (IInstallableUnit[]) iusList.toArray(new IInstallableUnit[iusList.size()]);
- }
-
- protected IInstallableUnit getIU(Object element) {
- return (IInstallableUnit) ProvUI.getAdapter(element, IInstallableUnit.class);
- }
-
- protected ProvisioningContext getProvisioningContext() {
- return context;
- }
-
- protected int convertHorizontalDLUsToPixels(int dlus) {
- return Dialog.convertHorizontalDLUsToPixels(fm, dlus);
- }
-
- protected IQueryProvider getQueryProvider() {
- return queryProvider;
- }
-
- protected Control getDefaultFocusControl() {
- if (viewer != null)
- return viewer.getControl();
- return null;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/UninstallWizardPage.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/UninstallWizardPage.java
deleted file mode 100644
index 68acad3..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/UninstallWizardPage.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.dialogs;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.director.ProvisioningPlan;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningUtil;
-
-public class UninstallWizardPage extends ProfileModificationWizardPage {
-
- public UninstallWizardPage(IInstallableUnit[] ius, String profileId, ProvisioningPlan plan) {
- super("UninstallWizard", ius, profileId, plan); //$NON-NLS-1$
- setTitle(ProvUIMessages.UninstallIUOperationLabel);
- setDescription(ProvUIMessages.UninstallDialog_UninstallMessage);
- }
-
- protected ProvisioningPlan computeProvisioningPlan(Object[] selectedElements, IProgressMonitor monitor) throws ProvisionException {
- ProfileChangeRequest request = ProfileChangeRequest.createByProfileId(getProfileId());
- request.removeInstallableUnits(elementsToIUs(selectedElements));
- return ProvisioningUtil.getProvisioningPlan(request, getProvisioningContext(), monitor);
- }
-
- protected String getOperationLabel() {
- return ProvUIMessages.UninstallIUOperationLabel;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/UpdateOrInstallWizard.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/UpdateOrInstallWizard.java
deleted file mode 100644
index 45c4980..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/UpdateOrInstallWizard.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Genuitec, LLC - added license support
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.dialogs;
-
-import org.eclipse.equinox.internal.provisional.p2.director.ProvisioningPlan;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.LicenseManager;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.Wizard;
-
-/**
- * @since 3.4
- */
-public abstract class UpdateOrInstallWizard extends Wizard {
-
- UpdateOrInstallWizardPage mainPage;
- AcceptLicensesWizardPage licensePage;
- protected String profileId;
- protected IInstallableUnit[] ius;
- protected LicenseManager licenseManager;
-
- public UpdateOrInstallWizard(String profileId, IInstallableUnit[] ius, LicenseManager licenseManager) {
- super();
- setForcePreviousAndNextButtons(true);
- setNeedsProgressMonitor(true);
- this.profileId = profileId;
- this.ius = ius;
- this.licenseManager = licenseManager;
- }
-
- public void addPages() {
- addPage(mainPage = createMainPage());
- addPage(licensePage = createLicensesPage());
- }
-
- protected abstract AcceptLicensesWizardPage createLicensesPage();
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.wizard.Wizard#getNextPage(org.eclipse.jface.wizard.IWizardPage)
- */
- public IWizardPage getNextPage(IWizardPage page) {
- if (page == mainPage && licensePage.hasLicensesToAccept())
- return licensePage;
- return null;
- }
-
- public boolean performFinish() {
- licensePage.performFinish();
- return mainPage.performFinish();
- }
-
- public void planChanged(IInstallableUnit[] selectedIUs, ProvisioningPlan plan) {
- this.ius = selectedIUs;
- licensePage.update(selectedIUs, plan);
- }
-
- protected abstract UpdateOrInstallWizardPage createMainPage();
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/UpdateOrInstallWizardPage.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/UpdateOrInstallWizardPage.java
deleted file mode 100644
index 272a26f..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/UpdateOrInstallWizardPage.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.dialogs;
-
-import java.text.NumberFormat;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.*;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.director.ProvisioningPlan;
-import org.eclipse.equinox.internal.provisional.p2.engine.phases.Sizing;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.IUElement;
-import org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningUtil;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-
-public abstract class UpdateOrInstallWizardPage extends ProfileModificationWizardPage {
-
- protected UpdateOrInstallWizard wizard;
- // private static final int DEFAULT_COLUMN_WIDTH = 150;
- protected Label sizeInfo;
- protected Sizing sizing;
- private Job sizingJob;
-
- protected UpdateOrInstallWizardPage(String id, IInstallableUnit[] ius, String profileId, ProvisioningPlan plan, UpdateOrInstallWizard wizard) {
- super(id, ius, profileId, plan);
- computeSizing(plan, profileId);
- this.wizard = wizard;
- }
-
- // This method is removed to improve performance
- // See https://bugs.eclipse.org/bugs/show_bug.cgi?id=221087
- /*
- protected IUColumnConfig[] getColumnConfig() {
- initializeDialogUnits(getShell());
- int pixels = convertHorizontalDLUsToPixels(DEFAULT_COLUMN_WIDTH);
- return new IUColumnConfig[] {new IUColumnConfig(ProvUIMessages.ProvUI_NameColumnTitle, IUColumnConfig.COLUMN_NAME, pixels), new IUColumnConfig(ProvUIMessages.ProvUI_VersionColumnTitle, IUColumnConfig.COLUMN_VERSION, pixels), new IUColumnConfig(ProvUIMessages.ProvUI_SizeColumnTitle, IUColumnConfig.COLUMN_SIZE, pixels / 2)};
- }
- */
-
- protected void computeSizing(final ProvisioningPlan plan, final String profileId) {
- sizing = null;
- if (sizeInfo != null)
- if (!getShell().isDisposed()) {
- getShell().getDisplay().asyncExec(new Runnable() {
- public void run() {
- updateSizingInfo();
- }
-
- });
- }
- if (sizingJob != null)
- sizingJob.cancel();
- sizingJob = new Job("Computing size") {
- protected IStatus run(IProgressMonitor monitor) {
- try {
- sizing = ProvisioningUtil.getSizeInfo(plan, profileId, monitor);
- } catch (ProvisionException e) {
- return e.getStatus();
- }
- if (monitor.isCanceled())
- return Status.CANCEL_STATUS;
- if (display != null) {
- display.asyncExec(new Runnable() {
- public void run() {
- updateSizingInfo();
- }
- });
- }
- return Status.OK_STATUS;
- }
-
- };
- sizingJob.schedule();
- sizingJob.addJobChangeListener(new JobChangeAdapter() {
- public void done(IJobChangeEvent event) {
- sizingJob = null;
- }
- });
- }
-
- protected void createSizingInfo(Composite parent) {
- sizeInfo = new Label(parent, SWT.NONE);
- GridData data = new GridData(SWT.FILL, SWT.FILL, true, false);
- sizeInfo.setLayoutData(data);
- updateSizingInfo();
- }
-
- protected void checkedIUsChanged() {
- // First ensure that a new plan is computed.
- super.checkedIUsChanged();
- // Now update the license page accordingly. This requires the plan so
- // that licenses for required items can also be checked.
- wizard.planChanged(elementsToIUs(getCheckedElements()), currentPlan);
- // status of license page could change status of wizard next button
- getContainer().updateButtons();
-
- }
-
- protected void updateSizingInfo() {
- long size = IUElement.SIZE_UNAVAILABLE;
- if (sizing != null) {
- size = sizing.getDiskSize();
- if (size == 0)
- size = IUElement.SIZE_UNAVAILABLE;
- }
- if (sizeInfo != null && !sizeInfo.isDisposed())
- sizeInfo.setText(NLS.bind(ProvUIMessages.UpdateOrInstallWizardPage_Size, getFormattedSize(size)));
- }
-
- protected String getFormattedSize(long size) {
- if (size == IUElement.SIZE_UNKNOWN || size == IUElement.SIZE_UNAVAILABLE)
- return ProvUIMessages.IUDetailsLabelProvider_Unknown;
- if (size > 1000L) {
- long kb = size / 1000L;
- return NLS.bind(ProvUIMessages.IUDetailsLabelProvider_KB, NumberFormat.getInstance().format(new Long(kb)));
- }
- return NLS.bind(ProvUIMessages.IUDetailsLabelProvider_Bytes, NumberFormat.getInstance().format(new Long(size)));
- }
-
- public void dispose() {
- if (sizingJob != null) {
- sizingJob.cancel();
- sizingJob = null;
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/UpdateWizardPage.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/UpdateWizardPage.java
deleted file mode 100644
index c37baa8..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/UpdateWizardPage.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.dialogs;
-
-import java.util.*;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.p2.ui.model.AvailableUpdateElement;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.director.ProvisioningPlan;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IUpdateDescriptor;
-import org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningUtil;
-
-public class UpdateWizardPage extends UpdateOrInstallWizardPage {
- AvailableUpdateElement[] updateElements;
- IInstallableUnit[] suggestedReplacements;
- Object[] initialSelections = new Object[0];
-
- public static IInstallableUnit[] getIUsToReplace(Object[] replacementElements) {
- Set iusToReplace = new HashSet();
- for (int i = 0; i < replacementElements.length; i++) {
- if (replacementElements[i] instanceof AvailableUpdateElement) {
- iusToReplace.add(((AvailableUpdateElement) replacementElements[i]).getIUToBeUpdated());
- }
- }
- return (IInstallableUnit[]) iusToReplace.toArray(new IInstallableUnit[iusToReplace.size()]);
- }
-
- public static IInstallableUnit[] getReplacementIUs(Object[] replacementElements) {
- Set replacements = new HashSet();
- for (int i = 0; i < replacementElements.length; i++) {
- if (replacementElements[i] instanceof AvailableUpdateElement) {
- replacements.add(((AvailableUpdateElement) replacementElements[i]).getIU());
- }
- }
- return (IInstallableUnit[]) replacements.toArray(new IInstallableUnit[replacements.size()]);
- }
-
- public UpdateWizardPage(IInstallableUnit[] iusToReplace, AvailableUpdateElement[] elements, Object[] initialSelections, String profileId, ProvisioningPlan plan, UpdateOrInstallWizard wizard) {
- super("UpdateWizardPage", iusToReplace, profileId, plan, wizard); //$NON-NLS-1$
- this.updateElements = elements;
- this.initialSelections = initialSelections;
- setTitle(ProvUIMessages.UpdateAction_UpdatesAvailableTitle);
- setDescription(ProvUIMessages.UpdateAction_UpdatesAvailableMessage);
- }
-
- protected void makeElements(IInstallableUnit[] ius, List elements) {
- // ignore the originally selected ius, we want to use the
- // update elements computed by the creator of the wizard,
- // which contains both the elements to be replaced, and the
- // replacements
- for (int i = 0; i < updateElements.length; i++)
- elements.add(updateElements[i]);
- }
-
- protected String getOperationLabel() {
- return ProvUIMessages.UpdateIUOperationLabel;
- }
-
- protected ProvisioningPlan computeProvisioningPlan(Object[] selectedElements, IProgressMonitor monitor) throws ProvisionException {
- ProfileChangeRequest request = ProfileChangeRequest.createByProfileId(getProfileId());
- request.removeInstallableUnits(getIUsToReplace(selectedElements));
- request.addInstallableUnits(getReplacementIUs(selectedElements));
- ProvisioningPlan plan = ProvisioningUtil.getProvisioningPlan(request, getProvisioningContext(), monitor);
- computeSizing(plan, getProfileId());
- return plan;
- }
-
- protected void setInitialCheckState() {
- listViewer.setCheckedElements(initialSelections);
- }
-
- protected String getIUDescription(IInstallableUnit iu) {
- if (iu != null) {
- IUpdateDescriptor updateDescriptor = iu.getUpdateDescriptor();
- if (updateDescriptor != null && updateDescriptor.getDescription() != null && updateDescriptor.getDescription().length() > 0)
- return updateDescriptor.getDescription();
- }
- return super.getIUDescription(iu);
- }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/messages.properties b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/messages.properties
deleted file mode 100644
index 4323325..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/messages.properties
+++ /dev/null
@@ -1,171 +0,0 @@
-###############################################################################
-# Copyright (c) 2007, 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-ProfileElement_InvalidProfile=Invalid profile ID {0}
-ProfileModificationAction_UnexpectedError=Unexpected error encountered while preparing for the operation.
-ProfileModificationWizardPage_DetailsLabel=Details
-ProfileModificationWizardPage_NothingSelected=You must check some items in order to continue.
-ProfileModificationWizardPage_UnexpectedError=An unexpected error occurred. This wizard is no longer valid with the current selections.
-ProvisioningUtil_NoRepositoryManager=No repository manager was found
-ProvisioningUtil_LoadRepositoryFailure=Unable to load the repository {0}
-ProvisioningUtil_NoProfileRegistryFound=No profile registry was found
-ProvisioningUtil_NoPlannerFound=No provisioning planner was found
-ProvisioningUtil_NoDirectorFound=No provisioning director was found
-ProvisioningUtil_NoEngineFound=No provisioning engine was found
-ProvisioningUtil_RepositoryNotFound={0} could not be found.
-
-ProvisioningOperation_ExecuteErrorTitle=Error while executing the "{0}" operation
-ProvisioningOperation_RedoErrorTitle=Error while redoing the "{0}" operation
-ProvisioningOperation_UndoErrorTitle=Error while undoing the "{0}" operation
-ProvisioningOperationRunner_ErrorExecutingOperation=Unexpected error while trying to run {0}
-InstallIUOperationLabel=Install
-InstallIUCommandLabel=&Install...
-InstallIUCommandTooltip=Install the selected items
-InstallIUProgress=Installing...
-UninstallDialog_UninstallMessage=Review and confirm that the checked items will be uninstalled.
-UninstallIUOperationLabel=Uninstall
-UninstallIUCommandLabel=&Uninstall...
-UninstallIUCommandTooltip=Uninstall the selected items
-UninstallIUProgress=Uninstalling...
-ServiceUI_Cancel=Cancel
-ServiceUI_LoginDetails=Please provide login details for {0}
-ServiceUI_LoginRequired=Login required
-ServiceUI_OK=OK
-UpdateIUOperationLabel=Update
-UpdateIUCommandLabel=Up&date...
-UpdateIUCommandTooltip=See if updates are available for the selected items
-UpdateIUProgress=Updating...
-RefreshAction_Label=Re&fresh
-RefreshAction_Tooltip=Refresh
-RevertIUOperationLabel=Revert
-RevertIUCommandLabel=&Revert...
-RevertIUCommandTooltip=Revert to a previously installed configuration
-RevertIUProgress=Reverting...
-ProvDropAdapter_NoIUsToDrop=No items were available to be dropped
-ProvDropAdapter_InvalidDropTarget=Invalid drop target
-ProvDropAdapter_UnsupportedDropOperation=Unsupported drop operation
-
-IUCopyrightPropertyPage_NoCopyright=No copyright information has been provided.
-IUCopyrightPropertyPage_ViewLinkLabel=View full copyright:
-IUPropertyPage_NoIUSelected=There was nothing selected to show in the properties.
-IUDetailsLabelProvider_KB={0} KB
-IUDetailsLabelProvider_Bytes={0} Bytes
-IUDetailsLabelProvider_ComputingSize=Computing size...
-IUDetailsLabelProvider_Unknown=Unknown
-IUGeneralInfoPropertyPage_ContactLabel=Contact:
-IUGeneralInfoPropertyPage_CouldNotOpenBrowser=Could not open the web browser.
-IUGeneralInfoPropertyPage_DescriptionLabel=Description
-IUGeneralInfoPropertyPage_DocumentationLink=Documentation is available:
-IUGeneralInfoPropertyPage_IdentifierLabel=Identifier:
-IUGeneralInfoPropertyPage_NameLabel=Name:
-IUGeneralInfoPropertyPage_ProviderLabel=Provider:
-IUGeneralInfoPropertyPage_VersionLabel=Version:
-IULicensePropertyPage_NoLicense=No license information has been provided.
-IULicensePropertyPage_ViewLicenseLabel=View full license:
-
-RepositoryPropertyPage_DescriptionFieldLabel=Description:
-RepositoryPropertyPage_NoRepoSelected=There was no repository selected
-RepositoryPropertyPage_NameFieldLabel=Name:
-RepositoryPropertyPage_URLFieldLabel=Location:
-
-RepositoryGroup_LocalRepoBrowseButton=&Local...
-RepositoryGroup_ArchivedRepoBrowseButton=&Archive...
-RepositoryGroup_SelectRepositoryDirectory=Select a repository root directory:
-RepositoryGroup_RepositoryFile=Repository archive
-RepositoryGroup_URLRequired=Must specify a URL
-RepositoryManipulatorDropTarget_DragAndDropJobLabel=Drag and Drop Operation
-RepositoryManipulatorDropTarget_DragSourceNotValid={0} was not accepted as a valid software site location. Check the details.
-
-AcceptLicensesWizardPage_AcceptMultiple=I &accept the terms of the license agreements
-AcceptLicensesWizardPage_AcceptSingle=I &accept the terms of the license agreement
-AcceptLicensesWizardPage_ItemsLabel=&Items with licenses:
-AcceptLicensesWizardPage_LicenseTextLabel=&License text:
-AcceptLicensesWizardPage_NoLicensesDescription=There are no licenses to review. Either the software does not specify a license, or the license has already been reviewed and approved.
-AcceptLicensesWizardPage_RejectMultiple=I &do not accept the terms of the license agreements
-AcceptLicensesWizardPage_RejectSingle=I &do not accept the terms of the license agreement
-AcceptLicensesWizardPage_ReviewExtraLicensesDescription=Licenses must be reviewed before the software can be installed. This includes licenses for software required to complete the install.
-AcceptLicensesWizardPage_ReviewLicensesDescription=Licenses must be reviewed and accepted before the software can be installed.
-AcceptLicensesWizardPage_Title=Review Licenses
-AddRepositoryDialog_Title=Add Repository
-AddRepositoryDialog_DuplicateURL=Duplicate URL
-AddRepositoryDialog_InvalidURL=The provided URL is not valid
-
-UpdateAction_UpdatesAvailableMessage=Review and confirm that the checked updates will be installed.
-UpdateAction_UpdatesAvailableTitle=Available Updates
-UpdateOperation_NothingToUpdate=There is nothing to update.
-UpdateOrInstallWizardPage_Size=Size: {0}
-URLValidator_UnrecognizedURL=The URL {0} is not recognized.
-UpdateManagerCompatibility_ExportSitesTitle=Export Sites
-UpdateManagerCompatibility_ImportSitesTitle=Import Sites
-UpdateManagerCompatibility_InvalidSiteFileMessage=The selected file does not contain any updates sites. Please select another file.
-UpdateManagerCompatibility_InvalidSitesTitle=Invalid Sites File
-UpdateManagerCompatibility_UnableToOpenFindAndInstall=Unable to open the Classic Update Manager 'Find and Install' wizard.
-UpdateManagerCompatibility_UnableToOpenManageConfiguration=Unable to open the Classic Update Manager 'Manage Configuration' dialog.
-CategoryElementCollector_Uncategorized=Uncategorized
-InstallDialog_InstallSelectionMessage=Review and confirm that the checked items will be installed.
-
-PlanStatusHelper_IgnoringImpliedDowngrade={0} will be ignored because a newer version is already installed.
-PlanStatusHelper_ImpliedUpdate={0} is already installed, so an update will be performed instead.
-PlanStatusHelper_Items=Items
-PlanStatusHelper_NothingToDo=Cannot complete the request. See the details.
-PlanStatusHelper_AlreadyInstalled={0} will be ignored because it is already installed.
-PlanStatusHelper_RequestAltered=Your original request has been modified.
-PlanStatusHelper_UnexpectedError=Unexpected error code {0} encountered for {1}.
-PlatformUpdateTitle = Software Updates
-PlatformRestartMessage = You will need to restart {0} for the changes to take effect. \
-Would you like to restart now?
-ApplicationInRestartDialog = the application
-ProvUI_ErrorDuringApplyConfig=Error while attempting to apply changes. You must restart the application for changes to take effect.
-ProvUI_InformationTitle=Information
-ProvUI_NameColumnTitle=Name
-ProvUI_SizeColumnTitle=Size
-ProvUI_VersionColumnTitle=Version
-ProvUI_WarningTitle=Warning
-ProvUIActivator_ExceptionDuringProfileChange=Exception while handling profile change event.
-ProvUILicenseManager_ParsingError=Error parsing the accepted license registry
-
-OptionalPlatformRestartMessage = It is strongly recommended you restart {0} for the changes to take effect. \
-For some add-ons, it may be possible to apply the changes you have made without restarting. \
-Would you like to restart now?
-ApplyProfileChangesDialog_ApplyChanges=Apply Changes
-AvailableIUElement_ProfileNotFound=Could not find profile to use for size computation.
-AvailableIUGroup_LoadingRepository=Loading {0}
-AvailableIUGroup_RefreshOperationLabel=Refresh
-AvailableIUGroup_ViewByToolTipText=View by
-DeferredFetchFilteredTree_RetrievingList=Retrieving List
-Label_Profiles=All Software Profiles
-Label_Repositories=Known Repositories
-MetadataRepositoryElement_NotFound=This repository is currently not available.
-MetadataRepositoryElement_RepositoryLoadError=Error loading repository {0}
-QueryableArtifactRepositoryManager_RepositoryQueryProgress=Getting artifact repositories
-QueryableMetadataRepositoryManager_MultipleRepositoriesNotFound=Some repositories could not be found. Check the details.
-QueryableMetadataRepositoryManager_RepositoryQueryProgress=Getting repositories
-QueryableProfileRegistry_QueryProfileProgress=Getting profiles
-QueryableUpdates_UpdateListProgress=Assembling list of updates
-SizingPhaseSet_PhaseSetName=Compute sizes
-
-RepositoryPropertyPage_UsernameField=Username:
-RepositoryPropertyPage_PasswordField=Password:
-RepositoryPropertyPage_SavePasswordField=Save password
-
-RevertDialog_ConfigContentsLabel=&Configuration contents:
-RevertDialog_ConfigsLabel=&Previous configurations:
-RevertDialog_ConfirmRestartMessage=This operation requires restarting the workbench. Would you like to proceed?
-RevertDialog_Description=Choose a previously installed configuration to which you would like to revert.
-RevertDialog_PageTitle=Revert to a Previous Configuration
-RevertDialog_RevertError=Unexpected error while reverting configuration. The configuration was not reverted.
-RevertDialog_RevertOperationLabel=Revert configuration
-RevertDialog_Title=Revert Software Configuration
-
-RevertProfileWizardPage_ErrorRetrievingHistory=Unexpected error while getting the history list.
-RollbackProfileElement_InvalidSnapshot=The configuration snapshot is no longer valid.
-TrustCertificateDialog_Details=Details
-TrustCertificateDialog_Title=Do you trust these certificates?
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/ArtifactElement.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/ArtifactElement.java
deleted file mode 100644
index 2f1e27c..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/ArtifactElement.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.model;
-
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepository;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-
-/**
- * Element wrapper class for an artifact key and its repository
- *
- * @since 3.4
- */
-public class ArtifactElement extends ProvElement {
-
- IArtifactKey key;
- IArtifactRepository repo;
-
- public ArtifactElement(IArtifactKey key, IArtifactRepository repo) {
- this.key = key;
- this.repo = repo;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.equinox.internal.provisional.p2.ui.model.ProvElement#getImageID(java.lang.Object)
- */
- protected String getImageId(Object obj) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.model.IWorkbenchAdapter#getParent(java.lang.Object)
- */
- public Object getParent(Object o) {
- return repo;
- }
-
- public String getLabel(Object o) {
- return key.getId() + " [" + key.getClassifier() + "]"; //$NON-NLS-1$//$NON-NLS-2$
- }
-
- public Object[] getChildren(Object o) {
- return repo.getArtifactDescriptors(key);
- }
-
- public Object getAdapter(Class adapter) {
- if (adapter == IArtifactRepository.class)
- return getArtifactRepository();
- if (adapter == IArtifactKey.class)
- return getArtifactKey();
- return super.getAdapter(adapter);
- }
-
- public IArtifactKey getArtifactKey() {
- return key;
- }
-
- public IArtifactRepository getArtifactRepository() {
- return repo;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/AvailableIUElement.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/AvailableIUElement.java
deleted file mode 100644
index e9fdc6f..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/AvailableIUElement.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.model;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.SubMonitor;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.director.ProvisioningPlan;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningContext;
-import org.eclipse.equinox.internal.provisional.p2.engine.phases.Sizing;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUIImages;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.IUElement;
-import org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningUtil;
-
-/**
- * Element wrapper class for IU's that are available for installation.
- * Used instead of the plain IU when additional information such as sizing
- * info is necessary.
- *
- * @since 3.4
- */
-public class AvailableIUElement extends ProvElement implements IUElement {
-
- IInstallableUnit iu;
- // Currently this variable is not settable due to the
- // poor performance of sizing, but it is kept here for future improvement.
- // If we reinstate the ability to compute individual sizes we would
- // probably refer to some preference or policy to decide what to do.
- // See https://bugs.eclipse.org/bugs/show_bug.cgi?id=221087
- private static boolean shouldShowSize = false;
- long size = IUElement.SIZE_UNKNOWN;
- String profileID;
-
- public AvailableIUElement(IInstallableUnit iu, String profileID) {
- this.iu = iu;
- this.profileID = profileID;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.equinox.internal.provisional.p2.ui.model.ProvElement#getImageID(java.lang.Object)
- */
- protected String getImageId(Object obj) {
- return ProvUIImages.IMG_UNINSTALLED_IU;
- }
-
- public String getLabel(Object o) {
- return iu.getId();
- }
-
- public Object[] getChildren(Object o) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.ui.model.ProvElement#getParent(java.lang.Object)
- */
- public Object getParent(Object o) {
- return null;
- }
-
- public Object getAdapter(Class adapter) {
- if (adapter == IInstallableUnit.class)
- return iu;
- return super.getAdapter(adapter);
- }
-
- public long getSize() {
- return size;
- }
-
- public void computeSize(IProgressMonitor monitor) {
- if (profileID == null)
- return;
- try {
- SubMonitor mon = SubMonitor.convert(monitor, 100);
- ProvisioningPlan plan = getSizingPlan(mon.newChild(50));
- Sizing info = ProvisioningUtil.getSizeInfo(plan, profileID, mon.newChild(50));
- if (info == null)
- size = IUElement.SIZE_UNAVAILABLE;
- else
- size = info.getDiskSize();
- } catch (ProvisionException e) {
- handleException(e, ProvUIMessages.AvailableIUElement_ProfileNotFound);
- size = IUElement.SIZE_UNAVAILABLE;
- }
- }
-
- protected IProfile getProfile() throws ProvisionException {
- return ProvisioningUtil.getProfile(profileID);
- }
-
- protected ProvisioningPlan getSizingPlan(IProgressMonitor monitor) throws ProvisionException {
- ProfileChangeRequest request = ProfileChangeRequest.createByProfileId(profileID);
- request.addInstallableUnits(new IInstallableUnit[] {getIU()});
- return ProvisioningUtil.getProvisioningPlan(request, new ProvisioningContext(), monitor);
- }
-
- public IInstallableUnit getIU() {
- return iu;
- }
-
- public boolean shouldShowSize() {
- return shouldShowSize;
- }
-
- public boolean shouldShowVersion() {
- return true;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/AvailableUpdateElement.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/AvailableUpdateElement.java
deleted file mode 100644
index e85b377..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/AvailableUpdateElement.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.model;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.director.ProvisioningPlan;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningContext;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningUtil;
-
-/**
- * Element wrapper class for IU's that are available for installation.
- * Used instead of the plain IU when additional information such as sizing
- * info is necessary.
- *
- * @since 3.4
- */
-public class AvailableUpdateElement extends AvailableIUElement {
-
- IInstallableUnit iuToBeUpdated;
-
- public AvailableUpdateElement(IInstallableUnit iu, IInstallableUnit iuToBeUpdated, String profileID) {
- super(iu, profileID);
- this.iuToBeUpdated = iuToBeUpdated;
- }
-
- public IInstallableUnit getIUToBeUpdated() {
- return iuToBeUpdated;
- }
-
- protected ProvisioningPlan getSizingPlan(IProgressMonitor monitor) throws ProvisionException {
- ProfileChangeRequest request = ProfileChangeRequest.createByProfileId(profileID);
- request.removeInstallableUnits(new IInstallableUnit[] {iuToBeUpdated});
- request.addInstallableUnits(new IInstallableUnit[] {getIU()});
- return ProvisioningUtil.getProvisioningPlan(request, new ProvisioningContext(), monitor);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/CachedQueryElement.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/CachedQueryElement.java
deleted file mode 100644
index e5be30f..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/CachedQueryElement.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.model;
-
-import org.eclipse.equinox.internal.provisional.p2.ui.query.QueriedElement;
-
-/**
- * Element wrapper class for an element who obtains its
- * children via a query, but caches its results.
- *
- * @since 3.4
- */
-public abstract class CachedQueryElement extends QueriedElement {
-
- Object[] cachedChildren;
-
- protected CachedQueryElement() {
- super(null);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.ui.query.QueriedElement#getChildren(java.lang.Object)
- */
- public Object[] getChildren(Object parent) {
- if (cachedChildren == null)
- cachedChildren = super.getChildren(parent);
- return cachedChildren;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/ProvElement.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/ProvElement.java
deleted file mode 100644
index ac84252..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/ProvElement.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.model;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.ui.ProvUIActivator;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUI;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUIImages;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-import org.eclipse.ui.progress.IDeferredWorkbenchAdapter;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-/**
- * Generic element that represents a provisioning element in
- * a viewer.
- *
- * @since 3.4
- *
- */
-public abstract class ProvElement implements IWorkbenchAdapter, IAdaptable {
-
- public Object getAdapter(Class adapter) {
- if (adapter == IWorkbenchAdapter.class)
- return this;
- if ((adapter == IDeferredWorkbenchAdapter.class) && this instanceof IDeferredWorkbenchAdapter)
- return this;
- return null;
- }
-
- /**
- * Return a string id of the image that should be used to show the specified
- * object. Returning null indicates that no image should be used.
- *
- * @param obj
- * the object whose image id is requested
- * @return the string id of the image in the provisioning image registry, or
- * <code>null</code> if no image should be shown.
- */
- protected String getImageId(Object obj) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.model.IWorkbenchAdapter#getImageDescriptor(java.lang.Object)
- */
- public ImageDescriptor getImageDescriptor(Object object) {
- String id = getImageId(object);
- if (id == null) {
- return null;
- }
- return ProvUIImages.getImageDescriptor(id);
- }
-
- /**
- * Return the image that should be used to show the specfied object. The
- * image is managed by an image registry and should not be freed.
- *
- * @param object
- * the object whose image id is requested
- * @return the string id of the image in the provisioning image registry
- *
- */
- public Image getImage(Object object) {
- String id = getImageId(object);
- if (id == null) {
- return null;
- }
- return ProvUIImages.getImage(id);
- }
-
- protected void handleException(Exception e, String message) {
- if (message == null) {
- message = e.getMessage();
- }
- IStatus status = new Status(IStatus.ERROR, ProvUIActivator.PLUGIN_ID, 0, message, e);
- ProvUI.reportStatus(status, StatusManager.LOG);
- }
-
- public boolean hasChildren(Object o) {
- if (this instanceof IDeferredWorkbenchAdapter)
- return ((IDeferredWorkbenchAdapter) this).isContainer();
- Object[] children = getChildren(o);
- if (children == null) {
- return false;
- }
- return children.length > 0;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/RemoteQueriedElement.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/RemoteQueriedElement.java
deleted file mode 100644
index d4d5bd5..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/RemoteQueriedElement.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.model;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.equinox.internal.provisional.p2.ui.query.ElementQueryDescriptor;
-import org.eclipse.equinox.internal.provisional.p2.ui.query.QueriedElement;
-import org.eclipse.ui.progress.IDeferredWorkbenchAdapter;
-import org.eclipse.ui.progress.IElementCollector;
-
-/**
- * Element wrapper class for objects that gets their children using
- * a deferred query.
- *
- * @since 3.4
- */
-public abstract class RemoteQueriedElement extends QueriedElement implements IDeferredWorkbenchAdapter {
-
- protected RemoteQueriedElement() {
- super(null);
- }
-
- public Object getParent(Object o) {
- return null;
- }
-
- public void fetchDeferredChildren(Object o, IElementCollector collector, IProgressMonitor monitor) {
- try {
- Object[] children = fetchChildren(o, monitor);
- if (!monitor.isCanceled()) {
- collector.add(children, monitor);
- }
- } catch (OperationCanceledException e) {
- // Nothing to do
- }
- collector.done();
-
- }
-
- public Object[] getChildren(Object o) {
- return fetchChildren(o, null);
- }
-
- protected Object[] fetchChildren(Object o, IProgressMonitor monitor) {
- if (getQueryProvider() == null)
- return new Object[0];
- ElementQueryDescriptor queryDescriptor = getQueryProvider().getQueryDescriptor(this, getQueryType());
- if (queryDescriptor == null || !isSufficientForQuery(queryDescriptor))
- return new Object[0];
- queryDescriptor.queryable.query(queryDescriptor.query, queryDescriptor.collector, monitor);
- return queryDescriptor.collector.toArray(Object.class);
- }
-
- public ISchedulingRule getRule(Object object) {
- return null;
- }
-
- public boolean isContainer() {
- return true;
- }
-
- /**
- * Return whether the query descriptor is sufficient for this element to complete the query.
- * The default implementation requires the descriptor to be complete. Subclasses may override.
- *
- * @param queryDescriptor the query descriptor in question
- * @return <code>true</code> if the descriptor is sufficient, <code>false</code> if it is not.
- */
- protected boolean isSufficientForQuery(ElementQueryDescriptor queryDescriptor) {
- return queryDescriptor.isComplete();
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/viewers/DeferredQueryTreeContentManager.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/viewers/DeferredQueryTreeContentManager.java
deleted file mode 100644
index a62f291..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/viewers/DeferredQueryTreeContentManager.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.equinox.internal.p2.ui.viewers;
-
-import org.eclipse.jface.viewers.AbstractTreeViewer;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.progress.*;
-
-/**
- * DeferredQueryTreeContentManager is an extension of DeferredTreeContentManager
- * that associates pending placeholders with their parent elements, so that
- * clients know when a particular parent element is finished fetching
- * its contents.
- *
- * @since 3.4
- *
- */
-public class DeferredQueryTreeContentManager extends DeferredTreeContentManager {
-
- class ElementPendingUpdateAdapter extends PendingUpdateAdapter {
- Object element;
-
- ElementPendingUpdateAdapter(Object element) {
- super();
- this.element = element;
- }
-
- public boolean isRemoved() {
- return super.isRemoved();
- }
- }
-
- Object elementRequested;
- DeferredQueryTreeListener listener;
-
- public DeferredQueryTreeContentManager(AbstractTreeViewer viewer) {
- super(viewer);
- }
-
- /*
- * Overridden to keep track of the current request long enough
- * to put it in the pending update adapter.
- * (non-Javadoc)
- * @see org.eclipse.ui.progress.DeferredTreeContentManager#getChildren(java.lang.Object)
- */
- public Object[] getChildren(final Object parent) {
- elementRequested = parent;
- return super.getChildren(parent);
- }
-
- /*
- * Overridden to signal the start of a fetch
- * (non-Javadoc)
- * @see org.eclipse.ui.progress.DeferredTreeContentManager#startFetchingDeferredChildren(java.lang.Object, org.eclipse.ui.progress.IDeferredWorkbenchAdapter, org.eclipse.ui.progress.PendingUpdateAdapter)
- */
- protected void startFetchingDeferredChildren(final Object parent, final IDeferredWorkbenchAdapter adapter, final PendingUpdateAdapter placeholder) {
- if (placeholder instanceof ElementPendingUpdateAdapter)
- notifyListener(true, (ElementPendingUpdateAdapter) placeholder);
- super.startFetchingDeferredChildren(parent, adapter, placeholder);
- }
-
- protected void runClearPlaceholderJob(final PendingUpdateAdapter placeholder) {
- if (placeholder instanceof ElementPendingUpdateAdapter) {
- if (((ElementPendingUpdateAdapter) placeholder).isRemoved() || !PlatformUI.isWorkbenchRunning())
- return;
- notifyListener(false, (ElementPendingUpdateAdapter) placeholder);
- }
- super.runClearPlaceholderJob(placeholder);
- }
-
- protected PendingUpdateAdapter createPendingUpdateAdapter() {
- return new ElementPendingUpdateAdapter(elementRequested);
- }
-
- public void setListener(DeferredQueryTreeListener listener) {
- this.listener = listener;
- }
-
- private void notifyListener(boolean starting, ElementPendingUpdateAdapter placeholder) {
- if (listener == null)
- return;
- if (starting)
- listener.fetchingDeferredChildren(placeholder.element, placeholder);
- else
- listener.finishedFetchingDeferredChildren(placeholder.element, placeholder);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/viewers/DeferredQueryTreeListener.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/viewers/DeferredQueryTreeListener.java
deleted file mode 100644
index 3d9647e..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/viewers/DeferredQueryTreeListener.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.equinox.internal.p2.ui.viewers;
-
-import java.util.EventListener;
-
-/**
- * A listening interface used to signal when fetching begins and
- * ends. Used by clients who wish to coordinate fetching with other
- * capabilities of the viewer.
- *
- * @since 3.4
- *
- */
-public interface DeferredQueryTreeListener extends EventListener {
-
- public void fetchingDeferredChildren(Object parent, Object placeHolder);
-
- public void finishedFetchingDeferredChildren(Object parent, Object placeHolder);
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/viewers/IUDetailsLabelProvider.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/viewers/IUDetailsLabelProvider.java
deleted file mode 100644
index d65c01c..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/viewers/IUDetailsLabelProvider.java
+++ /dev/null
@@ -1,231 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.p2.ui.viewers;
-
-import java.text.NumberFormat;
-import java.util.HashMap;
-import java.util.Iterator;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.*;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.p2.ui.model.ProvElement;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUI;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUIImages;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.IUElement;
-import org.eclipse.equinox.internal.provisional.p2.ui.query.IUPropertyUtils;
-import org.eclipse.equinox.internal.provisional.p2.ui.viewers.IUColumnConfig;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.dialogs.FilteredTree;
-
-/**
- * Label provider for showing IU's in a table. Clients can configure
- * what is shown in each column.
- *
- * @since 3.4
- */
-public class IUDetailsLabelProvider extends ColumnLabelProvider implements ITableLabelProvider, IFontProvider {
- final static int PRIMARY_COLUMN = 0;
- final static String BLANK = ""; //$NON-NLS-1$
- private String toolTipProperty = null;
- private FilteredTree filteredTree;
- private boolean useBoldFont = false;
- private boolean showingId = false;
-
- private IUColumnConfig[] columnConfig;
- Shell shell;
- HashMap jobs = new HashMap();
-
- public IUDetailsLabelProvider() {
- this(null, null, null);
- }
-
- public IUDetailsLabelProvider(FilteredTree filteredTree, IUColumnConfig[] columnConfig, Shell shell) {
- this.filteredTree = filteredTree;
- if (columnConfig == null)
- this.columnConfig = ProvUI.getIUColumnConfig();
- else
- this.columnConfig = columnConfig;
- for (int i = 0; i < this.columnConfig.length; i++)
- if (this.columnConfig[i].columnField == IUColumnConfig.COLUMN_ID) {
- showingId = true;
- break;
- }
- this.shell = shell;
- }
-
- public String getText(Object obj) {
- return getColumnText(obj, 0);
- }
-
- public Image getImage(Object obj) {
- return getColumnImage(obj, columnConfig[0].columnField);
- }
-
- public String getColumnText(Object element, int columnIndex) {
- int columnContent = IUColumnConfig.COLUMN_ID;
- if (columnIndex < columnConfig.length) {
- columnContent = columnConfig[columnIndex].columnField;
- }
-
- IInstallableUnit iu = (IInstallableUnit) ProvUI.getAdapter(element, IInstallableUnit.class);
- if (iu == null) {
- if (columnIndex == 0) {
- if (element instanceof ProvElement)
- return ((ProvElement) element).getLabel(element);
- return element.toString();
- }
- return BLANK;
- }
-
- switch (columnContent) {
- case IUColumnConfig.COLUMN_ID :
- return iu.getId();
- case IUColumnConfig.COLUMN_NAME :
- // Get the iu name in the current locale
- String name = IUPropertyUtils.getIUProperty(iu, IInstallableUnit.PROP_NAME);
- if (name != null)
- return name;
- // If the iu name is not available, we return blank if we know know we are
- // showing id in another column. Otherwise we return id so the user doesn't
- // see blank iu's.
- if (showingId)
- return BLANK;
- return iu.getId();
- case IUColumnConfig.COLUMN_VERSION :
- // If it's an element, determine if version should be shown
- if (element instanceof IUElement) {
- if (((IUElement) element).shouldShowVersion())
- return iu.getVersion().toString();
- return BLANK;
- }
- // It's a raw IU, return the version
- return iu.getVersion().toString();
-
- case IUColumnConfig.COLUMN_SIZE :
- if (element instanceof IUElement && ((IUElement) element).shouldShowSize())
- return getIUSize((IUElement) element);
- return BLANK;
- }
- return BLANK;
- }
-
- public Image getColumnImage(Object element, int index) {
- if (index == PRIMARY_COLUMN) {
- if (element instanceof ProvElement)
- return ((ProvElement) element).getImage(element);
- if (ProvUI.getAdapter(element, IInstallableUnit.class) != null)
- return ProvUIImages.getImage(ProvUIImages.IMG_IU);
- }
- return null;
- }
-
- private String getIUSize(final IUElement element) {
- long size = element.getSize();
- // If size is already known, or we already tried
- // to get it, don't try again
- if (size != IUElement.SIZE_UNKNOWN)
- return getFormattedSize(size);
- if (!jobs.containsKey(element)) {
- Job resolveJob = new Job(element.getIU().getId()) {
-
- protected IStatus run(IProgressMonitor monitor) {
- if (monitor.isCanceled())
- return Status.CANCEL_STATUS;
-
- if (shell == null || shell.isDisposed())
- return Status.CANCEL_STATUS;
-
- element.computeSize(monitor);
-
- if (monitor.isCanceled())
- return Status.CANCEL_STATUS;
-
- // If we still could not compute size, give up
- if (element.getSize() == IUElement.SIZE_UNKNOWN)
- return Status.OK_STATUS;
-
- if (shell == null || shell.isDisposed())
- return Status.CANCEL_STATUS;
-
- shell.getDisplay().asyncExec(new Runnable() {
-
- public void run() {
- if (shell != null || !shell.isDisposed())
- fireLabelProviderChanged(new LabelProviderChangedEvent(IUDetailsLabelProvider.this, element));
- }
- });
-
- return Status.OK_STATUS;
- }
- };
- jobs.put(element, resolveJob);
- resolveJob.setSystem(true);
- resolveJob.addJobChangeListener(new JobChangeAdapter() {
- public void done(IJobChangeEvent event) {
- jobs.remove(element);
- }
- });
- resolveJob.schedule();
- }
- return ProvUIMessages.IUDetailsLabelProvider_ComputingSize;
- }
-
- private String getFormattedSize(long size) {
- if (size == IUElement.SIZE_UNKNOWN || size == IUElement.SIZE_UNAVAILABLE)
- return ProvUIMessages.IUDetailsLabelProvider_Unknown;
- if (size > 1000L) {
- long kb = size / 1000L;
- return NLS.bind(ProvUIMessages.IUDetailsLabelProvider_KB, NumberFormat.getInstance().format(new Long(kb)));
- }
- return NLS.bind(ProvUIMessages.IUDetailsLabelProvider_Bytes, NumberFormat.getInstance().format(new Long(size)));
- }
-
- public void setToolTipProperty(String propertyName) {
- toolTipProperty = propertyName;
- }
-
- public void setUseBoldFontForFilteredItems(boolean useBoldFont) {
- this.useBoldFont = useBoldFont;
- }
-
- public String getToolTipText(Object element) {
- IInstallableUnit iu = (IInstallableUnit) ProvUI.getAdapter(element, IInstallableUnit.class);
- if (iu == null || toolTipProperty == null)
- return null;
- return IUPropertyUtils.getIUProperty(iu, toolTipProperty);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.IFontProvider#getFont(java.lang.Object)
- */
- public Font getFont(Object element) {
- if (filteredTree != null && useBoldFont) {
- return FilteredTree.getBoldFont(element, filteredTree, filteredTree.getPatternFilter());
- }
- return null;
- }
-
- public void dispose() {
- super.dispose();
- Iterator iter = jobs.values().iterator();
- while (iter.hasNext()) {
- Job job = (Job) iter.next();
- job.cancel();
- }
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/viewers/StaticContentProvider.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/viewers/StaticContentProvider.java
deleted file mode 100644
index 7c453da..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/viewers/StaticContentProvider.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.p2.ui.viewers;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-public final class StaticContentProvider implements IStructuredContentProvider {
- private Object[] elements;
-
- public StaticContentProvider(Object[] elements) {
- this.elements = elements;
- }
-
- public Object[] getElements(Object inputElement) {
- return elements;
- }
-
- public void dispose() {
- // nothing to dispose
- }
-
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- if (newInput instanceof Object[])
- this.elements = (Object[]) newInput;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/CertificateLabelProvider.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/CertificateLabelProvider.java
deleted file mode 100644
index 94c5c0d..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/CertificateLabelProvider.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui;
-
-import java.security.cert.Certificate;
-import java.security.cert.X509Certificate;
-import org.eclipse.equinox.internal.provisional.security.ui.X500PrincipalHelper;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * A label provider that displays X509 certificates.
- */
-public class CertificateLabelProvider implements ILabelProvider {
-
- public Image getImage(Object element) {
- return null;
- }
-
- public String getText(Object element) {
- Certificate cert = null;
- if (element instanceof TreeNode) {
- cert = (Certificate) ((TreeNode) element).getValue();
- }
- if (cert != null) {
- X500PrincipalHelper principalHelper = new X500PrincipalHelper(((X509Certificate) cert).getSubjectX500Principal());
- return principalHelper.getCN() + "; " + principalHelper.getOU() + "; " + principalHelper.getO(); //$NON-NLS-1$ //$NON-NLS-2$
- }
- return ""; //$NON-NLS-1$
- }
-
- public void addListener(ILabelProviderListener listener) {
- // do nothing
- }
-
- public void dispose() {
- // do nothing
- }
-
- public boolean isLabelProperty(Object element, String property) {
- return false;
- }
-
- public void removeListener(ILabelProviderListener listener) {
- // do nothing
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/IProfileChooser.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/IProfileChooser.java
deleted file mode 100644
index f6d4bce..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/IProfileChooser.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui;
-
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Interface for a mechanism that chooses a profile from the profile registry.
- * the mechanism may or may not involve the user.
- *
- * @since 3.4
- *
- */
-
-public interface IProfileChooser {
- /**
- * Return a chosen profile id, or <code>null</code> if there is no profile
- * chosen.
- */
- public String getProfileId(Shell shell);
-
- /**
- * Return a String that could be used to label this chooser.
- * For example, if the chooser uses a dialog, the label could be used
- * in the button that launches the dialog.
- */
- public String getLabel();
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/IProvHelpContextIds.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/IProvHelpContextIds.java
deleted file mode 100644
index 4b78c5e..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/IProvHelpContextIds.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.eclipse.equinox.internal.provisional.p2.ui;
-
-import org.eclipse.equinox.internal.p2.ui.ProvUIActivator;
-
-/**
- * Help context ids for the P2 UI
- * <p>
- * This interface contains constants only; it is not intended to be implemented
- * or extended.
- * </p>
- * @since 3.4
- */
-
-public interface IProvHelpContextIds {
- public static final String PREFIX = ProvUIActivator.PLUGIN_ID + "."; //$NON-NLS-1$
-
- public static final String REVERT_CONFIGURATION_WIZARD = PREFIX + "revert_configuration_wizard_context"; //$NON-NLS-1$
-
- public static final String UNINSTALL_WIZARD = PREFIX + "uinstall_wizard_context"; //$NON-NLS-1$
-
- public static final String UPDATE_WIZARD = PREFIX + "update_wizard_context"; //$NON-NLS-1$
-
- public static final String ADD_REPOSITORY_DIALOG = PREFIX + "add_repository_dialog_context"; //$NON-NLS-1$
-
- public static final String INSTALL_WIZARD = PREFIX + "install_wizard_context"; //$NON-NLS-1$
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/IRepositoryManipulator.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/IRepositoryManipulator.java
deleted file mode 100644
index 1ee0f64..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/IRepositoryManipulator.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui;
-
-import java.net.URL;
-import org.eclipse.equinox.internal.provisional.p2.ui.dialogs.URLValidator;
-import org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningOperation;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Interface for a mechanism that allows the user to manipulate which repositories
- * are in the system.
- *
- * @since 3.4
- *
- */
-
-public interface IRepositoryManipulator {
- /**
- * Invoke whatever mechanism is used to manipulate repositories.
- * Return a boolean indicating whether the repositories were
- * actually manipulated in any way.
- */
- public boolean manipulateRepositories(Shell shell);
-
- /**
- * Return a String that could be used to label this manager. For example, if
- * the manager is a dialog that lets you manipulate repositories, the label
- * could be used in the button that launches the dialog.
- */
- public String getManipulatorLabel();
-
- /**
- * Return an array of URLs containing the repositories already known.
- */
- public URL[] getKnownRepositories();
-
- /**
- * Return an operation that could be used to add the specified URL as
- * a repository.
- */
- public ProvisioningOperation getAddOperation(URL repoURL);
-
- /**
- * Return a String describing a possible add operation. This is used
- * when prompting or reporting errors involving a possible add operation.
- */
- public String getAddOperationLabel();
-
- /**
- * Return an operation that could be used to remove the specified URL as
- * a repositories.
- */
- public ProvisioningOperation getRemoveOperation(URL[] repoURLs);
-
- /**
- * Return a String describing a possible remove operation. This is used
- * when prompting or reporting errors involving a possible remove operation.
- */
- public String getRemoveOperationLabel();
-
- /**
- * Get a URL validator that could be used to validate URLs supplied
- * by the user.
- *
- * @param shell the shell used by the validator to report any problems.
- * @return the validator to be used.
- */
-
- public URLValidator getURLValidator(Shell shell);
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/IStatusCodes.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/IStatusCodes.java
deleted file mode 100644
index c2358e5..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/IStatusCodes.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui;
-
-/**
- * IStatusCodes defines codes for common status conditions in the
- * p2 UI.
- *
- * This interface is not intended to be implemented
- *
- * @since 3.4
- */
-public interface IStatusCodes {
-
- //UI status codes [10000-10999] - note these cannot conflict with the core codes
- //in ProvisionException or we'll see strange results.
-
- public static final int NOTHING_TO_UPDATE = 10000;
- public static final int PROFILE_CHANGE_ALTERED = 10001;
- public static final int IMPLIED_UPDATE = 10002;
- public static final int IGNORED_IMPLIED_DOWNGRADE = 10003;
- public static final int IGNORED_ALREADY_INSTALLED = 10004;
- public static final int UNEXPECTED_NOTHING_TO_DO = 10005;
- public static final int EXPECTED_NOTHING_TO_DO = 10006;
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/ProfileFactory.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/ProfileFactory.java
deleted file mode 100644
index c39585a..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/ProfileFactory.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui;
-
-import java.util.HashMap;
-import java.util.Map;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.ui.ProvUIActivator;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningUtil;
-import org.eclipse.osgi.service.environment.EnvironmentInfo;
-
-/**
- * Factory class that can create a new profile with the correct
- * default values.
- *
- * @since 3.4
- *
- */
-public class ProfileFactory {
-
- static private String FLAVOR_DEFAULT = "tooling"; //$NON-NLS-1$
- static private String EMPTY = ""; //$NON-NLS-1$
- static private EnvironmentInfo info;
-
- public static IProfile makeProfile(String profileId) {
- Map profileProperties = new HashMap();
- profileProperties.put(IProfile.PROP_INSTALL_FOLDER, getDefaultLocation());
- profileProperties.put(IProfile.PROP_FLAVOR, getDefaultFlavor());
- profileProperties.put(IProfile.PROP_ENVIRONMENTS, getDefaultEnvironments());
- profileProperties.put(IProfile.PROP_NL, getDefaultNL());
-
- try {
- return ProvisioningUtil.addProfile(profileId, profileProperties, null);
- } catch (ProvisionException e) {
- // log
- }
- return null;
- }
-
- public static String getDefaultLocation() {
- return Platform.getUserLocation().getURL().getPath();
- }
-
- public static String getDefaultFlavor() {
- return FLAVOR_DEFAULT;
- }
-
- private static EnvironmentInfo getEnvironmentInfo() {
- if (info == null) {
- info = (EnvironmentInfo) ServiceHelper.getService(ProvUIActivator.getContext(), EnvironmentInfo.class.getName());
- }
- return info;
- }
-
- public static String getDefaultNL() {
- if (getEnvironmentInfo() != null) {
- return info.getNL();
- }
- return EMPTY;
- }
-
- public static String getDefaultEnvironments() {
- if (getEnvironmentInfo() != null) {
- return "osgi.os=" //$NON-NLS-1$
- + info.getOS() + ",osgi.ws=" + info.getWS() //$NON-NLS-1$
- + ",osgi.arch=" + info.getOSArch(); //$NON-NLS-1$
- }
- return EMPTY;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/ProvUI.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/ProvUI.java
deleted file mode 100644
index d4f918f..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/ProvUI.java
+++ /dev/null
@@ -1,337 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.provisional.p2.ui;
-
-import java.lang.reflect.InvocationTargetException;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.operations.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.ui.ProvUIActivator;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.ui.viewers.IUColumnConfig;
-import org.eclipse.equinox.internal.provisional.p2.ui.viewers.StructuredViewerProvisioningListener;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.*;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-/**
- * Generic provisioning UI utility and policy methods.
- *
- * @since 3.4
- */
-public class ProvUI {
-
- // Public constants for common command and tooltip names
- public static final String INSTALL_COMMAND_LABEL = ProvUIMessages.InstallIUCommandLabel;
- public static final String INSTALL_COMMAND_TOOLTIP = ProvUIMessages.InstallIUCommandTooltip;
- public static final String UNINSTALL_COMMAND_LABEL = ProvUIMessages.UninstallIUCommandLabel;
- public static final String UNINSTALL_COMMAND_TOOLTIP = ProvUIMessages.UninstallIUCommandTooltip;
- public static final String UPDATE_COMMAND_LABEL = ProvUIMessages.UpdateIUCommandLabel;
- public static final String UPDATE_COMMAND_TOOLTIP = ProvUIMessages.UpdateIUCommandTooltip;
- public static final String REVERT_COMMAND_LABEL = ProvUIMessages.RevertIUCommandLabel;
- public static final String REVERT_COMMAND_TOOLTIP = ProvUIMessages.RevertIUCommandTooltip;
-
- static ObjectUndoContext provisioningUndoContext;
- private static final int DEFAULT_COLUMN_WIDTH = 200;
- private static IUColumnConfig[] iuColumnConfig = new IUColumnConfig[] {new IUColumnConfig(ProvUIMessages.ProvUI_NameColumnTitle, IUColumnConfig.COLUMN_NAME, DEFAULT_COLUMN_WIDTH), new IUColumnConfig(ProvUIMessages.ProvUI_VersionColumnTitle, IUColumnConfig.COLUMN_VERSION, DEFAULT_COLUMN_WIDTH)};
- private static final List reposNotFound = Collections.synchronizedList(new ArrayList());
-
- public static Shell getShell(IAdaptable uiInfo) {
- Shell shell;
- if (uiInfo != null) {
- shell = (Shell) uiInfo.getAdapter(Shell.class);
- if (shell != null) {
- return shell;
- }
- }
- // Get the default shell
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window != null) {
- return window.getShell();
- }
- Display display = Display.getCurrent();
- if (display == null) {
- display = Display.getDefault();
- }
- return display.getActiveShell();
- }
-
- public static IStatus handleException(Throwable t, String message, int style) {
- if (message == null && t != null) {
- message = t.getMessage();
- }
- IStatus status = new Status(IStatus.ERROR, ProvUIActivator.PLUGIN_ID, 0, message, t);
- StatusManager.getManager().handle(status, style);
- return status;
- }
-
- public static void reportNotFoundStatus(URL url, IStatus status, int style) {
- if (!hasNotFoundStatusBeenReported(url)) {
- reposNotFound.add(url);
- reportStatus(status, style);
- }
- }
-
- // This assumes that callers already checked whether it *should*
- // be reported so that we don't need to loop through the list
- // when the caller just has done so in order to know whether
- // to report.
- public static void notFoundStatusReported(URL url) {
- reposNotFound.add(url);
- }
-
- // We don't simply use a set data structure to keep the URLs unique
- // because using equals() for URLs is notoriously slow
- // We don't check for things like case variants or end slash variants
- // because we know that the repository managers already did this.
- public static boolean hasNotFoundStatusBeenReported(URL url) {
- synchronized (reposNotFound) {
- for (int i = 0; i < reposNotFound.size(); i++)
- if (reposNotFound.get(i) instanceof URL && ((URL) reposNotFound.get(i)).toExternalForm().equals(url.toExternalForm()))
- return true;
- }
- return false;
- }
-
- public static void clearRepositoriesNotFound() {
- reposNotFound.clear();
- }
-
- public static void reportStatus(IStatus status, int style) {
- // workaround for
- // https://bugs.eclipse.org/bugs/show_bug.cgi?id=211933
- if ((style & StatusManager.BLOCK) == StatusManager.BLOCK) {
- if (status.getSeverity() == IStatus.INFO) {
- MessageDialog.openInformation(null, ProvUIMessages.ProvUI_InformationTitle, status.getMessage());
- // unset the block bit
- style = style & ~StatusManager.BLOCK;
- } else if (status.getSeverity() == IStatus.WARNING) {
- MessageDialog.openWarning(null, ProvUIMessages.ProvUI_WarningTitle, status.getMessage());
- // unset the block bit
- style = style & ~StatusManager.BLOCK;
- }
- }
- if (style != 0)
- StatusManager.getManager().handle(status, style);
- }
-
- public static IUColumnConfig[] getIUColumnConfig() {
- return iuColumnConfig;
- }
-
- public static void setIUColumnConfig(IUColumnConfig[] columnConfig) {
- iuColumnConfig = columnConfig;
- }
-
- public static IUndoContext getProvisioningUndoContext() {
- if (provisioningUndoContext == null) {
- provisioningUndoContext = new ObjectUndoContext(new Object(), "Provisioning Undo Context"); //$NON-NLS-1$
- IOperationHistory opHistory = PlatformUI.getWorkbench().getOperationSupport().getOperationHistory();
- opHistory.addOperationApprover(getOperationApprover());
- }
- return provisioningUndoContext;
- }
-
- public static Object getAdapter(Object object, Class adapterType) {
- if (object == null)
- return null;
- if (adapterType.isInstance(object))
- return object;
- if (object instanceof IAdaptable)
- return ((IAdaptable) object).getAdapter(adapterType);
- return null;
- }
-
- /**
- * Returns a shell that is appropriate to use as the parent
- * for a modal dialog. This returns the existing modal dialog, if any,
- * or a workbench window if no modal dialogs open. Returns <code>null</code>
- * if there is no appropriate default parent.
- *
- * This method is copied from ProgressManagerUtil#getDefaultParent()
- */
- public static Shell getDefaultParentShell() {
- IWorkbench workbench = PlatformUI.getWorkbench();
-
- //look first for the topmost modal shell
- Shell shell = getDefaultParentShell(workbench.getDisplay().getShells());
-
- if (shell != null) {
- return shell;
- }
-
- //try the active workbench window
- IWorkbenchWindow window = workbench.getActiveWorkbenchWindow();
- if (window != null)
- return window.getShell();
- IWorkbenchWindow[] windows = PlatformUI.getWorkbench().getWorkbenchWindows();
- if (windows.length > 0)
- return windows[0].getShell();
- //there is no modal shell and no active window, so just return a null parent shell
- return null;
- }
-
- /**
- * Return the modal shell that is currently open. If there isn't one then
- * return null.
- *
- * @param shells shells to search for modal children
- * @return the most specific modal child, or null if none
- *
- * This method is copied from ProgressManagerUtil#getDefaultParent()
- */
-
- private static Shell getDefaultParentShell(Shell[] shells) {
- //first look for a modal shell
- for (int i = 0; i < shells.length; i++) {
- Shell shell = shells[i];
-
- // Check if this shell has a modal child
- Shell modalChild = getDefaultParentShell(shell.getShells());
- if (modalChild != null) {
- return modalChild;
- }
-
- // Do not worry about shells that will not block the user.
- if (shell.isVisible()) {
- int modal = SWT.APPLICATION_MODAL | SWT.SYSTEM_MODAL | SWT.PRIMARY_MODAL;
- if ((shell.getStyle() & modal) != 0) {
- return shell;
- }
- }
- }
- return null;
- }
-
- static IOperationApprover getOperationApprover() {
- return new IOperationApprover() {
- public IStatus proceedUndoing(final IUndoableOperation operation, IOperationHistory history, IAdaptable info) {
- final IStatus[] status = new IStatus[1];
- status[0] = Status.OK_STATUS;
- if (operation.hasContext(provisioningUndoContext) && operation instanceof IAdvancedUndoableOperation) {
- final IRunnableWithProgress runnable = new IRunnableWithProgress() {
- public void run(IProgressMonitor monitor) {
- try {
- status[0] = ((IAdvancedUndoableOperation) operation).computeUndoableStatus(monitor);
- if (!status[0].isOK()) {
- ProvUI.reportStatus(status[0], StatusManager.SHOW | StatusManager.LOG);
- }
- } catch (ExecutionException e) {
- status[0] = new Status(IStatus.ERROR, ProvUIActivator.PLUGIN_ID, e.getMessage(), e);
- ProvUI.handleException(e.getCause(), null, StatusManager.SHOW | StatusManager.LOG);
- }
- }
- };
- PlatformUI.getWorkbench().getDisplay().syncExec(new Runnable() {
- public void run() {
- try {
- new ProgressMonitorDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell()).run(true, true, runnable);
- } catch (InterruptedException e) {
- // don't report thread interruption
- } catch (InvocationTargetException e) {
- status[0] = new Status(IStatus.ERROR, ProvUIActivator.PLUGIN_ID, e.getMessage(), e);
- ProvUI.handleException(e.getCause(), null, StatusManager.SHOW | StatusManager.LOG);
- }
- }
- });
-
- }
- return status[0];
- }
-
- public IStatus proceedRedoing(final IUndoableOperation operation, IOperationHistory history, IAdaptable info) {
- final IStatus[] status = new IStatus[1];
- status[0] = Status.OK_STATUS;
- if (operation.hasContext(provisioningUndoContext) && operation instanceof IAdvancedUndoableOperation) {
- final IRunnableWithProgress runnable = new IRunnableWithProgress() {
- public void run(IProgressMonitor monitor) {
- try {
- status[0] = ((IAdvancedUndoableOperation) operation).computeRedoableStatus(monitor);
- if (!status[0].isOK()) {
- ProvUI.reportStatus(status[0], StatusManager.SHOW);
- }
- } catch (ExecutionException e) {
- status[0] = new Status(IStatus.ERROR, ProvUIActivator.PLUGIN_ID, e.getMessage(), e);
- ProvUI.handleException(e.getCause(), null, StatusManager.SHOW | StatusManager.LOG);
- }
- }
- };
- PlatformUI.getWorkbench().getDisplay().syncExec(new Runnable() {
- public void run() {
- try {
- new ProgressMonitorDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell()).run(true, true, runnable);
- } catch (InterruptedException e) {
- // don't report thread interruption
- } catch (InvocationTargetException e) {
- status[0] = new Status(IStatus.ERROR, ProvUIActivator.PLUGIN_ID, e.getMessage(), e);
- ProvUI.handleException(e.getCause(), null, StatusManager.SHOW | StatusManager.LOG);
- }
- }
- });
-
- }
- return status[0];
- }
-
- };
-
- }
-
- /**
- * Make an <code>IAdaptable</code> that adapts to the specified shell,
- * suitable for passing for passing to any
- * {@link org.eclipse.core.commands.operations.IUndoableOperation} or
- * {@link org.eclipse.core.commands.operations.IOperationHistory} method
- * that requires an {@link org.eclipse.core.runtime.IAdaptable}
- * <code>uiInfo</code> parameter.
- *
- * @param shell
- * the shell that should be returned by the IAdaptable when asked
- * to adapt a shell. If this parameter is <code>null</code>,
- * the returned shell will also be <code>null</code>.
- *
- * @return an IAdaptable that will return the specified shell.
- */
- static IAdaptable getUIInfoAdapter(final Shell shell) {
- return new IAdaptable() {
- public Object getAdapter(Class clazz) {
- if (clazz == Shell.class) {
- return shell;
- }
- return null;
- }
- };
- }
-
- public static void addProvisioningListener(StructuredViewerProvisioningListener listener) {
- ProvUIActivator.getDefault().addProvisioningListener(listener);
- }
-
- public static void removeProvisioningListener(StructuredViewerProvisioningListener listener) {
- ProvUIActivator.getDefault().removeProvisioningListener(listener);
- }
-
- public static void startBatchOperation() {
- ProvUIActivator.getDefault().signalBatchOperationStart();
- }
-
- public static void endBatchOperation() {
- ProvUIActivator.getDefault().signalBatchOperationComplete();
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/ProvUIImages.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/ProvUIImages.java
deleted file mode 100644
index 2d61016..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/ProvUIImages.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui;
-
-import org.eclipse.equinox.internal.p2.ui.ProvUIActivator;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * ProvUIImages provides convenience methods for accessing shared images
- * provided by the <i>org.eclipse.equinox.internal.provisional.p2.ui</i> plug-in.
- * <p>
- * This class provides <code>ImageDescriptor</code>s for each named image in
- * {@link ProvUIImages}. All <code>Image</code> objects created from the
- * provided descriptors are managed the caller and must be disposed
- * appropriately.
- * </p>
- * <p>
- * This class is not intended to be subclassed or instantiated by clients
- *
- * @since 3.4
- */
-public class ProvUIImages {
-
- // bundle-relative icon path
- public final static String ICON_PATH = "$nl$/icons/"; //$NON-NLS-1$
- //objects
- public final static String IMG_ARTIFACT_REPOSITORY = "obj/artifact_repo_obj.gif"; //$NON-NLS-1$
- public final static String IMG_METADATA_REPOSITORY = "obj/metadata_repo_obj.gif"; //$NON-NLS-1$
- public final static String IMG_IU = "obj/iu_obj.gif"; //$NON-NLS-1$
- public final static String IMG_UNINSTALLED_IU = "obj/uninstalled_iu_obj.gif"; //$NON-NLS-1$
- public final static String IMG_PROFILE = "obj/profile_obj.gif"; //$NON-NLS-1$
- public final static String IMG_CATEGORY = "obj/category_obj.gif"; //$NON-NLS-1$
- // tools
- public final static String IMG_TOOL_UPDATE = "tool/update.gif"; //$NON-NLS-1$
- public final static String IMG_TOOL_UPDATE_PROBLEMS = "tool/update_problems.gif"; //$NON-NLS-1$
- public final static String IMG_TOOL_CLOSE = "tool/close.gif"; //$NON-NLS-1$
- public final static String IMG_TOOL_CLOSE_HOT = "tool/close_hot.gif"; //$NON-NLS-1$
-
- // wizard graphics
- public final static String WIZARD_BANNER_INSTALL = "wizban/install_wiz.gif"; //$NON-NLS-1$
- public final static String WIZARD_BANNER_UNINSTALL = "wizban/uninstall_wiz.gif"; //$NON-NLS-1$
- public final static String WIZARD_BANNER_UPDATE = "wizban/update_wiz.gif"; //$NON-NLS-1$
- public final static String WIZARD_BANNER_REVERT = "wizban/revert_wiz.gif"; //$NON-NLS-1$
-
- /**
- * Returns the image descriptor for the given image ID. Returns
- * <code>null</code> if there is no such image.
- *
- * @param id
- * the identifier for the image to retrieve
- * @return the image descriptor associated with the given ID
- */
- public static ImageDescriptor getImageDescriptor(String id) {
- return ProvUIActivator.getDefault().getImageRegistry().getDescriptor(id);
- }
-
- /**
- * Returns the image for the given image ID. Returns <code>null</code> if
- * there is no such image.
- *
- * @param id
- * the identifier for the image to retrieve
- * @return the image associated with the given ID. This image is managed in
- * an image registry and should not be freed by the client.
- */
- public static Image getImage(String id) {
- return ProvUIActivator.getDefault().getImageRegistry().get(id);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/ProvisioningOperationRunner.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/ProvisioningOperationRunner.java
deleted file mode 100644
index 1c5f453..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/ProvisioningOperationRunner.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.provisional.p2.ui;
-
-import java.io.IOException;
-import java.util.HashSet;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.operations.IUndoableOperation;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.*;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.ui.ProvUIActivator;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.p2.ui.dialogs.ApplyProfileChangesDialog;
-import org.eclipse.equinox.internal.provisional.configurator.Configurator;
-import org.eclipse.equinox.internal.provisional.p2.ui.operations.ProfileModificationOperation;
-import org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningOperation;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.progress.IProgressConstants;
-import org.eclipse.ui.progress.WorkbenchJob;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-/**
- * Utility methods for running provisioning operations. Operations can either
- * be run synchronously or in a job. When scheduled as a job, the operation
- * determines whether the job is run in
- * the background or in the UI.
- *
- * @since 3.4
- */
-public class ProvisioningOperationRunner {
-
- private static final String PROPERTY_PREFIX = "org.eclipse.equinox.p2.ui"; //$NON-NLS-1$
- private static final QualifiedName OPERATION_KEY = new QualifiedName(PROPERTY_PREFIX, "operationKey"); //$NON-NLS-1$
- static HashSet scheduledJobs = new HashSet();
- static boolean restartRequested = false;
- static boolean restartRequired = false;
- static ListenerList jobListeners = new ListenerList();
-
- /**
- * Run the provisioning operation synchronously, adding it to the undo history if it
- * supports undo. Should only be used for operations that run quickly.
- * @param op The operation to execute
- * @param shell provided by the caller in order to supply UI information for prompting the
- * user if necessary. May be <code>null</code>.
- * @param errorStyle the flags passed to the StatusManager for error reporting
- */
- public static void run(ProvisioningOperation op, Shell shell, int errorStyle) {
- try {
- if (op instanceof IUndoableOperation) {
- PlatformUI.getWorkbench().getOperationSupport().getOperationHistory().execute((IUndoableOperation) op, null, ProvUI.getUIInfoAdapter(shell));
- } else {
- op.execute(null, ProvUI.getUIInfoAdapter(shell));
- }
- } catch (ExecutionException e) {
- ProvUI.handleException(e.getCause(), NLS.bind(ProvUIMessages.ProvisioningOperationRunner_ErrorExecutingOperation, op.getLabel()), errorStyle);
- }
-
- }
-
- /**
- * Schedule a job to execute the supplied ProvisioningOperation, and add it to the
- * undo history if it supports undo.
- *
- * @param op The operation to execute
- * @param shell provided by the caller in order to supply UI information for prompting the
- * user if necessary. May be <code>null</code>.
- * @param errorStyle the flags passed to the StatusManager for error reporting
- */
- public static Job schedule(final ProvisioningOperation op, final Shell shell, final int errorStyle) {
- Job job;
- final boolean noPrompt = (errorStyle & (StatusManager.BLOCK | StatusManager.SHOW)) == 0;
-
- if (op.runInBackground()) {
- job = new Job(op.getLabel()) {
- protected IStatus run(IProgressMonitor monitor) {
- final Job thisJob = this;
- try {
- IStatus status;
- if (op instanceof IUndoableOperation) {
- status = PlatformUI.getWorkbench().getOperationSupport().getOperationHistory().execute((IUndoableOperation) op, monitor, ProvUI.getUIInfoAdapter(shell));
- } else {
- status = op.execute(monitor, ProvUI.getUIInfoAdapter(shell));
- }
- if (status != Status.OK_STATUS && noPrompt) {
- this.setProperty(IProgressConstants.KEEP_PROPERTY, Boolean.TRUE);
- this.setProperty(IProgressConstants.NO_IMMEDIATE_ERROR_PROMPT_PROPERTY, Boolean.TRUE);
- }
- return status;
- } catch (final ExecutionException e) {
- if (noPrompt) {
- thisJob.setProperty(IProgressConstants.KEEP_PROPERTY, Boolean.TRUE);
- thisJob.setProperty(IProgressConstants.NO_IMMEDIATE_ERROR_PROMPT_PROPERTY, Boolean.TRUE);
- }
- String message = e.getCause().getLocalizedMessage();
- if (message == null)
- message = NLS.bind(ProvUIMessages.ProvisioningOperationRunner_ErrorExecutingOperation, op.getLabel());
- return new Status(IStatus.ERROR, ProvUIActivator.PLUGIN_ID, 0, message, e.getCause());
- }
- }
- };
- job.setPriority(Job.LONG);
- } else {
- job = new WorkbenchJob(op.getLabel()) {
- public IStatus runInUIThread(IProgressMonitor monitor) {
- try {
- IStatus status;
- if (op instanceof IUndoableOperation) {
- status = PlatformUI.getWorkbench().getOperationSupport().getOperationHistory().execute((IUndoableOperation) op, monitor, ProvUI.getUIInfoAdapter(shell));
- } else {
- status = op.execute(monitor, ProvUI.getUIInfoAdapter(shell));
- }
- if (status != Status.OK_STATUS && noPrompt) {
- this.setProperty(IProgressConstants.KEEP_PROPERTY, Boolean.TRUE);
- this.setProperty(IProgressConstants.NO_IMMEDIATE_ERROR_PROMPT_PROPERTY, Boolean.TRUE);
- }
- return status;
- } catch (ExecutionException e) {
- if (noPrompt) {
- this.setProperty(IProgressConstants.KEEP_PROPERTY, Boolean.TRUE);
- this.setProperty(IProgressConstants.NO_IMMEDIATE_ERROR_PROMPT_PROPERTY, Boolean.TRUE);
- }
- return new Status(IStatus.ERROR, ProvUIActivator.PLUGIN_ID, 0, NLS.bind(ProvUIMessages.ProvisioningOperationRunner_ErrorExecutingOperation, op.getLabel()), e.getCause());
- }
- }
- };
- job.setPriority(Job.SHORT);
- }
- job.setUser(op.isUser());
- job.setProperty(OPERATION_KEY, op);
- job.setProperty(IProgressConstants.ICON_PROPERTY, ProvUIImages.getImageDescriptor(ProvUIImages.IMG_PROFILE));
- manageJob(job);
- job.schedule();
- return job;
- }
-
- public static void requestRestart(boolean force) {
- if (hasScheduledOperations()) {
- restartRequested = true;
- restartRequired = restartRequired || force;
- return;
- }
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
- public void run() {
- if (PlatformUI.getWorkbench().isClosing())
- return;
- int retCode = ApplyProfileChangesDialog.promptForRestart(ProvUI.getDefaultParentShell(), restartRequired);
- // Now that we have asked, regardless of answer, we won't need to
- // ask again until the next profile changing operation. Don't reset
- // the restart required flag so that the next time we ask, if it
- // was required before, it will still be required.
- restartRequested = false;
- if (retCode == ApplyProfileChangesDialog.PROFILE_APPLYCHANGES) {
- Configurator configurator = (Configurator) ServiceHelper.getService(ProvUIActivator.getContext(), Configurator.class.getName());
- try {
- configurator.applyConfiguration();
- } catch (IOException e) {
- ProvUI.handleException(e, ProvUIMessages.ProvUI_ErrorDuringApplyConfig, StatusManager.LOG | StatusManager.BLOCK);
- }
- } else if (retCode == ApplyProfileChangesDialog.PROFILE_RESTART) {
- PlatformUI.getWorkbench().restart();
- }
- }
- });
- }
-
- public static boolean hasScheduledOperations() {
- return !scheduledJobs.isEmpty();
- }
-
- public static boolean hasScheduledOperationsFor(String profileId) {
- Job[] jobs = getScheduledJobs();
- for (int i = 0; i < jobs.length; i++) {
- Object op = jobs[i].getProperty(OPERATION_KEY);
- if (op instanceof ProfileModificationOperation) {
- String id = ((ProfileModificationOperation) op).getProfileId();
- if (profileId.equals(id))
- return true;
- }
- }
- return false;
- }
-
- public static void addJobChangeListener(IJobChangeListener listener) {
- jobListeners.add(listener);
- Job[] jobs = getScheduledJobs();
- for (int i = 0; i < jobs.length; i++)
- jobs[i].addJobChangeListener(listener);
- }
-
- public static void removeJobChangeListener(IJobChangeListener listener) {
- jobListeners.remove(listener);
- Job[] jobs = getScheduledJobs();
- for (int i = 0; i < jobs.length; i++)
- jobs[i].removeJobChangeListener(listener);
- }
-
- private static Job[] getScheduledJobs() {
- return (Job[]) scheduledJobs.toArray(new Job[scheduledJobs.size()]);
- }
-
- public static void manageJob(Job job) {
- scheduledJobs.add(job);
- job.addJobChangeListener(new JobChangeAdapter() {
- public void done(IJobChangeEvent event) {
- scheduledJobs.remove(event.getJob());
- if (restartRequested) {
- requestRestart(restartRequired);
- }
- }
- });
- Object[] listeners = jobListeners.getListeners();
- for (int i = 0; i < listeners.length; i++)
- job.addJobChangeListener((IJobChangeListener) listeners[i]);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/SimpleLicenseManager.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/SimpleLicenseManager.java
deleted file mode 100644
index dfaa152..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/SimpleLicenseManager.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Genuitec, LLC - added license support
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui;
-
-import java.io.*;
-import java.math.BigInteger;
-import java.util.*;
-import javax.xml.parsers.*;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.License;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.LicenseManager;
-import org.eclipse.equinox.internal.provisional.p2.ui.query.IUPropertyUtils;
-import org.eclipse.ui.statushandlers.StatusManager;
-import org.w3c.dom.*;
-import org.xml.sax.SAXException;
-
-/**
- * SimpleLicenseManager is a license manager that keeps track of
- * IInstallableUnit licenses by using the digests of the IU's licenses.
- * It can read and write its accepted list to a stream.
- *
- * @since 3.4
- */
-public class SimpleLicenseManager extends LicenseManager {
- java.util.Set accepted = new HashSet();
-
- public boolean accept(IInstallableUnit iu) {
- License license = IUPropertyUtils.getLicense(iu);
- if (license != null)
- accepted.add(license.getDigest());
- return true;
- }
-
- public boolean reject(IInstallableUnit iu) {
- License license = IUPropertyUtils.getLicense(iu);
- if (license != null)
- accepted.remove(license.getDigest());
- return true;
- }
-
- public boolean isAccepted(IInstallableUnit iu) {
- License license = IUPropertyUtils.getLicense(iu);
- if (license == null)
- return true;
- return accepted.contains(license.getDigest());
- }
-
- public boolean hasAcceptedLicenses() {
- return !accepted.isEmpty();
- }
-
- public void read(InputStream stream) throws IOException {
- try {
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- factory.setNamespaceAware(true);
- DocumentBuilder parser = factory.newDocumentBuilder();
- Document doc = parser.parse(stream);
- Node root = doc.getDocumentElement();
- processRoot(root, accepted);
- } catch (ParserConfigurationException e) {
- ProvUI.handleException(e, ProvUIMessages.ProvUILicenseManager_ParsingError, StatusManager.LOG);
- } catch (SAXException e) {
- ProvUI.handleException(e, ProvUIMessages.ProvUILicenseManager_ParsingError, StatusManager.LOG);
- }
- }
-
- public void write(OutputStream stream) throws IOException {
- OutputStreamWriter osw = null;
- PrintWriter writer = null;
- try {
- osw = new OutputStreamWriter(stream, "UTF8"); //$NON-NLS-1$
- writer = new PrintWriter(osw);
- writer.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); //$NON-NLS-1$
- writer.println("<licenses>"); //$NON-NLS-1$
- for (Iterator i = accepted.iterator(); i.hasNext();) {
- BigInteger digest = (BigInteger) i.next();
- writer.print(" " + "<license digest=\"" + digest.toString(16) + "\"/>"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- } finally {
- writer.println("</licenses>"); //$NON-NLS-1$
- writer.flush();
- writer.close();
- if (osw != null)
- osw.close();
- }
- }
-
- private void processRoot(Node root, Set licenses) {
- if (root.getNodeName().equals("licenses")) { //$NON-NLS-1$
- NodeList children = root.getChildNodes();
- processChildren(children, licenses);
- }
- }
-
- private void processChildren(NodeList children, Set licenses) {
- for (int i = 0; i < children.getLength(); i++) {
- Node child = children.item(i);
- if (child.getNodeType() == Node.ELEMENT_NODE) {
- if (child.getNodeName().equals("license")) { //$NON-NLS-1$
- NamedNodeMap atts = child.getAttributes();
- Node digestAtt = atts.getNamedItem("digest"); //$NON-NLS-1$
- if (digestAtt != null) {
- BigInteger digest = new BigInteger(digestAtt.getNodeValue(), 16);
- licenses.add(digest);
- }
- }
- }
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/UpdateManagerCompatibility.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/UpdateManagerCompatibility.java
deleted file mode 100644
index 545be28..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/UpdateManagerCompatibility.java
+++ /dev/null
@@ -1,321 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Vector;
-import javax.xml.parsers.*;
-import org.eclipse.core.commands.*;
-import org.eclipse.core.commands.common.NotDefinedException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.ui.ProvUIActivator;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.director.ProvisioningPlan;
-import org.eclipse.equinox.internal.provisional.p2.engine.InstallableUnitOperand;
-import org.eclipse.equinox.internal.provisional.p2.engine.Operand;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.ElementUtils;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.MetadataRepositoryElement;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.commands.ICommandService;
-import org.eclipse.ui.handlers.IHandlerService;
-import org.eclipse.ui.statushandlers.StatusManager;
-import org.w3c.dom.*;
-import org.xml.sax.SAXException;
-
-/**
- * Utility methods involving compatibility with the Eclipse Update Manager.
- *
- * @since 3.4
- *
- */
-public class UpdateManagerCompatibility {
-
- // This value was copied from MetadataGeneratorHelper. Must be the same.
- private static final String ECLIPSE_INSTALL_HANDLER_PROP = "org.eclipse.update.installHandler"; //$NON-NLS-1$
- // These values rely on the command markup in org.eclipse.ui.ide that defines the update commands
- private static final String UPDATE_MANAGER_FIND_AND_INSTALL = "org.eclipse.ui.update.findAndInstallUpdates"; //$NON-NLS-1$
- private static final String UPDATE_MANAGER_MANAGE_CONFIGURATION = "org.eclipse.ui.update.manageConfiguration"; //$NON-NLS-1$
- private static final DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
-
- private static void parse(String fileName, Vector bookmarks) {
- File file = new File(fileName);
- if (!file.exists())
- return;
-
- try {
- documentBuilderFactory.setNamespaceAware(true);
- DocumentBuilder parser = documentBuilderFactory.newDocumentBuilder();
- Document doc = parser.parse(file);
- Node root = doc.getDocumentElement();
- processRoot(root, bookmarks);
- } catch (ParserConfigurationException e) {
- logFail(e);
- } catch (SAXException e) {
- logFail(e);
- } catch (IOException e) {
- logFail(e);
- }
- }
-
- private static MetadataRepositoryElement[] getSites(Vector bookmarks) {
- ArrayList result = new ArrayList();
- for (int i = 0; i < bookmarks.size(); i++) {
- if (bookmarks.get(i) instanceof MetadataRepositoryElement)
- result.add(bookmarks.get(i));
- }
- return (MetadataRepositoryElement[]) result.toArray(new MetadataRepositoryElement[result.size()]);
- }
-
- private static void processRoot(Node root, Vector bookmarks) {
- if (root.getNodeName().equals("bookmarks")) { //$NON-NLS-1$
- NodeList children = root.getChildNodes();
- processChildren(children, bookmarks);
- }
- }
-
- private static void processChildren(NodeList children, Vector bookmarks) {
- for (int i = 0; i < children.getLength(); i++) {
- Node child = children.item(i);
- if (child.getNodeType() == Node.ELEMENT_NODE) {
- if (child.getNodeName().equals("site")) { //$NON-NLS-1$
- createSite(child, bookmarks);
- } else if (child.getNodeName().equals("folder")) { //$NON-NLS-1$
- createFolder(child, bookmarks);
- }
- }
- }
- }
-
- private static void createSite(Node child, Vector bookmarks) {
- URL url = null;
- try {
- url = new URL(getAttribute(child, "url")); //$NON-NLS-1$
- } catch (MalformedURLException e) {
- logFail(e);
- return;
- }
-
- String sel = getAttribute(child, "selected"); //$NON-NLS-1$
- boolean selected = (sel != null && sel.equals("true")); //$NON-NLS-1$
- bookmarks.add(new MetadataRepositoryElement(url, selected));
- }
-
- private static void createFolder(Node child, Vector bookmarks) {
- if (child.hasChildNodes())
- processChildren(child.getChildNodes(), bookmarks);
- }
-
- private static String getAttribute(Node node, String name) {
- NamedNodeMap atts = node.getAttributes();
- Node att = atts.getNamedItem(name);
- if (att != null) {
- return att.getNodeValue();
- }
- return ""; //$NON-NLS-1$
- }
-
- private static void store(String fileName, Vector bookmarks) {
- FileOutputStream fos = null;
- OutputStreamWriter osw = null;
- PrintWriter writer = null;
- try {
- fos = new FileOutputStream(fileName);
- osw = new OutputStreamWriter(fos, "UTF8"); //$NON-NLS-1$
- writer = new PrintWriter(osw);
- writer.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); //$NON-NLS-1$
- writer.println("<bookmarks>"); //$NON-NLS-1$
- for (int i = 0; i < bookmarks.size(); i++) {
- Object obj = bookmarks.get(i);
- writeObject(" ", obj, writer); //$NON-NLS-1$
- }
- } catch (IOException e) {
- logFail(e);
- } finally {
- writer.println("</bookmarks>"); //$NON-NLS-1$
- writer.flush();
- writer.close();
- try {
- if (osw != null)
- osw.close();
- } catch (IOException e1) {
- logFail(e1);
- }
- try {
- if (fos != null)
- fos.close();
- } catch (IOException e2) {
- logFail(e2);
- }
- }
- }
-
- private static void writeObject(String indent, Object obj, PrintWriter writer) {
- if (obj instanceof MetadataRepositoryElement) {
- MetadataRepositoryElement element = (MetadataRepositoryElement) obj;
- String sel = element.isEnabled() ? "true" : "false"; //$NON-NLS-1$ //$NON-NLS-2$
- String name = element.getName();
- writer.print(indent + "<site url=\"" + element.getLocation() + "\" selected=\"" + sel + "\" name=\"" + getWritableXMLString(name) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- writer.println("/>"); //$NON-NLS-1$
- }
- }
-
- public static boolean requiresInstallHandlerSupport(ProvisioningPlan plan) {
- Operand[] operands = plan.getOperands();
- for (int i = 0; i < operands.length; i++) {
- if (operands[i] instanceof InstallableUnitOperand) {
- IInstallableUnit iu = ((InstallableUnitOperand) operands[i]).second();
- if (iu != null && iu.getProperty(ECLIPSE_INSTALL_HANDLER_PROP) != null)
- return true;
- }
- }
- return false;
-
- }
-
- /**
- * Prompt the user for a file and import the sites specified in that
- * file.
- * @param shell the shell used to parent any dialogs used.
- */
- public static void importSites(Shell shell) {
- FileDialog dialog = new FileDialog(shell);
- dialog.setText(ProvUIMessages.UpdateManagerCompatibility_ImportSitesTitle);
- dialog.setFilterExtensions(new String[] {"*.xml", "*"}); //$NON-NLS-1$ //$NON-NLS-2$
-
- MetadataRepositoryElement[] sites = null;
-
- String bookmarksFile = dialog.open();
- while (bookmarksFile != null && sites == null) {
- File file = new File(bookmarksFile);
- Vector bookmarks = new Vector();
- parse(file.getAbsolutePath(), bookmarks);
- sites = getSites(bookmarks);
- if (sites == null || sites.length == 0) {
- MessageDialog.openInformation(shell, ProvUIMessages.UpdateManagerCompatibility_InvalidSitesTitle, ProvUIMessages.UpdateManagerCompatibility_InvalidSiteFileMessage);
- bookmarksFile = dialog.open();
- } else {
- ElementUtils.updateRepositoryUsingElements(getSites(bookmarks), shell);
- }
- }
- }
-
- /**
- * Export the specified list of sites to a bookmarks file that
- * can be read later.
- *
- * @param shell the shell used to parent the export dialog
- * @param sites the sites to export
- */
-
- public static void exportSites(Shell shell, MetadataRepositoryElement[] sites) {
- FileDialog dialog = new FileDialog(shell, SWT.SAVE);
- dialog.setText(ProvUIMessages.UpdateManagerCompatibility_ExportSitesTitle);
- dialog.setFileName("bookmarks.xml"); //$NON-NLS-1$
-
- String bookmarksFile = dialog.open();
- if (bookmarksFile == null)
- return;
-
- Vector bookmarks = new Vector(sites.length);
- for (int i = 0; i < sites.length; i++)
- bookmarks.add(sites[i]);
- store(bookmarksFile, bookmarks);
- }
-
- /**
- * Open the old UpdateManager installer UI using the specified shell.
- * We do not call the UpdateManagerUI class directly because we want to be able to be configured
- * without requiring those plug-ins. Instead, we invoke a known command.
- */
- public static void openInstaller() {
- runCommand(UPDATE_MANAGER_FIND_AND_INSTALL, ProvUIMessages.UpdateManagerCompatibility_UnableToOpenFindAndInstall);
- }
-
- /**
- * Open the old UpdateManager configuration manager UI using the specified shell.
- * We do not call the UpdateManagerUI class directly because we want to be able to be configured
- * without requiring those plug-ins. Instead, we invoke a known command.
- */
- public static void openConfigurationManager() {
- runCommand(UPDATE_MANAGER_MANAGE_CONFIGURATION, ProvUIMessages.UpdateManagerCompatibility_UnableToOpenManageConfiguration);
- }
-
- private static void runCommand(String commandId, String errorMessage) {
- ICommandService commandService = (ICommandService) PlatformUI.getWorkbench().getService(ICommandService.class);
- Command command = commandService.getCommand(commandId);
- if (!command.isDefined()) {
- return;
- }
- IHandlerService handlerService = (IHandlerService) PlatformUI.getWorkbench().getService(IHandlerService.class);
- try {
- handlerService.executeCommand(commandId, null);
- } catch (ExecutionException e) {
- reportFail(errorMessage, e);
- } catch (NotDefinedException e) {
- reportFail(errorMessage, e);
- } catch (NotEnabledException e) {
- reportFail(errorMessage, e);
- } catch (NotHandledException e) {
- reportFail(errorMessage, e);
- }
- }
-
- private static void logFail(Throwable t) {
- Status failStatus = new Status(IStatus.ERROR, ProvUIActivator.PLUGIN_ID, t.getLocalizedMessage(), t);
- ProvUI.reportStatus(failStatus, StatusManager.LOG);
-
- }
-
- private static void reportFail(String message, Throwable t) {
- Status failStatus = new Status(IStatus.ERROR, ProvUIActivator.PLUGIN_ID, message, t);
- ProvUI.reportStatus(failStatus, StatusManager.BLOCK | StatusManager.LOG);
-
- }
-
- private static String getWritableXMLString(String value) {
- StringBuffer buf = new StringBuffer();
- if (value == null)
- return buf.toString();
- for (int i = 0; i < value.length(); i++) {
- char c = value.charAt(i);
- switch (c) {
- case '&' :
- buf.append("&"); //$NON-NLS-1$
- break;
- case '<' :
- buf.append("<"); //$NON-NLS-1$
- break;
- case '>' :
- buf.append(">"); //$NON-NLS-1$
- break;
- case '\'' :
- buf.append("'"); //$NON-NLS-1$
- break;
- case '\"' :
- buf.append("""); //$NON-NLS-1$
- break;
- default :
- buf.append(c);
- break;
- }
- }
- return buf.toString();
- }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/ValidationDialogServiceUI.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/ValidationDialogServiceUI.java
deleted file mode 100644
index 8689a7e..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/ValidationDialogServiceUI.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui;
-
-import java.security.cert.Certificate;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.core.IServiceUI;
-import org.eclipse.equinox.internal.provisional.p2.ui.dialogs.TrustCertificateDialog;
-import org.eclipse.equinox.internal.provisional.p2.ui.dialogs.UserValidationDialog;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.window.Window;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * The default GUI-based implementation of {@link IServiceUI}.
- */
-public class ValidationDialogServiceUI implements IServiceUI {
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.core.IServiceUI#getUsernamePassword(java.lang.String)
- */
- public AuthenticationInfo getUsernamePassword(final String location) {
-
- final AuthenticationInfo[] result = new AuthenticationInfo[1];
- PlatformUI.getWorkbench().getDisplay().syncExec(new Runnable() {
-
- public void run() {
- Shell shell = ProvUI.getDefaultParentShell();
- String[] buttonLabels = new String[] {ProvUIMessages.ServiceUI_OK, ProvUIMessages.ServiceUI_Cancel};
- String message = NLS.bind(ProvUIMessages.ServiceUI_LoginDetails, location);
- UserValidationDialog dialog = new UserValidationDialog(shell, ProvUIMessages.ServiceUI_LoginRequired, null, message, buttonLabels);
- if (dialog.open() == Window.OK) {
- result[0] = dialog.getResult();
- }
- }
-
- });
- return result[0];
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.core.IServiceUI#showCertificates(java.lang.Object)
- */
- public Certificate[] showCertificates(final Certificate[][] certificates) {
- final Object[] result = new Object[1];
- final TreeNode[] input = createTreeNodes(certificates);
- PlatformUI.getWorkbench().getDisplay().syncExec(new Runnable() {
- public void run() {
- Shell shell = ProvUI.getDefaultParentShell();
- ILabelProvider labelProvider = new CertificateLabelProvider();
- TreeNodeContentProvider contentProvider = new TreeNodeContentProvider();
- TrustCertificateDialog trustCertificateDialog = new TrustCertificateDialog(shell, input, labelProvider, contentProvider);
- trustCertificateDialog.open();
- Certificate[] values = new Certificate[trustCertificateDialog.getResult() == null ? 0 : trustCertificateDialog.getResult().length];
- for (int i = 0; i < values.length; i++) {
- values[i] = (Certificate) ((TreeNode) trustCertificateDialog.getResult()[i]).getValue();
- }
- result[0] = values;
- }
- });
- return (Certificate[]) result[0];
- }
-
- private TreeNode[] createTreeNodes(Certificate[][] certificates) {
- TreeNode[] children = new TreeNode[certificates.length];
- for (int i = 0; i < certificates.length; i++) {
- TreeNode head = new TreeNode(certificates[i][0]);
- TreeNode parent = head;
- children[i] = head;
- for (int j = 0; j < certificates[i].length; j++) {
- TreeNode node = new TreeNode(certificates[i][j]);
- node.setParent(parent);
- parent.setChildren(new TreeNode[] {node});
- parent = node;
- }
- }
- return children;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/actions/InstallAction.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/actions/InstallAction.java
deleted file mode 100644
index fe0744e..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/actions/InstallAction.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.provisional.p2.ui.actions;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.equinox.internal.p2.ui.PlanStatusHelper;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningContext;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.ui.*;
-import org.eclipse.equinox.internal.provisional.p2.ui.dialogs.InstallWizard;
-import org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningUtil;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.Policies;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-
-public class InstallAction extends ProfileModificationAction {
-
- public static ProvisioningPlan computeProvisioningPlan(IInstallableUnit[] ius, String targetProfileId, IProgressMonitor monitor) throws ProvisionException {
- MultiStatus additionalStatus = PlanStatusHelper.getProfileChangeAlteredStatus();
- ProfileChangeRequest request = ProfileChangeRequest.createByProfileId(targetProfileId);
- // Now check each individual IU for special cases
- IProfile profile = ProvisioningUtil.getProfile(targetProfileId);
- for (int i = 0; i < ius.length; i++) {
- // If the user is installing a patch, we mark it optional. This allows
- // the patched IU to be updated later by removing the patch.
- if (Boolean.toString(true).equals(ius[i].getProperty(IInstallableUnit.PROP_TYPE_PATCH)))
- request.setInstallableUnitInclusionRules(ius[i], PlannerHelper.createOptionalInclusionRule(ius[i]));
-
- // Check to see if it is already installed. This may alter the request.
- Collector alreadyInstalled = profile.query(new InstallableUnitQuery(ius[i].getId()), new Collector(), null);
- if (alreadyInstalled.size() > 0) {
- IInstallableUnit installedIU = (IInstallableUnit) alreadyInstalled.iterator().next();
- int compareTo = ius[i].getVersion().compareTo(installedIU.getVersion());
- // If the iu is a newer version of something already installed, consider this an
- // update request
- if (compareTo > 0) {
- request.addInstallableUnits(new IInstallableUnit[] {ius[i]});
- request.removeInstallableUnits(new IInstallableUnit[] {installedIU});
- // Mark it as a root if it hasn't been already
- if (!Boolean.toString(true).equals(profile.getInstallableUnitProperty(installedIU, IInstallableUnit.PROP_PROFILE_ROOT_IU)))
- request.setInstallableUnitProfileProperty(ius[i], IInstallableUnit.PROP_PROFILE_ROOT_IU, Boolean.toString(true));
- // Add a status informing the user that the update has been inferred
- additionalStatus.merge(PlanStatusHelper.getStatus(IStatusCodes.IMPLIED_UPDATE, ius[i]));
- } else if (compareTo < 0) {
- // An implied downgrade. We will not put this in the plan, add a status informing the user
- additionalStatus.merge(PlanStatusHelper.getStatus(IStatusCodes.IGNORED_IMPLIED_DOWNGRADE, ius[i]));
- } else {
- if (Boolean.toString(true).equals(profile.getInstallableUnitProperty(installedIU, IInstallableUnit.PROP_PROFILE_ROOT_IU)))
- // It is already a root, nothing to do. We tell the user it was already installed
- additionalStatus.merge(PlanStatusHelper.getStatus(IStatusCodes.IGNORED_ALREADY_INSTALLED, ius[i]));
- else
- // It was already installed but not as a root. Nothing to tell the user, it will just seem like a fast install.
- request.setInstallableUnitProfileProperty(ius[i], IInstallableUnit.PROP_PROFILE_ROOT_IU, Boolean.toString(true));
- }
- } else {
- // Install it and mark as a root
- request.addInstallableUnits(new IInstallableUnit[] {ius[i]});
- request.setInstallableUnitProfileProperty(ius[i], IInstallableUnit.PROP_PROFILE_ROOT_IU, Boolean.toString(true));
- }
- }
- // Now that we know what we are requesting, get the plan
- ProvisioningPlan plan = ProvisioningUtil.getProvisioningPlan(request, new ProvisioningContext(), monitor);
-
- // If we recorded additional status along the way, build a plan that merges in this status.
- // Ideally this all would have been detected in the planner itself.
- if (additionalStatus.getChildren().length > 0) {
- additionalStatus.merge(plan.getStatus());
- plan = new ProvisioningPlan(additionalStatus, plan.getOperands());
- }
- // Now run the result through the sanity checker. Again, this would ideally be caught
- // in the planner, but for now we have to build a new plan to include the UI status checking.
- return new ProvisioningPlan(PlanStatusHelper.computeStatus(plan, ius), plan.getOperands());
- }
-
- public InstallAction(ISelectionProvider selectionProvider, String profileId, IProfileChooser chooser, Policies policies, Shell shell) {
- super(ProvUI.INSTALL_COMMAND_LABEL, selectionProvider, profileId, chooser, policies, shell);
- setToolTipText(ProvUI.INSTALL_COMMAND_TOOLTIP);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.ui.actions.ProfileModificationAction#isEnabledFor(java.lang.Object[])
- */
- protected boolean isEnabledFor(Object[] selectionArray) {
- if (selectionArray.length == 0)
- return false;
- // We allow non-IU's to be selected at this point, but there
- // must be at least one installable unit selected that is
- // not a category.
- for (int i = 0; i < selectionArray.length; i++) {
- IInstallableUnit iu = getIU(selectionArray[i]);
- if (iu != null && !ProvisioningUtil.isCategory(iu))
- return true;
- }
- return false;
- }
-
- protected String getTaskName() {
- return ProvUIMessages.InstallIUProgress;
- }
-
- protected int performOperation(IInstallableUnit[] ius, String targetProfileId, ProvisioningPlan plan) {
- InstallWizard wizard = new InstallWizard(targetProfileId, ius, plan, getLicenseManager());
- WizardDialog dialog = new WizardDialog(getShell(), wizard);
- dialog.create();
- PlatformUI.getWorkbench().getHelpSystem().setHelp(dialog.getShell(), IProvHelpContextIds.INSTALL_WIZARD);
-
- return dialog.open();
- }
-
- protected ProvisioningPlan getProvisioningPlan(IInstallableUnit[] ius, String targetProfileId, IProgressMonitor monitor) throws ProvisionException {
- return computeProvisioningPlan(ius, targetProfileId, monitor);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/actions/ProfileModificationAction.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/actions/ProfileModificationAction.java
deleted file mode 100644
index 8bc179a..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/actions/ProfileModificationAction.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.provisional.p2.ui.actions;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.director.ProvisioningPlan;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.ui.*;
-import org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningUtil;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.*;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-public abstract class ProfileModificationAction extends ProvisioningAction {
- public static final int ACTION_NOT_RUN = -1;
- private String profileId;
- private String userChosenProfileId;
- IProfileChooser profileChooser;
- Policies policies;
- int result = ACTION_NOT_RUN;
-
- protected ProfileModificationAction(String text, ISelectionProvider selectionProvider, String profileId, IProfileChooser profileChooser, Policies policies, Shell shell) {
- super(text, selectionProvider, shell);
- this.profileId = profileId;
- this.profileChooser = profileChooser;
- this.policies = policies;
- init();
- }
-
- protected ProvisioningPlan getProvisioningPlan() {
- final String id = getProfileId(true);
- // We could not figure out a profile to operate on, so return
- if (id == null) {
- return null;
- }
-
- final IInstallableUnit[] ius = getSelectedIUs();
- final ProvisioningPlan[] plan = new ProvisioningPlan[1];
- IRunnableWithProgress runnable = new IRunnableWithProgress() {
- public void run(IProgressMonitor monitor) {
- try {
- plan[0] = getProvisioningPlan(ius, id, monitor);
- } catch (ProvisionException e) {
- ProvUI.handleException(e, ProvUIMessages.ProfileModificationAction_UnexpectedError, StatusManager.BLOCK | StatusManager.LOG);
- }
- }
- };
- try {
- new ProgressMonitorDialog(getShell()).run(true, true, runnable);
- } catch (InterruptedException e) {
- // don't report thread interruption
- } catch (InvocationTargetException e) {
- ProvUI.handleException(e.getCause(), ProvUIMessages.ProfileModificationAction_UnexpectedError, StatusManager.BLOCK | StatusManager.LOG);
- }
- return plan[0];
- }
-
- public void run() {
- ProvisioningPlan plan = getProvisioningPlan();
- if (validatePlan(plan))
- result = performOperation(getSelectedIUs(), getProfileId(true), plan);
- else
- result = Window.CANCEL;
- userChosenProfileId = null;
- }
-
- /**
- * Get the integer return code returned by any wizards launched by this
- * action. If the action has not been run, return ACTION_NOT_RUN. If the
- * action does not open a wizard, return Window.OK if the operation was performed,
- * and Window.CANCEL if it was canceled.
- *
- * @return integer return code
- */
- public int getReturnCode() {
- return result;
- }
-
- /**
- * Validate the plan and return true if the operation should
- * be performed with plan. Report any errors to the user before returning false.
- * @param plan
- * @return a boolean indicating whether the plan should be used in a
- * provisioning operation.
- */
- protected boolean validatePlan(ProvisioningPlan plan) {
- if (plan != null) {
- // Don't validate the plan if the user cancelled
- if (plan.getStatus().getSeverity() == IStatus.CANCEL)
- return false;
- if (getPlanValidator() != null)
- return getPlanValidator().continueWorkingWithPlan(plan, getShell());
- if (plan.getStatus().isOK())
- return true;
- ProvUI.reportStatus(plan.getStatus(), StatusManager.BLOCK | StatusManager.LOG);
- return false;
- }
- return false;
- }
-
- /*
- * Get a provisioning plan for this action.
- */
- protected abstract ProvisioningPlan getProvisioningPlan(IInstallableUnit[] ius, String targetProfileId, IProgressMonitor monitor) throws ProvisionException;
-
- protected abstract int performOperation(IInstallableUnit[] ius, String targetProfileId, ProvisioningPlan plan);
-
- protected abstract String getTaskName();
-
- protected IInstallableUnit getIU(Object element) {
- return (IInstallableUnit) ProvUI.getAdapter(element, IInstallableUnit.class);
-
- }
-
- protected IInstallableUnit[] getSelectedIUs() {
- List elements = getStructuredSelection().toList();
- List iusList = new ArrayList(elements.size());
-
- for (int i = 0; i < elements.size(); i++) {
- IInstallableUnit iu = getIU(elements.get(i));
- if (iu != null && !ProvisioningUtil.isCategory(iu))
- iusList.add(iu);
- }
-
- return (IInstallableUnit[]) iusList.toArray(new IInstallableUnit[iusList.size()]);
- }
-
- protected LicenseManager getLicenseManager() {
- return policies.getLicenseManager();
- }
-
- protected IQueryProvider getQueryProvider() {
- return policies.getQueryProvider();
- }
-
- protected IPlanValidator getPlanValidator() {
- return policies.getPlanValidator();
- }
-
- protected Policies getPolicies() {
- return policies;
- }
-
- protected final void checkEnablement(Object[] selections) {
- if (isEnabledFor(selections)) {
- String id = getProfileId(false);
- if (id == null)
- setEnabled(true);
- else
- setEnabled(!ProvisioningOperationRunner.hasScheduledOperationsFor(id));
- } else
- setEnabled(false);
- }
-
- protected abstract boolean isEnabledFor(Object[] selections);
-
- protected int getLock(IProfile profile, IInstallableUnit iu) {
- if (profile == null)
- return IInstallableUnit.LOCK_NONE;
- try {
- String value = profile.getInstallableUnitProperty(iu, IInstallableUnit.PROP_PROFILE_LOCKED_IU);
- if (value != null)
- return Integer.parseInt(value);
- } catch (NumberFormatException e) {
- // ignore and assume no lock
- }
- return IInstallableUnit.LOCK_NONE;
- }
-
- protected IProfile getProfile(boolean chooseProfile) {
- try {
- String id = getProfileId(chooseProfile);
- if (id == null)
- return null;
- return ProvisioningUtil.getProfile(id);
- } catch (ProvisionException e) {
- // ignore, we have bigger problems to report elsewhere
- }
- return null;
- }
-
- protected String getProfileId(boolean chooseProfile) {
- if (profileId != null)
- return profileId;
- if (userChosenProfileId != null)
- return userChosenProfileId;
- if (chooseProfile && profileChooser != null) {
- userChosenProfileId = profileChooser.getProfileId(getShell());
- return userChosenProfileId;
- }
- return null;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/actions/PropertyDialogAction.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/actions/PropertyDialogAction.java
deleted file mode 100644
index 917fd02..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/actions/PropertyDialogAction.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.provisional.p2.ui.actions;
-
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.window.IShellProvider;
-
-/**
- * PropertyDialogAction which sets its enablement on construction.
- *
- * @since 3.4
- *
- */
-
-public class PropertyDialogAction extends org.eclipse.ui.dialogs.PropertyDialogAction {
- public PropertyDialogAction(IShellProvider shell, ISelectionProvider provider) {
- super(shell, provider);
- // prime the selection validation
- ISelection selection = provider.getSelection();
- if (selection instanceof IStructuredSelection) {
- selectionChanged((IStructuredSelection) selection);
- } else {
- selectionChanged(selection);
- }
-
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/actions/ProvisioningAction.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/actions/ProvisioningAction.java
deleted file mode 100644
index 04d7036..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/actions/ProvisioningAction.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.equinox.internal.provisional.p2.ui.actions;
-
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.SelectionProviderAction;
-
-public abstract class ProvisioningAction extends SelectionProviderAction {
-
- private Shell shell;
-
- protected ProvisioningAction(String text, ISelectionProvider selectionProvider, Shell shell) {
- super(selectionProvider, text);
- this.shell = shell;
- }
-
- /*
- * perform initialization that should be done after creation.
- */
- protected void init() {
- // prime the selection validation
- ISelection selection = getSelection();
- if (selection instanceof IStructuredSelection) {
- selectionChanged((IStructuredSelection) selection);
- } else {
- selectionChanged(selection);
- }
- }
-
- protected Shell getShell() {
- if (shell == null)
- return PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
- return shell;
- }
-
- /*
- * Overridden to use the selection from the selection provider, not the one
- * from the triggering event. Some selection providers reinterpret the raw selections
- * (non-Javadoc)
- * @see org.eclipse.ui.actions.SelectionProviderAction#selectionChanged(org.eclipse.jface.viewers.IStructuredSelection)
- */
- public final void selectionChanged(IStructuredSelection selection) {
- ISelection providerSelection = getSelectionProvider().getSelection();
- if (providerSelection instanceof IStructuredSelection) {
- checkEnablement(((IStructuredSelection) providerSelection).toArray());
- } else {
- // shouldn't really happen, but a provider could decide to de-structure the selection
- selectionChanged(providerSelection);
- }
- }
-
- protected void checkEnablement(Object[] selections) {
- // Default is to nothing
- }
-
- /**
- * Recheck the enablement. Called by clients when some condition outside of
- * the action that may effect its enablement should be changed.
- */
- public final void checkEnablement() {
- ISelection selection = getSelection();
- if (selection instanceof IStructuredSelection) {
- checkEnablement(((IStructuredSelection) selection).toArray());
- } else {
- selectionChanged(selection);
- }
- }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/actions/RefreshAction.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/actions/RefreshAction.java
deleted file mode 100644
index e058fe9..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/actions/RefreshAction.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.equinox.internal.provisional.p2.ui.actions;
-
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * @since 3.4
- *
- */
-public abstract class RefreshAction extends ProvisioningAction {
-
- /**
- */
- public RefreshAction(ISelectionProvider selectionProvider, Control control) {
- super(ProvUIMessages.RefreshAction_Label, selectionProvider, control.getShell());
- setToolTipText(ProvUIMessages.RefreshAction_Tooltip);
- hookKeyListener(control);
- init();
- }
-
- private void hookKeyListener(Control control) {
- control.addKeyListener(new KeyAdapter() {
- public void keyReleased(KeyEvent e) {
- handleKeyReleased(e);
- }
- });
- }
-
- public void run() {
- refresh();
- }
-
- protected abstract void refresh();
-
- /**
- * Handle a key released event. Used internally and also
- * made available so that clients can watch key events from
- * any other controls and dispatch to this action.
- *
- * @param event the key event
- */
- public void handleKeyReleased(KeyEvent event) {
- if (event.keyCode == SWT.F5 && event.stateMask == 0) {
- refresh();
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/actions/RevertAction.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/actions/RevertAction.java
deleted file mode 100644
index bbe43ff..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/actions/RevertAction.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.provisional.p2.ui.actions;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.director.ProvisioningPlan;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.ui.*;
-import org.eclipse.equinox.internal.provisional.p2.ui.operations.*;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.Policies;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-public class RevertAction extends ProfileModificationAction {
-
- public RevertAction(ISelectionProvider selectionProvider, String profileId, IProfileChooser chooser, Policies policies, Shell shell) {
- super(ProvUI.REVERT_COMMAND_LABEL, selectionProvider, profileId, chooser, policies, shell);
- setToolTipText(ProvUI.REVERT_COMMAND_TOOLTIP);
- }
-
- protected ProvisioningPlan getProvisioningPlan(IInstallableUnit[] toRevert, String targetProfileId, IProgressMonitor monitor) throws ProvisionException {
- if (toRevert.length == 1)
- return ProvisioningUtil.getRevertPlan(toRevert[0], monitor);
- // should never happen
- return null;
- }
-
- protected int performOperation(IInstallableUnit[] toBecome, String targetProfileId, ProvisioningPlan plan) {
- ProvisioningOperation op = new ProfileModificationOperation(ProvUIMessages.RevertIUOperationLabel, targetProfileId, plan);
- ProvisioningOperationRunner.schedule(op, getShell(), StatusManager.SHOW | StatusManager.LOG);
- return Window.OK;
- }
-
- /*
- * Overridden to only allow selection of single rollback IU's
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.ui.actions.ProfileModificationAction#isEnabledFor(java.lang.Object[])
- */
- protected boolean isEnabledFor(Object[] selectionArray) {
- if (selectionArray.length == 1) {
- IInstallableUnit iu = getIU(selectionArray[0]);
- if (iu != null) {
- return Boolean.valueOf(iu.getProperty(IInstallableUnit.PROP_TYPE_PROFILE)).booleanValue();
- }
- }
- return false;
- }
-
- protected String getTaskName() {
- return ProvUIMessages.RevertIUProgress;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/actions/UninstallAction.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/actions/UninstallAction.java
deleted file mode 100644
index 958a8f9..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/actions/UninstallAction.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.provisional.p2.ui.actions;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.director.ProvisioningPlan;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningContext;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.ui.*;
-import org.eclipse.equinox.internal.provisional.p2.ui.dialogs.UninstallWizard;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.InstalledIUElement;
-import org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningUtil;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.Policies;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-
-public class UninstallAction extends ProfileModificationAction {
-
- public UninstallAction(ISelectionProvider selectionProvider, String profileId, IProfileChooser chooser, Policies policies, Shell shell) {
- super(ProvUI.UNINSTALL_COMMAND_LABEL, selectionProvider, profileId, chooser, policies, shell);
- setToolTipText(ProvUI.UNINSTALL_COMMAND_TOOLTIP);
- }
-
- protected boolean isEnabledFor(Object[] selectionArray) {
- Object parent = null;
- // We don't want to prompt for a profile during validation,
- // so we only consider the profile id.
- IProfile profile = getProfile(false);
- if (profile == null)
- return false;
- if (selectionArray.length > 0) {
- for (int i = 0; i < selectionArray.length; i++) {
- if (selectionArray[i] instanceof InstalledIUElement) {
- InstalledIUElement element = (InstalledIUElement) selectionArray[i];
- int lock = getLock(profile, element.getIU());
- if ((lock & IInstallableUnit.LOCK_UNINSTALL) == IInstallableUnit.LOCK_UNINSTALL)
- return false;
- if (parent == null) {
- parent = element.getParent(null);
- } else if (parent != element.getParent(null)) {
- return false;
- }
- } else {
- return false;
- }
- }
- return true;
- }
- return false;
- }
-
- protected String getTaskName() {
- return ProvUIMessages.UninstallIUProgress;
- }
-
- protected int performOperation(IInstallableUnit[] ius, String targetProfileId, ProvisioningPlan plan) {
- UninstallWizard wizard = new UninstallWizard(targetProfileId, ius, plan);
- WizardDialog dialog = new WizardDialog(getShell(), wizard);
- dialog.create();
- PlatformUI.getWorkbench().getHelpSystem().setHelp(dialog.getShell(), IProvHelpContextIds.UNINSTALL_WIZARD);
-
- return dialog.open();
- }
-
- protected ProvisioningPlan getProvisioningPlan(IInstallableUnit[] ius, String targetProfileId, IProgressMonitor monitor) throws ProvisionException {
- ProfileChangeRequest request = ProfileChangeRequest.createByProfileId(targetProfileId);
- request.removeInstallableUnits(ius);
- return ProvisioningUtil.getProvisioningPlan(request, new ProvisioningContext(), monitor);
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/actions/UpdateAction.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/actions/UpdateAction.java
deleted file mode 100644
index 6a22b22..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/actions/UpdateAction.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.provisional.p2.ui.actions;
-
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.ui.ProvUIActivator;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.p2.ui.model.AvailableUpdateElement;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.director.ProvisioningPlan;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningContext;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.ui.*;
-import org.eclipse.equinox.internal.provisional.p2.ui.dialogs.UpdateWizard;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.InstalledIUElement;
-import org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningUtil;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.IQueryProvider;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.Policies;
-import org.eclipse.equinox.internal.provisional.p2.ui.query.ElementQueryDescriptor;
-import org.eclipse.equinox.internal.provisional.p2.updatechecker.UpdateEvent;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-
-public class UpdateAction extends ProfileModificationAction {
-
- ArrayList allReplacements; // cache all the replacements found to seed the wizard
- HashMap latestReplacements;
-
- public UpdateAction(ISelectionProvider selectionProvider, String profileId, IProfileChooser chooser, Policies policies, Shell shell) {
- super(ProvUI.UPDATE_COMMAND_LABEL, selectionProvider, profileId, chooser, policies, shell);
- setToolTipText(ProvUI.UPDATE_COMMAND_TOOLTIP);
- }
-
- protected int performOperation(IInstallableUnit[] ius, String targetProfileId, ProvisioningPlan plan) {
- // Caches should have been created while formulating the plan
- Assert.isNotNull(latestReplacements);
- Assert.isNotNull(allReplacements);
- Assert.isNotNull(plan);
-
- UpdateWizard wizard = new UpdateWizard(targetProfileId, ius, (AvailableUpdateElement[]) allReplacements.toArray(new AvailableUpdateElement[allReplacements.size()]), latestReplacements.values().toArray(), plan, getLicenseManager());
- WizardDialog dialog = new WizardDialog(getShell(), wizard);
- dialog.create();
- PlatformUI.getWorkbench().getHelpSystem().setHelp(dialog.getShell(), IProvHelpContextIds.UPDATE_WIZARD);
-
- return dialog.open();
- }
-
- protected ProvisioningPlan getProvisioningPlan(IInstallableUnit[] ius, String targetProfileId, IProgressMonitor monitor) throws ProvisionException {
- // Here we create a provisioning plan by finding the latest version available for any replacement.
- // TODO to be smarter, we could check older versions if a new version made a plan invalid.
- ArrayList toBeUpdated = new ArrayList();
- latestReplacements = new HashMap();
- allReplacements = new ArrayList();
- for (int i = 0; i < ius.length; i++) {
- UpdateEvent event = new UpdateEvent(targetProfileId, new IInstallableUnit[] {ius[i]});
- ElementQueryDescriptor descriptor = getQueryProvider().getQueryDescriptor(event, IQueryProvider.AVAILABLE_UPDATES);
- Iterator iter = descriptor.queryable.query(descriptor.query, descriptor.collector, null).iterator();
- if (iter.hasNext())
- toBeUpdated.add(ius[i]);
- ArrayList currentReplacements = new ArrayList();
- while (iter.hasNext()) {
- IInstallableUnit iu = (IInstallableUnit) ProvUI.getAdapter(iter.next(), IInstallableUnit.class);
- if (iu != null) {
- AvailableUpdateElement element = new AvailableUpdateElement(iu, ius[i], targetProfileId);
- currentReplacements.add(element);
- allReplacements.add(element);
- }
- }
- for (int j = 0; j < currentReplacements.size(); j++) {
- AvailableUpdateElement replacementElement = (AvailableUpdateElement) currentReplacements.get(j);
- AvailableUpdateElement latestElement = (AvailableUpdateElement) latestReplacements.get(replacementElement.getIU().getId());
- IInstallableUnit latestIU = latestElement == null ? null : latestElement.getIU();
- if (latestIU == null || replacementElement.getIU().getVersion().compareTo(latestIU.getVersion()) > 0)
- latestReplacements.put(replacementElement.getIU().getId(), replacementElement);
- }
- }
- if (toBeUpdated.size() <= 0) {
- return new ProvisioningPlan(new Status(IStatus.INFO, ProvUIActivator.PLUGIN_ID, IStatusCodes.NOTHING_TO_UPDATE, ProvUIMessages.UpdateOperation_NothingToUpdate, null));
- }
-
- ProfileChangeRequest request = ProfileChangeRequest.createByProfileId(targetProfileId);
- Iterator iter = toBeUpdated.iterator();
- while (iter.hasNext())
- request.removeInstallableUnits(new IInstallableUnit[] {(IInstallableUnit) iter.next()});
- iter = latestReplacements.values().iterator();
- while (iter.hasNext())
- request.addInstallableUnits(new IInstallableUnit[] {((AvailableUpdateElement) iter.next()).getIU()});
- ProvisioningPlan plan = ProvisioningUtil.getProvisioningPlan(request, new ProvisioningContext(), monitor);
- return plan;
- }
-
- protected boolean isEnabledFor(Object[] selectionArray) {
- Object parent = null;
- // We cache the profile for performance reasons rather than get it for
- // each IU. Note that below we reject any selection
- // with different parents, so if there were IU's selected from multiple
- // profiles, we catch this case and disable the action.
- IProfile profile = getProfile(false);
- if (profile == null)
- return false;
- if (selectionArray.length > 0) {
- for (int i = 0; i < selectionArray.length; i++) {
- if (selectionArray[i] instanceof InstalledIUElement) {
- InstalledIUElement element = (InstalledIUElement) selectionArray[i];
- int lock = getLock(profile, element.getIU());
- if ((lock & IInstallableUnit.LOCK_UPDATE) == IInstallableUnit.LOCK_UPDATE)
- return false;
- if (parent == null) {
- parent = element.getParent(null);
- } else if (parent != element.getParent(null)) {
- return false;
- }
- } else {
- return false;
- }
- }
- return true;
- }
- return false;
- }
-
- protected String getTaskName() {
- return ProvUIMessages.UpdateIUProgress;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/AddRepositoryDialog.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/AddRepositoryDialog.java
deleted file mode 100644
index aa3a964..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/AddRepositoryDialog.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.dialogs;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.ui.ProvUIActivator;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.ui.IProvHelpContextIds;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvisioningOperationRunner;
-import org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningOperation;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-/**
- * Abstract dialog class for adding repositories of different types. This class
- * assumes the user view of a repository is a name and URL (and possibly other
- * info as this class develops). Individual subclasses will dictate what kind of
- * repository and how it's created.
- *
- * @since 3.4
- *
- */
-public abstract class AddRepositoryDialog extends StatusDialog {
-
- Button okButton;
- Text url;
- URLValidator urlValidator;
- static final String[] ARCHIVE_EXTENSIONS = new String[] {"*.jar;*.zip"}; //$NON-NLS-1$
- static String lastLocalLocation = null;
- static String lastArchiveLocation = null;
- protected int repoFlag;
-
- public AddRepositoryDialog(Shell parentShell, int repoFlag) {
-
- super(parentShell);
- this.repoFlag = repoFlag;
- urlValidator = createURLValidator();
- setTitle(ProvUIMessages.AddRepositoryDialog_Title);
- PlatformUI.getWorkbench().getHelpSystem().setHelp(parentShell, IProvHelpContextIds.ADD_REPOSITORY_DIALOG);
- }
-
- protected void createButtonsForButtonBar(Composite parent) {
- okButton = createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
- createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
- }
-
- protected Control createDialogArea(Composite parent) {
- Composite comp = new Composite(parent, SWT.NONE);
- initializeDialogUnits(comp);
- GridLayout layout = new GridLayout();
- layout.numColumns = 3;
- comp.setLayout(layout);
- GridData data = new GridData();
- comp.setLayoutData(data);
-
- Label urlLabel = new Label(comp, SWT.NONE);
- urlLabel.setText(ProvUIMessages.RepositoryPropertyPage_URLFieldLabel);
- url = new Text(comp, SWT.BORDER);
- data = new GridData(GridData.FILL_HORIZONTAL);
- data.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.ENTRY_FIELD_WIDTH);
- url.setLayoutData(data);
- DropTarget target = new DropTarget(url, DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK);
- target.setTransfer(new Transfer[] {URLTransfer.getInstance(), FileTransfer.getInstance()});
- target.addDropListener(new TextURLDropAdapter(url, true));
- url.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- validateRepositoryURL(false);
- }
- });
- url.setText("http://"); //$NON-NLS-1$
- url.setSelection(0, url.getText().length());
-
- // add vertical buttons for setting archive or local repos
- Composite buttonParent = new Composite(comp, SWT.NONE);
- layout = new GridLayout();
- layout.numColumns = 1;
- layout.marginWidth = 5;
- layout.marginHeight = 0;
- layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
- layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
- buttonParent.setLayout(layout);
- Button locationButton = new Button(buttonParent, SWT.PUSH);
- locationButton.setText(ProvUIMessages.RepositoryGroup_LocalRepoBrowseButton);
- locationButton.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent event) {
- DirectoryDialog dialog = new DirectoryDialog(getShell(), SWT.APPLICATION_MODAL);
- dialog.setMessage(ProvUIMessages.RepositoryGroup_SelectRepositoryDirectory);
- dialog.setFilterPath(lastLocalLocation);
- String path = dialog.open();
- if (path != null) {
- lastLocalLocation = path;
- url.setText(URLValidator.makeFileURLString(path));
- validateRepositoryURL(false);
- }
- }
- });
- setButtonLayoutData(locationButton);
- locationButton = new Button(buttonParent, SWT.PUSH);
- locationButton.setText(ProvUIMessages.RepositoryGroup_ArchivedRepoBrowseButton);
- locationButton.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent event) {
- FileDialog dialog = new FileDialog(getShell(), SWT.APPLICATION_MODAL);
- dialog.setText(ProvUIMessages.RepositoryGroup_RepositoryFile);
- dialog.setFilterExtensions(ARCHIVE_EXTENSIONS);
- dialog.setFileName(lastArchiveLocation);
- String path = dialog.open();
- if (path != null) {
- lastArchiveLocation = path;
- url.setText(URLValidator.makeJarURLString(path));
- validateRepositoryURL(false);
- }
- }
- });
- setButtonLayoutData(locationButton);
- Dialog.applyDialogFont(comp);
- return comp;
- }
-
- protected URLValidator createURLValidator() {
- DefaultMetadataURLValidator validator = new DefaultMetadataURLValidator();
- validator.setKnownRepositoriesFlag(repoFlag);
- return validator;
- }
-
- protected URLValidator getURLValidator() {
- return urlValidator;
- }
-
- protected void okPressed() {
- IStatus status = addRepository();
- if (status.isOK())
- super.okPressed();
-
- }
-
- /**
- * Get the URL as currently typed in by the user. Return null if there
- * is a problem with the URL.
- *
- * @return the URL currently typed in by the user.
- */
- protected URL getUserURL() {
- URL userURL;
- try {
- userURL = new URL(url.getText().trim());
- } catch (MalformedURLException e) {
- return null;
- }
- return userURL;
- }
-
- protected IStatus addRepository() {
- IStatus status = validateRepositoryURL(false);
- if (status.isOK()) {
- ProvisioningOperationRunner.schedule(getOperation(getUserURL()), getShell(), StatusManager.SHOW | StatusManager.LOG);
- }
- return status;
- }
-
- protected abstract ProvisioningOperation getOperation(URL repoURL);
-
- /**
- * Validate the repository URL, returning a status that is appropriate
- * for showing the user. The boolean indicates whether the repositories
- * should be consulted for validating the URL. For example, it is not
- * appropriate to contact the repositories on every keystroke.
- */
- protected IStatus validateRepositoryURL(final boolean contactRepositories) {
- if (url == null || url.isDisposed())
- return Status.OK_STATUS;
- final IStatus[] status = new IStatus[1];
- status[0] = URLValidator.getInvalidURLStatus(url.getText().trim());
- final URL userURL = getUserURL();
- if (url.getText().length() == 0)
- status[0] = new Status(IStatus.ERROR, ProvUIActivator.PLUGIN_ID, URLValidator.LOCAL_VALIDATION_ERROR, ProvUIMessages.RepositoryGroup_URLRequired, null);
- else if (userURL == null)
- status[0] = new Status(IStatus.ERROR, ProvUIActivator.PLUGIN_ID, URLValidator.LOCAL_VALIDATION_ERROR, ProvUIMessages.AddRepositoryDialog_InvalidURL, null);
- else {
- BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() {
- public void run() {
- status[0] = getURLValidator().validateRepositoryURL(userURL, contactRepositories, null);
- }
- });
-
- }
-
- // At this point the subclasses may have decided to opt out of
- // this dialog.
- if (status[0].getSeverity() == IStatus.CANCEL) {
- cancelPressed();
- }
-
- setOkEnablement(status[0].isOK());
- updateStatus(status[0]);
- return status[0];
-
- }
-
- protected void updateButtonsEnableState(IStatus status) {
- setOkEnablement(!status.matches(IStatus.ERROR));
- }
-
- private void setOkEnablement(boolean enable) {
- if (okButton != null && !okButton.isDisposed())
- okButton.setEnabled(enable);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/AvailableIUGroup.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/AvailableIUGroup.java
deleted file mode 100644
index c947d28..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/AvailableIUGroup.java
+++ /dev/null
@@ -1,457 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.dialogs;
-
-import java.net.URL;
-import java.util.*;
-import java.util.List;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.*;
-import org.eclipse.equinox.internal.p2.ui.ProvUIActivator;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.p2.ui.dialogs.DeferredFetchFilteredTree;
-import org.eclipse.equinox.internal.p2.ui.dialogs.StructuredIUGroup;
-import org.eclipse.equinox.internal.p2.ui.viewers.IUDetailsLabelProvider;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.RepositoryEvent;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningContext;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUI;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvisioningOperationRunner;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.IRepositoryElement;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.MetadataRepositories;
-import org.eclipse.equinox.internal.provisional.p2.ui.operations.*;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.IQueryProvider;
-import org.eclipse.equinox.internal.provisional.p2.ui.query.QueriedElement;
-import org.eclipse.equinox.internal.provisional.p2.ui.query.QueryContext;
-import org.eclipse.equinox.internal.provisional.p2.ui.viewers.*;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-/**
- * An AvailableIUGroup is a reusable UI component that displays the
- * IU's available for installation.
- *
- * @since 3.4
- */
-public class AvailableIUGroup extends StructuredIUGroup {
-
- class CheckSelectionProvider implements ISelectionProvider, ICheckStateListener {
-
- CheckboxTreeViewer checkboxViewer;
- private ListenerList listeners = new ListenerList();
- List checkedNotGrayed;
-
- CheckSelectionProvider(CheckboxTreeViewer v) {
- this.checkboxViewer = v;
- v.addCheckStateListener(this);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.ISelectionProvider#addSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener)
- */
- public void addSelectionChangedListener(ISelectionChangedListener listener) {
- listeners.add(listener);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.ISelectionProvider#getSelection()
- */
- public ISelection getSelection() {
- return new IStructuredSelection() {
- public Object getFirstElement() {
- if (size() == 0)
- return null;
- return toList().get(0);
- }
-
- public Iterator iterator() {
- return toList().iterator();
- }
-
- public int size() {
- return toList().size();
- }
-
- public Object[] toArray() {
- return toList().toArray();
- }
-
- public List toList() {
- return getCheckedNotGrayed();
- }
-
- public boolean isEmpty() {
- return toList().isEmpty();
- }
-
- };
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.ISelectionProvider#removeSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener)
- */
- public void removeSelectionChangedListener(ISelectionChangedListener listener) {
- listeners.remove(listener);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.ISelectionProvider#setSelection(org.eclipse.jface.viewers.ISelection)
- */
- public void setSelection(ISelection selection) {
- if (selection instanceof IStructuredSelection) {
- checkboxViewer.setCheckedElements(((IStructuredSelection) selection).toArray());
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.ICheckStateListener#checkStateChanged(org.eclipse.jface.viewers.CheckStateChangedEvent)
- */
- public void checkStateChanged(CheckStateChangedEvent event) {
- final Object[] listenerArray = listeners.getListeners();
- checkedNotGrayed = null;
- SelectionChangedEvent selectionEvent = new SelectionChangedEvent(this, this.getSelection());
- for (int i = 0; i < listenerArray.length; i++) {
- ((ISelectionChangedListener) listenerArray[i]).selectionChanged(selectionEvent);
- }
- }
-
- List getCheckedNotGrayed() {
- if (checkedNotGrayed == null) {
- Object[] checked = checkboxViewer.getCheckedElements();
- checkedNotGrayed = new ArrayList(checked.length);
- for (int i = 0; i < checked.length; i++)
- if (!checkboxViewer.getGrayed(checked[i]))
- checkedNotGrayed.add(checked[i]);
- }
- return checkedNotGrayed;
-
- }
- }
-
- QueryContext queryContext;
- // We restrict the type of the filter used because PatternFilter does
- // unnecessary accesses of children that cause problems with the deferred
- // tree.
- AvailableIUPatternFilter filter;
- private IViewMenuProvider menuProvider;
- private boolean useBold = false;
- private boolean useCheckboxes = false;
- private IUDetailsLabelProvider labelProvider;
- private Display display;
- DeferredFetchFilteredTree filteredTree;
- IUColumnConfig[] columnConfig;
- private int refreshRepoFlags = IMetadataRepositoryManager.REPOSITORIES_NON_SYSTEM;
- ISelectionProvider selectionProvider;
- Job lastRequestedLoadJob;
-
- /**
- * Create a group that represents the available IU's but does not use any of the
- * view menu or check box capabilities.
- *
- * @param parent the parent composite for the group
- * @param queryProvider the query provider that defines the queries used
- * to retrieve elements in the viewer.
- * @param font The font to use for calculating pixel sizes. This font is
- * not managed by the receiver.
- * @param context the ProvisioningContext describing the context for provisioning,
- * including information about which repositories should be used.
- */
- public AvailableIUGroup(final Composite parent, IQueryProvider queryProvider, Font font, ProvisioningContext context) {
- this(parent, queryProvider, font, context, null, null, ProvUI.getIUColumnConfig(), null, false);
- }
-
- /**
- * Create a group that represents the available IU's.
- *
- * @param parent the parent composite for the group
- * @param queryProvider the query provider that defines the queries used
- * to retrieve elements in the viewer.
- * @param font The font to use for calculating pixel sizes. This font is
- * not managed by the receiver.
- * @param context the ProvisioningContext describing the context for provisioning,
- * including information about which repositories should be used.
- * @param queryContext the QueryContext describing additional information about how
- * the model should be traversed in this view.
- * @param filter the AvailableIUPatternFilter to use to filter the tree contents. If <code>null</code>,
- * then a default will be used.
- * @param columnConfig the description of the columns that should be shown. If <code>null</code>, a default
- * will be used.
- * @param menuProvider the IMenuProvider that fills the view menu. If <code>null</code>,
- * then there is no view menu shown.
- * @param useCheckboxes a boolean indicating whether a checkbox selection model should be
- * used. If <code>true</code>, a check box selection model will be used and the group's
- * implementation of ISelectionProvider will use the checks as the selection.
- */
- public AvailableIUGroup(final Composite parent, IQueryProvider queryProvider, Font font, ProvisioningContext context, QueryContext queryContext, AvailableIUPatternFilter filter, IUColumnConfig[] columnConfig, IViewMenuProvider menuProvider, boolean useCheckboxes) {
- super(parent, queryProvider, font, context);
- this.display = parent.getDisplay();
- this.queryContext = queryContext;
- this.filter = filter;
- this.menuProvider = menuProvider;
- this.useCheckboxes = useCheckboxes;
- if (columnConfig == null)
- this.columnConfig = ProvUI.getIUColumnConfig();
- else
- this.columnConfig = columnConfig;
- if (filter == null)
- this.filter = new AvailableIUPatternFilter(this.columnConfig);
- else
- this.filter = filter;
- createGroupComposite(parent);
- }
-
- protected StructuredViewer createViewer(Composite parent) {
- // Table of available IU's
- filteredTree = new DeferredFetchFilteredTree(parent, SWT.MULTI | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER, filter, menuProvider, parent.getDisplay(), useCheckboxes);
- final TreeViewer availableIUViewer = filteredTree.getViewer();
- if (availableIUViewer instanceof CheckboxTreeViewer)
- selectionProvider = new CheckSelectionProvider((CheckboxTreeViewer) availableIUViewer);
- else
- selectionProvider = availableIUViewer;
-
- // If the user expanded or collapsed anything while we were loading a repo
- // in the background, we would not want to disrupt their work by making
- // a newly loaded visible and expanding it. Setting the load job to null
- // will take care of this.
- availableIUViewer.getTree().addTreeListener(new TreeListener() {
- public void treeCollapsed(TreeEvent e) {
- lastRequestedLoadJob = null;
- }
-
- public void treeExpanded(TreeEvent e) {
- lastRequestedLoadJob = null;
- }
- });
-
- labelProvider = new IUDetailsLabelProvider(filteredTree, columnConfig, getShell());
- labelProvider.setUseBoldFontForFilteredItems(useBold);
- labelProvider.setToolTipProperty(IInstallableUnit.PROP_DESCRIPTION);
-
- // Filters and sorters before establishing content, so we don't refresh unnecessarily.
- availableIUViewer.setComparator(new IUComparator(IUComparator.IU_NAME));
- availableIUViewer.setComparer(new ProvElementComparer());
-
- // Now the content provider.
- DeferredQueryContentProvider contentProvider = new DeferredQueryContentProvider(getQueryProvider());
- availableIUViewer.setContentProvider(contentProvider);
-
- // Now the presentation, columns before label provider.
- setTreeColumns(availableIUViewer.getTree());
- availableIUViewer.setLabelProvider(labelProvider);
-
- // Notify the filtered tree so that it can hook listeners on the
- // content provider. This is needed so that filtering is only allowed
- // after content has been retrieved.
- filteredTree.contentProviderSet(contentProvider);
-
- // Input last.
- availableIUViewer.setInput(getNewInput());
-
- final StructuredViewerProvisioningListener listener = new StructuredViewerProvisioningListener(availableIUViewer, StructuredViewerProvisioningListener.PROV_EVENT_METADATA_REPOSITORY, getQueryProvider()) {
- protected void repositoryAdded(final RepositoryEvent event) {
- // Ignore disabled repositories
- if (!event.isRepositoryEnabled())
- return;
- makeRepositoryVisible(event.getRepositoryLocation());
- }
- };
- ProvUIActivator.getDefault().addProvisioningListener(listener);
-
- availableIUViewer.getControl().addDisposeListener(new DisposeListener() {
- public void widgetDisposed(DisposeEvent e) {
- ProvUIActivator.getDefault().removeProvisioningListener(listener);
- }
- });
- return availableIUViewer;
- }
-
- private void setTreeColumns(Tree tree) {
- tree.setHeaderVisible(true);
-
- for (int i = 0; i < columnConfig.length; i++) {
- TreeColumn tc = new TreeColumn(tree, SWT.NONE, i);
- tc.setResizable(true);
- tc.setText(columnConfig[i].columnTitle);
- tc.setWidth(convertHorizontalDLUsToPixels(columnConfig[i].defaultColumnWidth));
- }
- }
-
- Object getNewInput() {
- MetadataRepositories input = new MetadataRepositories(getProvisioningContext().getMetadataRepositories());
- input.setQueryContext(queryContext);
- input.setQueryProvider(getQueryProvider());
- return input;
- }
-
- /**
- * Set the query context to be used to traverse the model in this view.
- * If the viewer has been created and the input element honors the query
- * context, refresh the viewer.
- */
- public void setQueryContext(QueryContext context) {
- this.queryContext = context;
- if (viewer == null)
- return;
-
- Object input = viewer.getInput();
- if (input instanceof QueriedElement) {
- ((QueriedElement) input).setQueryContext(context);
- viewer.refresh();
- }
- }
-
- public void setRepositoryRefreshFlags(int flags) {
- refreshRepoFlags = flags;
- }
-
- /**
- * Set a boolean indicating whether a bold font should be used when
- * showing filtered items. This method does not refresh the tree or
- * labels, so that must be done explicitly by the caller.
- * @param useBoldFont
- */
- public void setUseBoldFontForFilteredItems(boolean useBoldFont) {
- if (labelProvider != null)
- labelProvider.setUseBoldFontForFilteredItems(useBoldFont);
- }
-
- /**
- * Return the composite that contains the controls in this group.
- * @return the composite
- */
- public Composite getComposite() {
- return super.getComposite();
- }
-
- /**
- * Get the viewer used to represent the available IU's
- * @return the viewer
- */
- public StructuredViewer getStructuredViewer() {
- return super.getStructuredViewer();
- }
-
- /**
- * Get the selected IU's
- * @return the array of selected IU's
- */
- public IInstallableUnit[] getSelectedIUs() {
- return super.getSelectedIUs();
- }
-
- public Tree getTree() {
- if (viewer == null)
- return null;
- return ((TreeViewer) viewer).getTree();
- }
-
- /**
- * Refresh the available view completely.
- */
- public void refresh() {
- URL[] urls = getProvisioningContext().getMetadataRepositories();
- ProvisioningOperation op;
- if (urls == null)
- op = new RefreshColocatedRepositoriesOperation(ProvUIMessages.AvailableIUGroup_RefreshOperationLabel, refreshRepoFlags);
- else
- op = new RefreshColocatedRepositoriesOperation(ProvUIMessages.AvailableIUGroup_RefreshOperationLabel, urls);
- ProvisioningOperationRunner.schedule(op, getShell(), StatusManager.SHOW | StatusManager.LOG);
- if (viewer != null && !viewer.getControl().isDisposed())
- viewer.setInput(getNewInput());
- }
-
- /*
- * Make the repository with the specified location visible in the viewer.
- */
- void makeRepositoryVisible(final URL location) {
- // First refresh the tree so that the user sees the new repo show up...
- display.asyncExec(new Runnable() {
- public void run() {
- final TreeViewer treeViewer = filteredTree.getViewer();
- final Tree tree = treeViewer.getTree();
- IWorkbench workbench = PlatformUI.getWorkbench();
- if (workbench.isClosing())
- return;
- if (tree != null && !tree.isDisposed()) {
- treeViewer.refresh();
- }
- }
- });
-
- // We don't know if loading will be a fast or slow operation.
- // We do it in a job to be safe, and when it's done, we update
- // the UI.
- Job job = new Job(NLS.bind(ProvUIMessages.AvailableIUGroup_LoadingRepository, location.toExternalForm())) {
- protected IStatus run(IProgressMonitor monitor) {
- try {
- ProvisioningUtil.loadMetadataRepository(location, null);
- return Status.OK_STATUS;
- } catch (ProvisionException e) {
- return e.getStatus();
- }
- }
- };
- job.setPriority(Job.LONG);
- job.setSystem(true);
- job.setUser(false);
- job.addJobChangeListener(new JobChangeAdapter() {
- public void done(final IJobChangeEvent event) {
- if (event.getResult().isOK())
- display.asyncExec(new Runnable() {
- public void run() {
- final TreeViewer treeViewer = filteredTree.getViewer();
- IWorkbench workbench = PlatformUI.getWorkbench();
- if (workbench.isClosing())
- return;
- // Expand only if there have been no other jobs started for other repos.
- if (event.getJob() == lastRequestedLoadJob) {
- final Tree tree = treeViewer.getTree();
- if (tree != null && !tree.isDisposed()) {
- TreeItem[] items = tree.getItems();
- for (int i = 0; i < items.length; i++) {
- if (items[i].getData() instanceof IRepositoryElement) {
- URL url = ((IRepositoryElement) items[i].getData()).getLocation();
- if (url.toExternalForm().equals(location.toExternalForm())) {
- treeViewer.expandToLevel(items[i].getData(), AbstractTreeViewer.ALL_LEVELS);
- tree.select(items[i]);
- return;
- }
- }
- }
- }
- }
- }
- });
- }
- });
- lastRequestedLoadJob = job;
- job.schedule();
- }
-
- public ISelectionProvider getCheckMappingSelectionProvider() {
- return selectionProvider;
- }
-
- public Control getDefaultFocusControl() {
- if (filteredTree != null)
- return filteredTree.getFilterControl();
- return null;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/AvailableIUPatternFilter.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/AvailableIUPatternFilter.java
deleted file mode 100644
index b5ac862..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/AvailableIUPatternFilter.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.dialogs;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.CategoryElement;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.IUElement;
-import org.eclipse.equinox.internal.provisional.p2.ui.query.IUPropertyUtils;
-import org.eclipse.equinox.internal.provisional.p2.ui.viewers.IUColumnConfig;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.ui.dialogs.PatternFilter;
-
-/**
- * A class that handles filtering IU's based on a supplied
- * matching string.
- *
- * @since 3.2
- *
- */
-public class AvailableIUPatternFilter extends PatternFilter {
-
- boolean checkName, checkVersion, checkId = false;
- String patternString;
-
- /**
- * Create a new instance of a AvailableIUPatternFilter
- */
- public AvailableIUPatternFilter(IUColumnConfig[] columnConfig) {
- super();
- for (int i = 0; i < columnConfig.length; i++) {
- int field = columnConfig[i].columnField;
- if (field == IUColumnConfig.COLUMN_ID)
- checkId = true;
- else if (field == IUColumnConfig.COLUMN_NAME)
- checkName = true;
- else if (field == IUColumnConfig.COLUMN_VERSION)
- checkVersion = true;
- }
-
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.internal.dialogs.PatternFilter#isElementSelectable(java.lang.Object)
- */
- public boolean isElementSelectable(Object element) {
- return element instanceof IUElement && !(element instanceof CategoryElement);
- }
-
- /*
- * Overridden to remember the pattern string for an optimization
- * in isParentMatch
- * (non-Javadoc)
- * @see org.eclipse.ui.dialogs.PatternFilter#setPattern(java.lang.String)
- */
- public void setPattern(String patternString) {
- super.setPattern(patternString);
- this.patternString = patternString;
- }
-
- /*
- * Overridden to avoid getting children unless there is actually
- * a filter.
- * (non-Javadoc)
- * @see org.eclipse.ui.dialogs.PatternFilter#isParentMatch(org.eclipse.jface.viewers.Viewer, java.lang.Object)
- */
- protected boolean isParentMatch(Viewer viewer, Object element) {
- if (patternString == null || patternString.length() == 0)
- return true;
- return super.isParentMatch(viewer, element);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.dialogs.PatternFilter#isElementMatch(org.eclipse.jface.viewers.Viewer, java.lang.Object)
- */
- protected boolean isLeafMatch(Viewer viewer, Object element) {
- if (element instanceof CategoryElement) {
- return false;
- }
-
- String text = null;
- if (element instanceof IUElement) {
- IInstallableUnit iu = ((IUElement) element).getIU();
- if (checkName) {
- // Get the iu name in the default locale
- text = IUPropertyUtils.getIUProperty(iu, IInstallableUnit.PROP_NAME);
- if (text != null && wordMatches(text))
- return true;
- }
- if (checkId) {
- text = iu.getId();
- if (wordMatches(text)) {
- return true;
- }
- }
- if (checkVersion) {
- text = iu.getVersion().toString();
- if (wordMatches(text))
- return true;
- }
- }
- return false;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/DefaultMetadataURLValidator.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/DefaultMetadataURLValidator.java
deleted file mode 100644
index 19a500c..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/DefaultMetadataURLValidator.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.equinox.internal.provisional.p2.ui.dialogs;
-
-import java.net.URL;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.ui.ProvUIActivator;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningUtil;
-
-/**
- * @since 3.4
- *
- */
-public class DefaultMetadataURLValidator extends URLValidator {
-
- protected int repoFlag;
-
- public DefaultMetadataURLValidator() {
- repoFlag = IMetadataRepositoryManager.REPOSITORIES_ALL;
- }
-
- public void setKnownRepositoriesFlag(int flag) {
- repoFlag = flag;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.ui.dialogs.URLValidator#validateRepositoryURL(boolean)
- */
- protected IStatus validateRepositoryURL(URL location, boolean contactRepositories, IProgressMonitor monitor) {
- IStatus duplicateStatus = Status.OK_STATUS;
- URL[] knownRepositories;
- try {
- knownRepositories = ProvisioningUtil.getMetadataRepositories(repoFlag);
- } catch (ProvisionException e) {
- knownRepositories = new URL[0];
- }
- for (int i = 0; i < knownRepositories.length; i++) {
- if (knownRepositories[i].toExternalForm().equalsIgnoreCase(location.toExternalForm())) {
- duplicateStatus = new Status(IStatus.ERROR, ProvUIActivator.PLUGIN_ID, LOCAL_VALIDATION_ERROR, ProvUIMessages.AddRepositoryDialog_DuplicateURL, null);
- break;
- }
- }
- if (!duplicateStatus.isOK())
- return duplicateStatus;
-
- if (contactRepositories)
- return ProvisioningUtil.validateMetadataRepositoryLocation(location, monitor);
- return duplicateStatus;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/IUCopyrightPropertyPage.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/IUCopyrightPropertyPage.java
deleted file mode 100644
index 47abf03..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/IUCopyrightPropertyPage.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.dialogs;
-
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.p2.ui.dialogs.IUPropertyPage;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Copyright;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.ui.query.IUPropertyUtils;
-import org.eclipse.osgi.util.NLS;
-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.*;
-
-/**
- * PropertyPage that shows an IU's copyright
- *
- * @since 3.4
- */
-public class IUCopyrightPropertyPage extends IUPropertyPage {
-
- protected Control createIUPage(Composite parent, IInstallableUnit iu) {
- // Get the copyright in the current locale
- final Copyright copyright = IUPropertyUtils.getCopyright(iu);
- if (copyright != null && copyright.getBody().length() > 0) {
- Composite composite = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout();
- layout.marginWidth = 0;
- layout.marginHeight = 0;
- composite.setLayout(layout);
-
- Text text = new Text(composite, SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER | SWT.WRAP);
- GridData gd = new GridData(SWT.FILL, SWT.FILL, false, true);
- gd.widthHint = computeWidthLimit(text, 80);
- gd.grabExcessVerticalSpace = true;
- text.setLayoutData(gd);
- text.setText(copyright.getBody());
- text.setEditable(false);
-
- // If an URL was specified, provide a link to it
- String filename = (copyright.getURL() != null) ? copyright.getURL().getFile() : null;
- if (filename != null && (filename.endsWith(".htm") || filename.endsWith(".html"))) { //$NON-NLS-1$ //$NON-NLS-2$
- Label label = new Label(composite, SWT.NONE);
- label.setText(ProvUIMessages.IUCopyrightPropertyPage_ViewLinkLabel);
- // Create a link to the copyright URL
- Link link = new Link(composite, SWT.LEFT | SWT.WRAP);
- link.setText(NLS.bind("<a>{0}</a>", copyright.getURL().toExternalForm())); //$NON-NLS-1$
- gd = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
- gd.widthHint = computeWidthLimit(link, 80);
- link.setLayoutData(gd);
- link.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- showURL(copyright.getURL());
- }
- });
- }
-
- return composite;
- }
- Label label = new Label(parent, SWT.NULL);
- label.setText(ProvUIMessages.IUCopyrightPropertyPage_NoCopyright);
- return label;
-
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/IUGeneralInfoPropertyPage.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/IUGeneralInfoPropertyPage.java
deleted file mode 100644
index ce6ecfb..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/IUGeneralInfoPropertyPage.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.dialogs;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.p2.ui.dialogs.IUPropertyPage;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.ui.query.IUPropertyUtils;
-import org.eclipse.osgi.util.NLS;
-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.*;
-
-/**
- * PropertyPage that shows an IU's properties
- *
- * @since 3.4
- */
-public class IUGeneralInfoPropertyPage extends IUPropertyPage {
-
- protected Control createIUPage(Composite parent, IInstallableUnit iu) {
- Composite composite = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout();
- layout.marginWidth = 0;
- layout.marginHeight = 0;
- composite.setLayout(layout);
-
- createGeneralSection(composite, iu);
- createDescriptionSection(composite, iu);
- createDocumentationSection(composite, iu);
-
- return composite;
- }
-
- private void createGeneralSection(Composite parent, IInstallableUnit iu) {
- Composite composite = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout();
- layout.numColumns = 2;
- layout.marginWidth = 0;
- layout.marginHeight = 0;
- composite.setLayout(layout);
- composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- // Get general info in the default locale
- addField(composite, ProvUIMessages.IUGeneralInfoPropertyPage_NameLabel, IUPropertyUtils.getIUProperty(iu, IInstallableUnit.PROP_NAME));
- addField(composite, ProvUIMessages.IUGeneralInfoPropertyPage_IdentifierLabel, iu.getId());
- addField(composite, ProvUIMessages.IUGeneralInfoPropertyPage_VersionLabel, iu.getVersion().toString());
- addField(composite, ProvUIMessages.IUGeneralInfoPropertyPage_ProviderLabel, IUPropertyUtils.getIUProperty(iu, IInstallableUnit.PROP_PROVIDER));
- addField(composite, ProvUIMessages.IUGeneralInfoPropertyPage_ContactLabel, IUPropertyUtils.getIUProperty(iu, IInstallableUnit.PROP_CONTACT));
-
- }
-
- private void createDescriptionSection(Composite parent, IInstallableUnit iu) {
- // Get the iu description in the default locale
- String description = IUPropertyUtils.getIUProperty(iu, IInstallableUnit.PROP_DESCRIPTION);
- if (description != null && description.length() > 0) {
- Group group = new Group(parent, SWT.NONE);
- group.setText(ProvUIMessages.IUGeneralInfoPropertyPage_DescriptionLabel);
- group.setLayout(new GridLayout());
- group.setLayoutData(new GridData(GridData.FILL_BOTH));
-
- Text text = new Text(group, SWT.MULTI | SWT.WRAP | SWT.READ_ONLY);
- GridData gd = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
- gd.widthHint = computeWidthLimit(text, 80);
- gd.heightHint = 200;
- text.setEditable(false);
- text.setText(description);
- text.setLayoutData(gd);
- }
-
- }
-
- private void createDocumentationSection(Composite parent, IInstallableUnit iu) {
- String docURL = iu.getProperty(IInstallableUnit.PROP_DOC_URL);
- if (docURL != null && docURL.length() > 0) {
- final URL url;
- try {
- url = new URL(docURL);
- } catch (MalformedURLException e) {
- return;
- }
- String filename = (url != null) ? url.getFile() : null;
- if (filename != null && (filename.endsWith(".htm") || filename.endsWith(".html"))) { //$NON-NLS-1$ //$NON-NLS-2$
- // create some space
- new Label(parent, SWT.NONE);
- // Now create a link to the documentation
- Label label = new Label(parent, SWT.NONE);
- label.setText(ProvUIMessages.IUGeneralInfoPropertyPage_DocumentationLink);
- Link link = new Link(parent, SWT.LEFT | SWT.WRAP);
- link.setText(NLS.bind("<a>{0}</a>", url.toExternalForm())); //$NON-NLS-1$
- GridData gd = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
- gd.widthHint = computeWidthLimit(link, 80);
- link.setLayoutData(gd);
- link.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- showURL(url);
- }
- });
- }
- }
- }
-
- private void addField(Composite parent, String property, String value) {
-
- if (value != null && value.length() > 0) {
- Label label = new Label(parent, SWT.NONE);
- label.setText(property);
-
- label = new Label(parent, SWT.NONE);
- label.setText(getEscapedString(value));
- }
- }
-
- private String getEscapedString(String value) {
- StringBuffer result = new StringBuffer(value.length() + 10);
- for (int i = 0; i < value.length(); ++i) {
- char c = value.charAt(i);
- if ('&' == c) {
- result.append("&&"); //$NON-NLS-1$
- } else {
- result.append(c);
- }
- }
- return result.toString();
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/IULicensePropertyPage.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/IULicensePropertyPage.java
deleted file mode 100644
index 8c0234b..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/IULicensePropertyPage.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.dialogs;
-
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.p2.ui.dialogs.IUPropertyPage;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.License;
-import org.eclipse.equinox.internal.provisional.p2.ui.query.IUPropertyUtils;
-import org.eclipse.osgi.util.NLS;
-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.*;
-
-/**
- * PropertyPage that shows an IU's license
- *
- * @since 3.4
- */
-public class IULicensePropertyPage extends IUPropertyPage {
-
- protected Control createIUPage(Composite parent, IInstallableUnit iu) {
- // Get the license in the default locale
- final License license = IUPropertyUtils.getLicense(iu);
- if (license != null && license.getBody().length() > 0) {
- Composite composite = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout();
- layout.marginWidth = 0;
- layout.marginHeight = 0;
- composite.setLayout(layout);
-
- Text text = new Text(composite, SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER | SWT.WRAP);
- GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
- gd.widthHint = computeWidthLimit(text, 80);
- gd.heightHint = computeHeightLimit(text, 20);
- text.setLayoutData(gd);
- text.setText(license.getBody());
- text.setEditable(false);
-
- // If an URL was specified, provide a link to it
- String filename = (license.getURL() != null) ? license.getURL().getFile() : null;
- if (filename != null && (filename.endsWith(".htm") || filename.endsWith(".html"))) { //$NON-NLS-1$ //$NON-NLS-2$
- Label label = new Label(composite, SWT.NONE);
- label.setText(ProvUIMessages.IULicensePropertyPage_ViewLicenseLabel);
- // Create a link to the license URL
- Link link = new Link(composite, SWT.LEFT | SWT.WRAP);
- link.setText(NLS.bind("<a>{0}</a>", license.getURL().toExternalForm())); //$NON-NLS-1$
- gd = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
- gd.widthHint = computeWidthLimit(link, 80);
- link.setLayoutData(gd);
- link.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- showURL(license.getURL());
- }
- });
- }
-
- return composite;
- }
- Label label = new Label(parent, SWT.NULL);
- label.setText(ProvUIMessages.IULicensePropertyPage_NoLicense);
- return label;
-
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/IViewMenuProvider.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/IViewMenuProvider.java
deleted file mode 100644
index 1c12634..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/IViewMenuProvider.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.equinox.internal.provisional.p2.ui.dialogs;
-
-import org.eclipse.jface.action.IMenuManager;
-
-/**
- *
- * IViewMenuProvider is used to fill a view menu in dialog groups that support them.
- * @since 3.4
- *
- */
-public interface IViewMenuProvider {
- public void fillViewMenu(IMenuManager viewMenu);
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/InstallWizard.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/InstallWizard.java
deleted file mode 100644
index a12516e..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/InstallWizard.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.dialogs;
-
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.p2.ui.dialogs.*;
-import org.eclipse.equinox.internal.provisional.p2.director.ProvisioningPlan;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUIImages;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.LicenseManager;
-
-/**
- * @since 3.4
- */
-public class InstallWizard extends UpdateOrInstallWizard {
-
- ProvisioningPlan plan;
-
- public InstallWizard(String profileId, IInstallableUnit[] ius, ProvisioningPlan initialProvisioningPlan, LicenseManager licenseManager) {
- super(profileId, ius, licenseManager);
- setWindowTitle(ProvUIMessages.InstallIUOperationLabel);
- setDefaultPageImageDescriptor(ProvUIImages.getImageDescriptor(ProvUIImages.WIZARD_BANNER_INSTALL));
- this.plan = initialProvisioningPlan;
- }
-
- protected UpdateOrInstallWizardPage createMainPage() {
- return new InstallWizardPage(ius, profileId, plan, this);
- }
-
- protected AcceptLicensesWizardPage createLicensesPage() {
- return new AcceptLicensesWizardPage(ius, licenseManager, plan);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/InstalledIUGroup.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/InstalledIUGroup.java
deleted file mode 100644
index 6be8c7c..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/InstalledIUGroup.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.dialogs;
-
-import org.eclipse.equinox.internal.p2.ui.ProvUIActivator;
-import org.eclipse.equinox.internal.p2.ui.dialogs.StructuredIUGroup;
-import org.eclipse.equinox.internal.p2.ui.viewers.IUDetailsLabelProvider;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningContext;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUI;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.ProfileElement;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.IQueryProvider;
-import org.eclipse.equinox.internal.provisional.p2.ui.viewers.*;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.widgets.*;
-
-/**
- * An InstalledIUGroup is a reusable UI component that displays the
- * IU's in a given profile.
- *
- * @since 3.4
- */
-public class InstalledIUGroup extends StructuredIUGroup {
-
- private String profileId;
-
- /**
- * Create a group that represents the installed IU's.
- *
- * @param parent the parent composite for the group
- * @param queryProvider the query provider that defines the queries used
- * to retrieve elements in the viewer.
- * @param font The font to use for calculating pixel sizes. This font is
- * not managed by the receiver.
- * @param context the ProvisioningContext describing the context for provisioning,
- * including information about which repositories should be used.
- * @param profileId the id of the profile whose content is being shown.
- */
- public InstalledIUGroup(final Composite parent, IQueryProvider queryProvider, Font font, ProvisioningContext context, String profileId) {
- // This will evolve into a provisioning context
- super(parent, queryProvider, font, context);
- this.profileId = profileId;
- createGroupComposite(parent);
- }
-
- protected StructuredViewer createViewer(Composite parent) {
- // Table of installed IU's
- TableViewer installedIUViewer = new TableViewer(parent, SWT.MULTI | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-
- // Filters and sorters before establishing content, so we don't refresh unnecessarily.
- installedIUViewer.setComparator(new IUComparator(IUComparator.IU_NAME));
- installedIUViewer.setComparer(new ProvElementComparer());
-
- // Now the content.
- installedIUViewer.setContentProvider(new DeferredQueryContentProvider(getQueryProvider()));
-
- // Now the visuals, columns before labels.
- setTableColumns(installedIUViewer.getTable());
- installedIUViewer.setLabelProvider(new IUDetailsLabelProvider());
-
- // Input last.
- installedIUViewer.setInput(getInput());
-
- final StructuredViewerProvisioningListener listener = new StructuredViewerProvisioningListener(installedIUViewer, StructuredViewerProvisioningListener.PROV_EVENT_IU | StructuredViewerProvisioningListener.PROV_EVENT_PROFILE, getQueryProvider());
- ProvUIActivator.getDefault().addProvisioningListener(listener);
- installedIUViewer.getControl().addDisposeListener(new DisposeListener() {
- public void widgetDisposed(DisposeEvent e) {
- ProvUIActivator.getDefault().removeProvisioningListener(listener);
- }
- });
- return installedIUViewer;
- }
-
- private void setTableColumns(Table table) {
- IUColumnConfig[] columns = ProvUI.getIUColumnConfig();
- table.setHeaderVisible(true);
-
- for (int i = 0; i < columns.length; i++) {
- TableColumn tc = new TableColumn(table, SWT.NONE, i);
- tc.setResizable(true);
- tc.setText(columns[i].columnTitle);
- tc.setWidth(convertHorizontalDLUsToPixels(columns[i].defaultColumnWidth));
- }
- }
-
- Object getInput() {
- ProfileElement element = new ProfileElement(profileId);
- element.setQueryProvider(getQueryProvider());
- return element;
- }
-
- /**
- * Get the viewer used to represent the installed IU's
- */
- public StructuredViewer getStructuredViewer() {
- return super.getStructuredViewer();
- }
-
- public Control getDefaultFocusControl() {
- return super.getDefaultFocusControl();
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/RepositoryManipulatorDropTarget.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/RepositoryManipulatorDropTarget.java
deleted file mode 100644
index 7931bdc..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/RepositoryManipulatorDropTarget.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package org.eclipse.equinox.internal.provisional.p2.ui.dialogs;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.equinox.internal.p2.ui.ProvUIActivator;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.ui.*;
-import org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningOperation;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DropTargetEvent;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.progress.WorkbenchJob;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-/**
- * RepositoryManipulatorDropTarget recognizes both URLTransfer and
- * FileTransfer data types. Files are converted to URL's with the file
- * protocol. Any dropped URLs (or Files) are interpreted to mean that the
- * user wishes to add these files as repositories.
- *
- * @since 3.4
- *
- */
-public class RepositoryManipulatorDropTarget extends URLDropAdapter {
- IRepositoryManipulator manipulator;
- Control control;
-
- public RepositoryManipulatorDropTarget(IRepositoryManipulator manipulator, Control control) {
- super(true); // convert file drops to URL
- Assert.isNotNull(manipulator);
- this.manipulator = manipulator;
- this.control = control;
- }
-
- protected void handleDrop(String urlText, final DropTargetEvent event) {
- event.detail = DND.DROP_NONE;
- final URL[] url = new URL[1];
- try {
- url[0] = new URL(urlText);
- } catch (MalformedURLException e) {
- ProvUI.reportStatus(URLValidator.getInvalidURLStatus(urlText), StatusManager.SHOW | StatusManager.LOG);
- return;
- }
- if (url[0] == null)
- return;
-
- Job job = new WorkbenchJob(ProvUIMessages.RepositoryManipulatorDropTarget_DragAndDropJobLabel) {
-
- public IStatus runInUIThread(IProgressMonitor monitor) {
- IStatus status = manipulator.getURLValidator(control.getShell()).validateRepositoryURL(url[0], false, monitor);
- if (status.isOK()) {
- ProvisioningOperation addOperation = manipulator.getAddOperation(url[0]);
- ProvisioningOperationRunner.schedule(addOperation, control.getShell(), StatusManager.SHOW | StatusManager.LOG);
- event.detail = DND.DROP_LINK;
- } else if (status.getCode() == URLValidator.ALTERNATE_ACTION_TAKEN) {
- event.detail = DND.DROP_COPY;
- } else if (status.getSeverity() == IStatus.CANCEL) {
- event.detail = DND.DROP_NONE;
- } else {
- status = new MultiStatus(ProvUIActivator.PLUGIN_ID, 0, new IStatus[] {status}, NLS.bind(ProvUIMessages.RepositoryManipulatorDropTarget_DragSourceNotValid, url[0].toExternalForm()), null);
- event.detail = DND.DROP_NONE;
- }
- return status;
- }
- };
- job.setPriority(Job.SHORT);
- job.setUser(true);
- job.schedule();
- }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/RepositoryPropertyPage.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/RepositoryPropertyPage.java
deleted file mode 100644
index 2b10613..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/RepositoryPropertyPage.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.dialogs;
-
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUI;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.IRepositoryElement;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.dialogs.PropertyPage;
-
-/**
- * PropertyPage that shows a repository's properties
- *
- * @since 3.4
- */
-public class RepositoryPropertyPage extends PropertyPage {
-
- private IRepositoryElement repositoryElement;
- private Composite composite;
- private Text name;
- private Text url;
- private Text description;
-
- protected Control createContents(Composite parent) {
- this.repositoryElement = getRepositoryElement();
- if (repositoryElement == null) {
- Label label = new Label(parent, SWT.DEFAULT);
- label.setText(ProvUIMessages.RepositoryPropertyPage_NoRepoSelected);
- return label;
- }
- noDefaultAndApplyButton();
-
- composite = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout();
- layout.numColumns = 2;
- composite.setLayout(layout);
- GridData data = new GridData();
- data.widthHint = 350;
- composite.setLayoutData(data);
-
- Label urlLabel = new Label(composite, SWT.NONE);
- urlLabel.setText(ProvUIMessages.RepositoryPropertyPage_URLFieldLabel);
- url = new Text(composite, SWT.WRAP | SWT.READ_ONLY);
- url.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
- Label nameLabel = new Label(composite, SWT.NONE);
- nameLabel.setText(ProvUIMessages.RepositoryPropertyPage_NameFieldLabel);
- name = new Text(composite, SWT.WRAP | SWT.READ_ONLY);
- name.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
- Label descriptionLabel = new Label(composite, SWT.NONE);
- descriptionLabel.setText(ProvUIMessages.RepositoryPropertyPage_DescriptionFieldLabel);
- data = new GridData();
- data.verticalAlignment = SWT.TOP;
- descriptionLabel.setLayoutData(data);
- description = new Text(composite, SWT.WRAP | SWT.READ_ONLY);
- data = new GridData(GridData.FILL_HORIZONTAL);
- data.verticalAlignment = SWT.TOP;
- data.grabExcessVerticalSpace = true;
- description.setLayoutData(data);
-
- initializeFields();
- Dialog.applyDialogFont(composite);
- return composite;
- }
-
- private void initializeFields() {
- // Shouldn't happen since we checked this before creating any controls
- if (repositoryElement == null)
- return;
- url.setText(repositoryElement.getLocation().toExternalForm());
- name.setText(repositoryElement.getName());
- description.setText(repositoryElement.getDescription());
- }
-
- protected IRepositoryElement getRepositoryElement() {
- if (repositoryElement == null) {
- repositoryElement = (IRepositoryElement) ProvUI.getAdapter(getElement(), IRepositoryElement.class);
- }
- return repositoryElement;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/RevertWizard.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/RevertWizard.java
deleted file mode 100644
index 426b4a6..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/RevertWizard.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.dialogs;
-
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.p2.ui.dialogs.RevertProfileWizardPage;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUIImages;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.IQueryProvider;
-import org.eclipse.jface.wizard.Wizard;
-
-/**
- * @since 3.4
- */
-public class RevertWizard extends Wizard {
-
- RevertProfileWizardPage page;
- String profileId;
- IQueryProvider queryProvider;
-
- public RevertWizard(String profileId, IQueryProvider queryProvider) {
- super();
- setWindowTitle(ProvUIMessages.RevertDialog_Title);
- setDefaultPageImageDescriptor(ProvUIImages.getImageDescriptor(ProvUIImages.WIZARD_BANNER_REVERT));
- this.profileId = profileId;
- this.queryProvider = queryProvider;
- }
-
- public void addPages() {
- page = new RevertProfileWizardPage(profileId, queryProvider);
- addPage(page);
- }
-
- public boolean performFinish() {
- return page.performFinish();
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/TextURLDropAdapter.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/TextURLDropAdapter.java
deleted file mode 100644
index 22d23b5..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/TextURLDropAdapter.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.equinox.internal.provisional.p2.ui.dialogs;
-
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DropTargetEvent;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * @since 3.4
- *
- */
-public class TextURLDropAdapter extends URLDropAdapter {
-
- Text text;
-
- public TextURLDropAdapter(Text text, boolean convertFileToURL) {
- super(convertFileToURL);
- this.text = text;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.ui.dialogs.URLDropAdapter#handleURLString(java.lang.String, org.eclipse.swt.dnd.DropTargetEvent)
- */
- protected void handleDrop(String urlText, DropTargetEvent event) {
- text.setText(urlText);
- event.detail = DND.DROP_LINK;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/TrustCertificateDialog.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/TrustCertificateDialog.java
deleted file mode 100644
index fdc59f7..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/TrustCertificateDialog.java
+++ /dev/null
@@ -1,121 +0,0 @@
-package org.eclipse.equinox.internal.provisional.p2.ui.dialogs;
-
-import java.security.cert.X509Certificate;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.ui.CertificateLabelProvider;
-import org.eclipse.equinox.internal.provisional.security.ui.X509CertificateViewDialog;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.SWT;
-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.*;
-import org.eclipse.ui.dialogs.ListSelectionDialog;
-
-/**
- * A dialog that displays a certificate chain and asks the user if they
- * trust the certificate providers.
- */
-public class TrustCertificateDialog extends ListSelectionDialog {
-
- private TreeViewer certificateChainViewer;
- private Button detailsButton;
- protected TreeNode parentElement;
- protected Object selectedCertificate;
-
- public TrustCertificateDialog(Shell parentShell, Object input, ILabelProvider labelProvider, ITreeContentProvider contentProvider) {
- super(parentShell, input, contentProvider, labelProvider, ProvUIMessages.TrustCertificateDialog_Title);
- setShellStyle(SWT.DIALOG_TRIM | SWT.MODELESS | SWT.RESIZE | getDefaultOrientation());
- }
-
- private void createButtons(Composite composite) {
- // Details button to view certificate chain
- detailsButton = new Button(composite, SWT.NONE);
- detailsButton.setText(ProvUIMessages.TrustCertificateDialog_Details);
- detailsButton.addSelectionListener(new SelectionListener() {
- public void widgetDefaultSelected(SelectionEvent e) {
- if (selectedCertificate != null) {
- X509Certificate cert = (X509Certificate) ((TreeNode) selectedCertificate).getValue();
- X509CertificateViewDialog certificateDialog = new X509CertificateViewDialog(getShell(), cert);
- certificateDialog.open();
- }
- }
-
- public void widgetSelected(SelectionEvent e) {
- widgetDefaultSelected(e);
- }
- });
- }
-
- protected Control createDialogArea(Composite parent) {
- Composite composite = (Composite) super.createDialogArea(parent);
- certificateChainViewer = new TreeViewer(composite, SWT.BORDER);
- GridLayout layout = new GridLayout();
- certificateChainViewer.getTree().setLayout(layout);
- GridData data = new GridData(GridData.FILL_BOTH);
- data.grabExcessHorizontalSpace = true;
- certificateChainViewer.getTree().setLayoutData(data);
- certificateChainViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
- certificateChainViewer.setContentProvider(new TreeNodeContentProvider());
- certificateChainViewer.setLabelProvider(new CertificateLabelProvider());
- certificateChainViewer.addSelectionChangedListener(getChainSelectionListener());
- Object input = getViewer().getInput();
- if (input instanceof Object[]) {
- ISelection selection = null;
- Object[] nodes = (Object[]) input;
- if (nodes.length > 0) {
- selection = new StructuredSelection(nodes[0]);
- certificateChainViewer.setInput(new TreeNode[] {(TreeNode) nodes[0]});
- selectedCertificate = nodes[0];
- }
- getViewer().setSelection(selection);
- }
- getViewer().addDoubleClickListener(getDoubleClickListener());
- getViewer().addSelectionChangedListener(getParentSelectionListener());
- createButtons(composite);
- return composite;
- }
-
- private ISelectionChangedListener getChainSelectionListener() {
- return new ISelectionChangedListener() {
- public void selectionChanged(SelectionChangedEvent event) {
- ISelection selection = event.getSelection();
- if (selection instanceof StructuredSelection) {
- selectedCertificate = ((StructuredSelection) selection).getFirstElement();
- }
- }
- };
- }
-
- public TreeViewer getCertificateChainViewer() {
- return certificateChainViewer;
- }
-
- private IDoubleClickListener getDoubleClickListener() {
- return new IDoubleClickListener() {
- public void doubleClick(DoubleClickEvent event) {
- StructuredSelection selection = (StructuredSelection) event.getSelection();
- Object selectedElement = selection.getFirstElement();
- if (selectedElement instanceof TreeNode) {
- TreeNode treeNode = (TreeNode) selectedElement;
- // create and open dialog for certificate chain
- X509CertificateViewDialog certificateViewDialog = new X509CertificateViewDialog(getShell(), (X509Certificate) treeNode.getValue());
- certificateViewDialog.open();
- }
- }
- };
- }
-
- private ISelectionChangedListener getParentSelectionListener() {
- return new ISelectionChangedListener() {
- public void selectionChanged(SelectionChangedEvent event) {
- ISelection selection = event.getSelection();
- if (selection instanceof StructuredSelection) {
- getCertificateChainViewer().setInput(new TreeNode[] {(TreeNode) ((StructuredSelection) selection).getFirstElement()});
- getCertificateChainViewer().refresh();
- }
- }
- };
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/URLDropAdapter.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/URLDropAdapter.java
deleted file mode 100644
index 0b3da16..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/URLDropAdapter.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.equinox.internal.provisional.p2.ui.dialogs;
-
-import org.eclipse.swt.dnd.*;
-
-/**
- * URLDropAdapter can receive URL text from a drop.
- * The URLDropAdapter should only be used with
- * the URLTransfer mechanism unless otherwise stated.
- *
- * @since 3.4
- *
- */
-public abstract class URLDropAdapter extends DropTargetAdapter {
-
- private boolean convertFileToURL = false;
-
- protected URLDropAdapter(boolean convertFileToURL) {
- this.convertFileToURL = convertFileToURL;
- }
-
- public void dragEnter(DropTargetEvent e) {
- if (!dropTargetIsValid(e)) {
- e.detail = DND.DROP_NONE;
- return;
- }
- if (e.detail == DND.DROP_NONE)
- e.detail = DND.DROP_LINK;
- }
-
- public void dragOperationChanged(DropTargetEvent e) {
- if (e.detail == DND.DROP_NONE)
- e.detail = DND.DROP_LINK;
- }
-
- public void drop(DropTargetEvent event) {
- if (dropTargetIsValid(event)) {
- String urlText = getURLText(event);
- if (urlText != null) {
- handleDrop(urlText, event);
- return;
- }
- }
- event.detail = DND.DROP_NONE;
- }
-
- private String getURLText(DropTargetEvent event) {
- if (URLTransfer.getInstance().isSupportedType(event.currentDataType))
- return (String) URLTransfer.getInstance().nativeToJava(event.currentDataType);
- if (convertFileToURL && FileTransfer.getInstance().isSupportedType(event.currentDataType)) {
- String[] names = (String[]) FileTransfer.getInstance().nativeToJava(event.currentDataType);
- if (names != null && names.length == 1)
- return URLValidator.makeJarURLString(names[0]);
- }
- return null;
- }
-
- /**
- * Determine whether the drop target is valid. Subclasses may override.
- * @param event the drop target event
- * @return <code>true</code> if drop should proceed, <code>false</code> if it should not.
- */
- protected boolean dropTargetIsValid(DropTargetEvent event) {
- if (URLTransfer.getInstance().isSupportedType(event.currentDataType) && URLTransfer.getInstance().nativeToJava(event.currentDataType) != null)
- return true;
- if (!convertFileToURL)
- return false;
- if (FileTransfer.getInstance().isSupportedType(event.currentDataType)) {
- String[] names = (String[]) FileTransfer.getInstance().nativeToJava(event.currentDataType);
- return names != null && names.length == 1;
- }
- return false;
- }
-
- /**
- * Handle the drop with the given text as the URL.
- * @param urlText The url text specified by the drop. It is never <code>null</code>.
- * @param event the originating drop target event.
- */
- protected abstract void handleDrop(String urlText, DropTargetEvent event);
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/URLValidator.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/URLValidator.java
deleted file mode 100644
index 1ed13c4..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/URLValidator.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.equinox.internal.provisional.p2.ui.dialogs;
-
-import java.net.URL;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.ui.ProvUIActivator;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.osgi.util.NLS;
-
-/**
- *
- * URLValidator can be used to validate a repository URL. Validation may
- * involve rules known by the validator itself or contact with a repository
- * manager.
- *
- * @since 3.4
- *
- */
-public abstract class URLValidator {
- public static final String FILE_PROTOCOL = "file"; //$NON-NLS-1$
- public static final String FILE_PROTOCOL_PREFIX = "file:"; //$NON-NLS-1$
- public static final String JAR_PATH_PREFIX = "jar:";//$NON-NLS-1$
- public static final String JAR_PATH_SUFFIX = "!/"; //$NON-NLS-1$
- public static final String JAR_EXTENSION = ".jar"; //$NON-NLS-1$
- public static final String ZIP_EXTENSION = ".zip"; //$NON-NLS-1$
-
- public static final int LOCAL_VALIDATION_ERROR = 3000;
- public static final int ALTERNATE_ACTION_TAKEN = 3001;
-
- public static Status getInvalidURLStatus(String urlText) {
- return new Status(IStatus.ERROR, ProvUIActivator.PLUGIN_ID, LOCAL_VALIDATION_ERROR, NLS.bind(ProvUIMessages.URLValidator_UnrecognizedURL, urlText), null);
- }
-
- public static boolean isFileURL(URL url) {
- return url.getProtocol().equals(FILE_PROTOCOL);
- }
-
- public static String makeJarURLString(String path) {
- String lowerCase = path.toLowerCase();
- if (lowerCase.endsWith(JAR_EXTENSION) || lowerCase.endsWith(ZIP_EXTENSION))
- return JAR_PATH_PREFIX + FILE_PROTOCOL_PREFIX + path + JAR_PATH_SUFFIX;
- return makeFileURLString(path);
- }
-
- public static String makeFileURLString(String path) {
- StringBuffer result = new StringBuffer(path.length() + 6);
- result.append(FILE_PROTOCOL_PREFIX);
- //make sure URL has leading slash to indicate a hierarchical URL
- if (path.length() == 0 || path.charAt(0) != '/')
- result.append('/');
- result.append(path);
- return result.toString();
- }
-
- protected abstract IStatus validateRepositoryURL(URL url, boolean contactRepositories, IProgressMonitor monitor);
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/UninstallWizard.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/UninstallWizard.java
deleted file mode 100644
index 4775c63..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/UninstallWizard.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.dialogs;
-
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.p2.ui.dialogs.UninstallWizardPage;
-import org.eclipse.equinox.internal.provisional.p2.director.ProvisioningPlan;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUIImages;
-import org.eclipse.jface.wizard.Wizard;
-
-/**
- * @since 3.4
- */
-public class UninstallWizard extends Wizard {
-
- UninstallWizardPage page;
- String profileId;
- IInstallableUnit[] ius;
- ProvisioningPlan plan;
-
- public UninstallWizard(String profileId, IInstallableUnit[] ius, ProvisioningPlan initialProvisioningPlan) {
- super();
- setWindowTitle(ProvUIMessages.UninstallIUOperationLabel);
- setDefaultPageImageDescriptor(ProvUIImages.getImageDescriptor(ProvUIImages.WIZARD_BANNER_UNINSTALL));
- this.profileId = profileId;
- this.ius = ius;
- this.plan = initialProvisioningPlan;
- }
-
- public void addPages() {
- page = new UninstallWizardPage(ius, profileId, plan);
- addPage(page);
- }
-
- public boolean performFinish() {
- return page.performFinish();
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/UpdateWizard.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/UpdateWizard.java
deleted file mode 100644
index afd7179..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/UpdateWizard.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.dialogs;
-
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.p2.ui.dialogs.*;
-import org.eclipse.equinox.internal.p2.ui.model.AvailableUpdateElement;
-import org.eclipse.equinox.internal.provisional.p2.director.ProvisioningPlan;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUIImages;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.LicenseManager;
-
-/**
- * @since 3.4
- */
-public class UpdateWizard extends UpdateOrInstallWizard {
-
- ProvisioningPlan plan;
- AvailableUpdateElement[] elements;
- Object[] initialSelections;
-
- public UpdateWizard(String profileId, IInstallableUnit[] iusToReplace, AvailableUpdateElement[] elements, Object[] initialSelections, ProvisioningPlan plan, LicenseManager licenseManager) {
- super(profileId, iusToReplace, licenseManager);
- setWindowTitle(ProvUIMessages.UpdateAction_UpdatesAvailableTitle);
- setDefaultPageImageDescriptor(ProvUIImages.getImageDescriptor(ProvUIImages.WIZARD_BANNER_UPDATE));
- this.plan = plan;
- this.elements = elements;
- this.initialSelections = initialSelections;
- }
-
- protected UpdateOrInstallWizardPage createMainPage() {
- return new UpdateWizardPage(ius, elements, initialSelections, profileId, plan, this);
- }
-
- protected AcceptLicensesWizardPage createLicensesPage() {
- return new AcceptLicensesWizardPage(UpdateWizardPage.getReplacementIUs(initialSelections), licenseManager, plan);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/UserValidationDialog.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/UserValidationDialog.java
deleted file mode 100644
index 6160ab1..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/UserValidationDialog.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.dialogs;
-
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.core.IServiceUI.AuthenticationInfo;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-
-/**
- * A dialog to prompt the user for login information such as user name and password.
- */
-public class UserValidationDialog extends MessageDialog {
-
- private Text username;
- private Text password;
- private AuthenticationInfo result = null;
-
- private Button saveButton;
-
- public UserValidationDialog(Shell parentShell, String titleMessage, Image titleImage, String message, String[] buttonLabels) {
- super(parentShell, titleMessage, titleImage, message, MessageDialog.QUESTION, buttonLabels, 0);
- }
-
- protected Control createDialogArea(Composite parent) {
- Composite composite = (Composite) super.createDialogArea(parent);
-
- Composite fieldContainer = new Composite(composite, SWT.NONE);
- GridLayout layout = new GridLayout();
- layout.numColumns = 2;
- fieldContainer.setLayout(layout);
- GridData layoutData = new GridData();
- fieldContainer.setLayoutData(layoutData);
-
- Label label = new Label(fieldContainer, SWT.NONE);
- label.setText(ProvUIMessages.RepositoryPropertyPage_UsernameField);
- username = new Text(fieldContainer, SWT.BORDER);
- layoutData = new GridData(GridData.FILL_HORIZONTAL);
- layoutData.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.ENTRY_FIELD_WIDTH);
- layoutData.horizontalAlignment = SWT.END;
- username.setLayoutData(layoutData);
-
- label = new Label(fieldContainer, SWT.NONE);
- label.setText(ProvUIMessages.RepositoryPropertyPage_PasswordField);
- password = new Text(fieldContainer, SWT.PASSWORD | SWT.BORDER);
- layoutData = new GridData(GridData.FILL_HORIZONTAL);
- layoutData.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.ENTRY_FIELD_WIDTH);
- layoutData.horizontalAlignment = SWT.END;
- password.setLayoutData(layoutData);
-
- Composite checkboxContainer = new Composite(composite, SWT.NONE);
- layout = new GridLayout();
- checkboxContainer.setLayout(layout);
- layoutData = new GridData();
- layoutData.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.ENTRY_FIELD_WIDTH);
- checkboxContainer.setLayoutData(layoutData);
- saveButton = new Button(checkboxContainer, SWT.CHECK);
- saveButton.setText(ProvUIMessages.RepositoryPropertyPage_SavePasswordField);
-
- username.setFocus();
-
- return composite;
- }
-
- protected void buttonPressed(int buttonId) {
- if (buttonId == getDefaultButtonIndex())
- this.result = new AuthenticationInfo(username.getText(), password.getText(), saveButton.getSelection());
- super.buttonPressed(buttonId);
- }
-
- /**
- * Returns the authentication information given by the user, or null if the user cancelled
- * @return the authentication information given by the user, or null if the user cancelled
- */
- public AuthenticationInfo getResult() {
- return result;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/ArtifactRepositories.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/ArtifactRepositories.java
deleted file mode 100644
index 7624963..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/ArtifactRepositories.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.model;
-
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.p2.ui.model.RemoteQueriedElement;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.IQueryProvider;
-import org.eclipse.equinox.internal.provisional.p2.ui.query.ElementQueryDescriptor;
-
-/**
- * Element class that represents the root of an artifact
- * repository viewer. Its children are the artifact repositories
- * obtained using the query installed in the content provider.
- *
- * @since 3.4
- *
- */
-public class ArtifactRepositories extends RemoteQueriedElement {
-
- protected int getDefaultQueryType() {
- return IQueryProvider.ARTIFACT_REPOS;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.model.IWorkbenchAdapter#getLabel(java.lang.Object)
- */
- public String getLabel(Object o) {
- return ProvUIMessages.Label_Repositories;
- }
-
- /*
- * (non-Javadoc)
- * Overridden because we know that the queryable artifact repo manager can handle a null query
- * @see org.eclipse.equinox.internal.p2.ui.model.RemoteQueriedElement#isSufficientForQuery(org.eclipse.equinox.internal.provisional.p2.ui.query.ElementQueryDescriptor)
- */
- // TODO this is not ideal
- // see https://bugs.eclipse.org/bugs/show_bug.cgi?id=224504
- protected boolean isSufficientForQuery(ElementQueryDescriptor queryDescriptor) {
- return queryDescriptor.collector != null && queryDescriptor.queryable != null;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/ArtifactRepositoryElement.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/ArtifactRepositoryElement.java
deleted file mode 100644
index d920b7f..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/ArtifactRepositoryElement.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.model;
-
-import java.net.URL;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.p2.ui.model.ArtifactElement;
-import org.eclipse.equinox.internal.p2.ui.model.ProvElement;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepository;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUIImages;
-import org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningUtil;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.ui.progress.IDeferredWorkbenchAdapter;
-import org.eclipse.ui.progress.IElementCollector;
-
-/**
- * Element wrapper class for a artifact repository that gets its
- * contents in a deferred manner.
- *
- * @since 3.4
- */
-public class ArtifactRepositoryElement extends ProvElement implements IDeferredWorkbenchAdapter, IRepositoryElement {
-
- URL url;
- IArtifactRepository repo;
- boolean isEnabled;
-
- public ArtifactRepositoryElement(URL url) {
- this(url, true);
- }
-
- public ArtifactRepositoryElement(URL url, boolean isEnabled) {
- this.url = url;
- this.isEnabled = isEnabled;
- }
-
- public Object getAdapter(Class adapter) {
- if (adapter == IArtifactRepository.class)
- return getRepository(null);
- if (adapter == IRepository.class)
- return getRepository(null);
- return super.getAdapter(adapter);
- }
-
- protected String getImageId(Object obj) {
- return ProvUIImages.IMG_ARTIFACT_REPOSITORY;
- }
-
- protected Object[] fetchChildren(Object o, IProgressMonitor monitor) {
- IArtifactRepository repository = (IArtifactRepository) getRepository(monitor);
- if (repository == null)
- return new ArtifactElement[0];
- IArtifactKey[] keys = repository.getArtifactKeys();
- ArtifactElement[] elements = new ArtifactElement[keys.length];
- for (int i = 0; i < keys.length; i++) {
- elements[i] = new ArtifactElement(keys[i], repo);
- }
- return elements;
- }
-
- public String getLabel(Object o) {
- String name = getName();
- if (name != null && name.length() > 0) {
- return name;
- }
- return getLocation().toExternalForm();
- }
-
- public IRepository getRepository(IProgressMonitor monitor) {
- if (repo == null)
- try {
- repo = ProvisioningUtil.loadArtifactRepository(url, monitor);
- } catch (ProvisionException e) {
- handleException(e, NLS.bind(ProvUIMessages.MetadataRepositoryElement_RepositoryLoadError, url));
- }
- return repo;
- }
-
- public ISchedulingRule getRule(Object object) {
- return null;
- }
-
- public boolean isContainer() {
- return true;
- }
-
- public void fetchDeferredChildren(Object o, IElementCollector collector, IProgressMonitor monitor) {
- collector.add(fetchChildren(o, monitor), monitor);
- }
-
- public Object[] getChildren(Object o) {
- return fetchChildren(o, null);
- }
-
- public Object getParent(Object o) {
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.ui.model.RepositoryElement#getURL()
- */
- public URL getLocation() {
- return url;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.ui.model.RepositoryElement#getName()
- */
- public String getName() {
- try {
- String name = ProvisioningUtil.getArtifactRepositoryProperty(url, IRepository.PROP_NAME);
- if (name == null)
- return ""; //$NON-NLS-1$
- return name;
- } catch (ProvisionException e) {
- return ""; //$NON-NLS-1$
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.ui.model.RepositoryElement#getDescription()
- */
- public String getDescription() {
- try {
- String description = ProvisioningUtil.getArtifactRepositoryProperty(url, IRepository.PROP_DESCRIPTION);
- if (description == null)
- return ""; //$NON-NLS-1$
- return description;
- } catch (ProvisionException e) {
- return ""; //$NON-NLS-1$
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.ui.model.RepositoryElement#isEnabled()
- */
- public boolean isEnabled() {
- return isEnabled;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.ui.model.IRepositoryElement#setEnabled(boolean)
- */
- public void setEnabled(boolean enabled) {
- isEnabled = enabled;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/CategoryElement.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/CategoryElement.java
deleted file mode 100644
index 7d267cd..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/CategoryElement.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.model;
-
-import java.util.*;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.internal.p2.ui.model.RemoteQueriedElement;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.RequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUIImages;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.IQueryProvider;
-
-/**
- * Element wrapper class for IU's that represent categories of
- * available IU's
- *
- * @since 3.4
- */
-public class CategoryElement extends RemoteQueriedElement implements IUElement {
-
- private ArrayList ius = new ArrayList(1);
-
- public CategoryElement(IInstallableUnit iu) {
- ius.add(iu);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.equinox.internal.provisional.p2.ui.model.ProvElement#getImageID(java.lang.Object)
- */
- protected String getImageId(Object obj) {
- return ProvUIImages.IMG_CATEGORY;
- }
-
- public String getLabel(Object o) {
- IInstallableUnit iu = getIU();
- if (iu != null)
- return iu.getId();
- return null;
- }
-
- public Object getAdapter(Class adapter) {
- if (adapter == IInstallableUnit.class)
- return getIU();
- return super.getAdapter(adapter);
- }
-
- protected int getDefaultQueryType() {
- return IQueryProvider.AVAILABLE_IUS;
- }
-
- public IInstallableUnit getIU() {
- if (ius == null || ius.isEmpty())
- return null;
- return (IInstallableUnit) ius.get(0);
- }
-
- public long getSize() {
- return SIZE_UNKNOWN;
- }
-
- public boolean shouldShowSize() {
- return false;
- }
-
- public void computeSize(IProgressMonitor monitor) {
- // Should never be called, since shouldShowSize() returns false
- }
-
- public boolean shouldShowVersion() {
- return false;
- }
-
- public void mergeIU(IInstallableUnit iu) {
- ius.add(iu);
- }
-
- public RequiredCapability[] getRequirements() {
- if (ius == null || ius.isEmpty())
- return new RequiredCapability[0];
- if (ius.size() == 1)
- return getIU().getRequiredCapabilities();
- ArrayList capabilities = new ArrayList();
- Iterator iter = ius.iterator();
- while (iter.hasNext()) {
- IInstallableUnit iu = (IInstallableUnit) iter.next();
- capabilities.addAll(Arrays.asList(iu.getRequiredCapabilities()));
- }
- return (RequiredCapability[]) capabilities.toArray(new RequiredCapability[capabilities.size()]);
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/ElementUtils.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/ElementUtils.java
deleted file mode 100644
index 0d55bbe..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/ElementUtils.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.equinox.internal.provisional.p2.ui.model;
-
-import java.net.URL;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUI;
-import org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningUtil;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Utility methods for manipulating model elements.
- *
- * @since 3.4
- *
- */
-public class ElementUtils {
-
- public static void updateRepositoryUsingElements(final MetadataRepositoryElement[] elements, final Shell shell) {
- Job job = new Job("Updating Repository Information") {
- public IStatus run(IProgressMonitor monitor) {
- ProvUI.startBatchOperation();
- try {
- URL[] currentlyEnabled = ProvisioningUtil.getMetadataRepositories(IMetadataRepositoryManager.REPOSITORIES_ALL);
- URL[] currentlyDisabled = ProvisioningUtil.getMetadataRepositories(IMetadataRepositoryManager.REPOSITORIES_DISABLED);
- for (int i = 0; i < elements.length; i++) {
- URL location = elements[i].getLocation();
- if (elements[i].isEnabled()) {
- if (containsURL(currentlyDisabled, location))
- // It should be enabled and is not currently
- ProvisioningUtil.setColocatedRepositoryEnablement(location, true);
- else if (!containsURL(currentlyEnabled, location)) {
- // It is not known as enabled or disabled. Add it.
- ProvisioningUtil.addMetadataRepository(location);
- ProvisioningUtil.addArtifactRepository(location);
- }
- } else {
- if (containsURL(currentlyEnabled, location))
- // It should be disabled, and is currently enabled
- ProvisioningUtil.setColocatedRepositoryEnablement(location, false);
- else if (!containsURL(currentlyDisabled, location)) {
- // It is not known as enabled or disabled. Add it and then disable it.
- ProvisioningUtil.addMetadataRepository(location);
- ProvisioningUtil.addArtifactRepository(location);
- ProvisioningUtil.setColocatedRepositoryEnablement(location, false);
- }
- }
- }
- } catch (ProvisionException e) {
- return e.getStatus();
- } finally {
- ProvUI.endBatchOperation();
- }
- return Status.OK_STATUS;
- }
- };
- job.schedule();
- }
-
- static boolean containsURL(URL[] locations, URL url) {
- for (int i = 0; i < locations.length; i++)
- if (locations[i].toExternalForm().equals(url.toExternalForm()))
- return true;
- return false;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/IRepositoryElement.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/IRepositoryElement.java
deleted file mode 100644
index 53c8444..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/IRepositoryElement.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.model;
-
-import java.net.URL;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository;
-
-/**
- * Interface for elements that represent repositories.
- *
- * @since 3.4
- */
-public interface IRepositoryElement {
-
- public URL getLocation();
-
- public String getName();
-
- public String getDescription();
-
- public boolean isEnabled();
-
- public void setEnabled(boolean enabled);
-
- public IRepository getRepository(IProgressMonitor monitor);
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/IUElement.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/IUElement.java
deleted file mode 100644
index 7a672c5..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/IUElement.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.model;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-
-/**
- * Interface for elements that represent IU's.
- *
- * @since 3.4
- */
-public interface IUElement {
-
- /**
- * Indicates that the size is currently unknown
- */
- public static final long SIZE_UNKNOWN = -1L;
-
- /**
- * Indicates that the size is unavailable (it was
- * unknown but could not be computed.)
- */
- public static final long SIZE_UNAVAILABLE = -2L;
-
- public IInstallableUnit getIU();
-
- public boolean shouldShowSize();
-
- public boolean shouldShowVersion();
-
- public long getSize();
-
- public void computeSize(IProgressMonitor monitor);
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/IUVersionsElement.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/IUVersionsElement.java
deleted file mode 100644
index 159d1af..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/IUVersionsElement.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.model;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.internal.p2.ui.model.CachedQueryElement;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUIImages;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.IQueryProvider;
-
-/**
- * Element wrapper class for a particular IU version, whose
- * children are the other versions.
- *
- * @since 3.4
- */
-public class IUVersionsElement extends CachedQueryElement implements IUElement {
-
- IInstallableUnit iu;
-
- public IUVersionsElement(IInstallableUnit iu) {
- this.iu = iu;
- }
-
- public String getLabel(Object o) {
- return iu.getId();
- }
-
- public String getImageId(Object o) {
- return ProvUIImages.IMG_UNINSTALLED_IU;
- }
-
- public Object getAdapter(Class adapter) {
- if (adapter == IInstallableUnit.class)
- return iu;
- return super.getAdapter(adapter);
- }
-
- public IInstallableUnit getIU() {
- return iu;
- }
-
- public void setIU(IInstallableUnit iu) {
- this.iu = iu;
- }
-
- protected int getDefaultQueryType() {
- return IQueryProvider.AVAILABLE_IUS;
- }
-
- public long getSize() {
- return SIZE_UNKNOWN;
- }
-
- public boolean shouldShowSize() {
- return false;
- }
-
- public boolean shouldShowVersion() {
- return true;
- }
-
- public void computeSize(IProgressMonitor monitor) {
- // Should never be called, since shouldShowSize() returns false
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/InstalledIUElement.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/InstalledIUElement.java
deleted file mode 100644
index acd7c38..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/InstalledIUElement.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.model;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.internal.p2.ui.model.ProvElement;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUIImages;
-
-/**
- * Element wrapper class for installed IU's. Used instead of the plain IU when
- * there should be a parent profile available for operations.
- *
- * @since 3.4
- */
-public class InstalledIUElement extends ProvElement implements IUElement {
-
- String profileId;
- IInstallableUnit iu;
-
- public InstalledIUElement(String profileId, IInstallableUnit iu) {
- this.profileId = profileId;
- this.iu = iu;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.equinox.internal.provisional.p2.ui.model.ProvElement#getImageID(java.lang.Object)
- */
- protected String getImageId(Object obj) {
- return ProvUIImages.IMG_IU;
- }
-
- public String getLabel(Object o) {
- return iu.getId();
- }
-
- public Object[] getChildren(Object o) {
- return null;
- }
-
- public Object getAdapter(Class adapter) {
- if (adapter == IInstallableUnit.class)
- return iu;
- return super.getAdapter(adapter);
- }
-
- public String getProfileId() {
- return profileId;
- }
-
- public IInstallableUnit getIU() {
- return iu;
- }
-
- // TODO Later we might consider showing this in the installed views,
- // but it is less important than before install.
- public long getSize() {
- return SIZE_UNKNOWN;
- }
-
- public boolean shouldShowSize() {
- return false;
- }
-
- public void computeSize(IProgressMonitor monitor) {
- // Should never be called, as long as shouldShowSize() returns false
- }
-
- public boolean shouldShowVersion() {
- return true;
- }
-
- public Object getParent(Object o) {
- // we do not know the element
- return null;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/MetadataRepositories.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/MetadataRepositories.java
deleted file mode 100644
index 3d32654..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/MetadataRepositories.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.model;
-
-import java.net.URL;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.p2.ui.model.RemoteQueriedElement;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.IQueryProvider;
-import org.eclipse.equinox.internal.provisional.p2.ui.query.ElementQueryDescriptor;
-import org.eclipse.equinox.internal.provisional.p2.ui.query.QueryableMetadataRepositoryManager;
-
-/**
- * Element class that represents some collection of metadata repositories.
- * It can be configured so that it retrieves its children in different ways.
- * The default query type will return the metadata repositories specified in
- * this element. Other query types can be used to query each repository and
- * aggregate the children.
- *
- * @since 3.4
- *
- */
-public class MetadataRepositories extends RemoteQueriedElement {
-
- private URL[] metadataRepositories = null;
- private boolean includeDisabled = false;
- private int repoFlags = IMetadataRepositoryManager.REPOSITORIES_ALL;
-
- public MetadataRepositories() {
- super();
- }
-
- public MetadataRepositories(URL[] metadataRepositories) {
- this.metadataRepositories = metadataRepositories;
- }
-
- /**
- * Get whether disabled repositories should be included in queries when no repositories
- * have been specified. This boolean is used because the flags specified when getting
- * repositories from a repository manager are treated as an AND, and we want to permit
- * aggregating disabled repositories along with other flags.
- *
- * @return includeDisabled <code>true</code> if disabled repositories should be included and
- * <code>false</code> if they should not be included.
- */
- public boolean getIncludeDisabledRepositories() {
- return includeDisabled;
- }
-
- /**
- * Set whether disabled repositories should be included in queries when no repositories
- * have been specified. This boolean is used because the flags specified when getting
- * repositories from a repository manager are treated as an AND, and we want to permit
- * aggregating disabled repositories along with other flags.
- *
- * @param includeDisabled <code>true</code> if disabled repositories should be included and
- * <code>false</code> if they should not be included.
- */
- public void setIncludeDisabledRepositories(boolean includeDisabled) {
- this.includeDisabled = includeDisabled;
- }
-
- /**
- * Get the flags that should be used to get the repositories when no repositories
- * are specified.
- *
- * @return the integer repository manager flags
- */
- public int getRepoFlags() {
- return repoFlags;
- }
-
- /**
- * Set the flags that should be used to get the repositories when no repositories
- * are specified.
- *
- * @param flags the integer repository manager flags
- */
- public void setRepoFlags(int flags) {
- this.repoFlags = flags;
- }
-
- /*
- * Overridden to check the query context. We might
- * be showing repositories, or we might be flattening the
- * view to some other element
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.ui.query.QueriedElement#getQueryType()
- */
- protected int getQueryType() {
- if (queryContext == null)
- return getDefaultQueryType();
- return queryContext.getQueryType();
- }
-
- protected int getDefaultQueryType() {
- return IQueryProvider.METADATA_REPOS;
- }
-
- /**
- * Return the array of URLs for the metadata repositories that
- * this element represents. A value of <code>null</code> means
- * all repositories are represented.
- *
- * @return the array of repositories, or <code>null</code>.
- */
- public URL[] getMetadataRepositories() {
- return metadataRepositories;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.model.IWorkbenchAdapter#getLabel(java.lang.Object)
- */
- public String getLabel(Object o) {
- return ProvUIMessages.Label_Repositories;
- }
-
- /*
- * (non-Javadoc)
- * Overridden because we know that the queryable metadata repo manager can handle a null query
- * @see org.eclipse.equinox.internal.p2.ui.model.RemoteQueriedElement#isSufficientForQuery(org.eclipse.equinox.internal.provisional.p2.ui.query.ElementQueryDescriptor)
- */
- // TODO this is not ideal
- // see https://bugs.eclipse.org/bugs/show_bug.cgi?id=224504
- protected boolean isSufficientForQuery(ElementQueryDescriptor queryDescriptor) {
- return queryDescriptor.collector != null && queryDescriptor.queryable != null;
- }
-
- /*
- * Overridden to check whether the queryable repository manager
- * has loaded all repositories or not.
- * This is necessary to prevent background loading of already loaded repositories
- * by the DeferredTreeContentManager, which will add redundant children to the
- * viewer.
- * see https://bugs.eclipse.org/bugs/show_bug.cgi?id=229069
- * see https://bugs.eclipse.org/bugs/show_bug.cgi?id=226343
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.ui.query.QueriedElement#hasQueryable()
- */
- public boolean hasQueryable() {
- // We use the superclass implementation if we don't have a queryable or
- // don't recognize it. Also, if we are merely iterating sites rather
- // than loading them to obtain further results, use the superclass
- if (queryable == null || !(queryable instanceof QueryableMetadataRepositoryManager) || getQueryType() == IQueryProvider.METADATA_REPOS)
- return super.hasQueryable();
- return ((QueryableMetadataRepositoryManager) queryable).areRepositoriesLoaded();
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/MetadataRepositoryElement.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/MetadataRepositoryElement.java
deleted file mode 100644
index b5dc20b..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/MetadataRepositoryElement.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.model;
-
-import java.net.URL;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager;
-import org.eclipse.equinox.internal.p2.ui.ProvUIActivator;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.p2.ui.model.RemoteQueriedElement;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.query.IQueryable;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUI;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUIImages;
-import org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningUtil;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.IQueryProvider;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-/**
- * Element wrapper class for a metadata repository that gets its
- * contents in a deferred manner.
- *
- * @since 3.4
- */
-public class MetadataRepositoryElement extends RemoteQueriedElement implements IRepositoryElement {
-
- URL url;
- boolean isEnabled;
- boolean alreadyReportedNotFound = false;
-
- public MetadataRepositoryElement(URL url) {
- this(url, true);
- }
-
- public MetadataRepositoryElement(URL url, boolean isEnabled) {
- this.url = url;
- this.isEnabled = isEnabled;
- }
-
- public Object getAdapter(Class adapter) {
- if (adapter == IMetadataRepository.class)
- return getQueryable();
- if (adapter == IRepository.class)
- return getQueryable();
- return super.getAdapter(adapter);
- }
-
- protected String getImageId(Object obj) {
- return ProvUIImages.IMG_METADATA_REPOSITORY;
- }
-
- protected int getDefaultQueryType() {
- return IQueryProvider.AVAILABLE_IUS;
- }
-
- public String getLabel(Object o) {
- String name = getName();
- if (name != null && name.length() > 0) {
- return name;
- }
- return getLocation().toExternalForm();
- }
-
- /*
- * overridden to lazily fetch repository
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.ui.query.QueriedElement#getQueryable()
- */
- public IQueryable getQueryable() {
- if (queryable == null)
- return getMetadataRepository(null);
- return queryable;
- }
-
- public IRepository getRepository(IProgressMonitor monitor) {
- return getMetadataRepository(monitor);
- }
-
- private IMetadataRepository getMetadataRepository(IProgressMonitor monitor) {
- if (queryable == null)
- try {
- queryable = ProvisioningUtil.loadMetadataRepository(url, monitor);
- } catch (ProvisionException e) {
- // If repository could not be found, report to the user, but only once.
- // If the user refreshes the repositories, new elements will be created and
- // then a failure would be reported again on the next try.
- if (e.getStatus().getCode() == ProvisionException.REPOSITORY_NOT_FOUND) {
- if (!alreadyReportedNotFound) {
- // report the status, not the exception, to the user because we
- // do not want to show them stack trace and exception detail.
- ProvUI.reportNotFoundStatus(url, e.getStatus(), StatusManager.SHOW);
- alreadyReportedNotFound = true;
- }
- } else
- // handle other exceptions the normal way
- handleException(e, NLS.bind(ProvUIMessages.MetadataRepositoryElement_RepositoryLoadError, url));
- }
- return (IMetadataRepository) queryable;
-
- }
-
- /*
- * overridden to check whether url is specified rather
- * than loading the repo via getQueryable()
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.ui.query.QueriedElement#knowsQueryable()
- */
- public boolean knowsQueryable() {
- return url != null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.ui.model.RepositoryElement#getURL()
- */
- public URL getLocation() {
- return url;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.ui.model.RepositoryElement#getName()
- */
- public String getName() {
- try {
- String name = ProvisioningUtil.getMetadataRepositoryProperty(url, IRepository.PROP_NAME);
- if (name == null)
- return ""; //$NON-NLS-1$
- return name;
- } catch (ProvisionException e) {
- return ""; //$NON-NLS-1$
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.ui.model.RepositoryElement#getDescription()
- */
- public String getDescription() {
- if (alreadyReportedNotFound)
- return ProvUIMessages.MetadataRepositoryElement_NotFound;
- try {
- String description = ProvisioningUtil.getMetadataRepositoryProperty(url, IRepository.PROP_DESCRIPTION);
- if (description == null)
- return ""; //$NON-NLS-1$
- return description;
- } catch (ProvisionException e) {
- return ""; //$NON-NLS-1$
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.ui.model.RepositoryElement#isEnabled()
- */
- public boolean isEnabled() {
- return isEnabled;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.ui.model.IRepositoryElement#setEnabled(boolean)
- */
- public void setEnabled(boolean enabled) {
- isEnabled = enabled;
- }
-
- /*
- * Overridden to check whether a repository instance has already been loaded.
- * This is necessary to prevent background loading of an already loaded repository
- * by the DeferredTreeContentManager, which will add redundant children to the
- * viewer.
- * see https://bugs.eclipse.org/bugs/show_bug.cgi?id=229069
- * see https://bugs.eclipse.org/bugs/show_bug.cgi?id=226343
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.ui.query.QueriedElement#hasQueryable()
- */
- public boolean hasQueryable() {
- if (queryable != null)
- return true;
- if (url == null)
- return false;
- IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(ProvUIActivator.getContext(), IMetadataRepositoryManager.class.getName());
- if (manager == null || !(manager instanceof MetadataRepositoryManager))
- return false;
- IMetadataRepository repo = ((MetadataRepositoryManager) manager).getRepository(url);
- if (repo == null)
- return false;
- queryable = repo;
- return true;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/ProfileElement.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/ProfileElement.java
deleted file mode 100644
index aae1bf8..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/ProfileElement.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.model;
-
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.p2.ui.model.RemoteQueriedElement;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.query.IQueryable;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUIImages;
-import org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningUtil;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.IQueryProvider;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Element wrapper class for a profile that uses the query
- * mechanism to obtain its contents.
- *
- * @since 3.4
- */
-public class ProfileElement extends RemoteQueriedElement {
- String profileId;
-
- public ProfileElement(String profileId) {
- this.profileId = profileId;
- }
-
- public Object getAdapter(Class adapter) {
- if (adapter == IProfile.class)
- return getQueryable();
- return super.getAdapter(adapter);
- }
-
- protected String getImageId(Object obj) {
- return ProvUIImages.IMG_PROFILE;
- }
-
- public String getLabel(Object o) {
- return profileId;
- }
-
- protected int getDefaultQueryType() {
- return IQueryProvider.INSTALLED_IUS;
- }
-
- public IQueryable getQueryable() {
- try {
- return ProvisioningUtil.getProfile(profileId);
- } catch (ProvisionException e) {
- handleException(e, NLS.bind(ProvUIMessages.ProfileElement_InvalidProfile, profileId));
- return null;
- }
- }
-
- /*
- * Overridden to check whether we know the profile id rather
- * than fetch the profile from the registry using getQueryable()
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.ui.query.QueriedElement#knowsQueryable()
- */
- public boolean knowsQueryable() {
- return profileId != null;
- }
-
- /*
- * Overridden to check the children so that profiles
- * showing in profile views accurately reflect if they
- * are empty. We do not cache the children because often
- * this element is the input of a view and when the view
- * is refreshed we want to refetch the children.
- *
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.p2.ui.model.RemoteQueriedElement#isContainer()
- */
- public boolean isContainer() {
- return super.getChildren(this).length > 0;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/Profiles.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/Profiles.java
deleted file mode 100644
index 36499e4..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/Profiles.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.model;
-
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.IQueryProvider;
-import org.eclipse.equinox.internal.provisional.p2.ui.query.QueriedElement;
-
-/**
- * Element class that represents the root of a profile
- * viewer. Its children are the profiles that match the
- * specified query for profiles.
- *
- * @since 3.4
- *
- */
-public class Profiles extends QueriedElement {
-
- public Profiles() {
- super(null);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.equinox.internal.provisional.p2.ui.model.RepositoryElement#getParent(java.lang.Object)
- */
- public Object getParent(Object o) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.model.IWorkbenchAdapter#getLabel(java.lang.Object)
- */
- public String getLabel(Object o) {
- return ProvUIMessages.Label_Profiles;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.ui.query.QueriedElement#getDefaultQueryType()
- */
- protected int getDefaultQueryType() {
- return IQueryProvider.PROFILES;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/QueriedElementCollector.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/QueriedElementCollector.java
deleted file mode 100644
index e442dfe..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/QueriedElementCollector.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.model;
-
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.query.IQueryable;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.IQueryProvider;
-import org.eclipse.equinox.internal.provisional.p2.ui.query.QueriedElement;
-import org.eclipse.equinox.internal.provisional.p2.ui.query.QueryContext;
-
-/**
- * Collector that assigns a query provider and the queryable
- * who was performing the query to the elements
- * as they are accepted.
- *
- * @since 3.4
- */
-public class QueriedElementCollector extends Collector {
-
- protected IQueryProvider queryProvider;
- protected IQueryable queryable;
- protected QueryContext queryContext;
-
- public QueriedElementCollector(IQueryProvider queryProvider, IQueryable queryable, QueryContext queryContext) {
- this.queryProvider = queryProvider;
- this.queryable = queryable;
- this.queryContext = queryContext;
- }
-
- /**
- * Accepts a result that matches the query criteria.
- *
- * @param match an object matching the query
- * @return <code>true</code> if the query should continue,
- * or <code>false</code> to indicate the query should stop.
- */
- public boolean accept(Object match) {
- if (match instanceof QueriedElement) {
- QueriedElement element = (QueriedElement) match;
- element.setQueryProvider(queryProvider);
- if (!element.knowsQueryable()) {
- element.setQueryable(queryable);
- }
- if (element.getQueryContext() == null)
- element.setQueryContext(queryContext);
- }
- return super.accept(match);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/RollbackProfileElement.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/RollbackProfileElement.java
deleted file mode 100644
index 6571d33..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/RollbackProfileElement.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.model;
-
-import java.text.DateFormat;
-import java.util.Date;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.internal.p2.rollback.FormerState;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.p2.ui.model.RemoteQueriedElement;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningContext;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.query.IQueryable;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUIImages;
-import org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningUtil;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.IQueryProvider;
-
-/**
- * Element wrapper class for an IU that represents a profile snapshot
- * from a rollback repository. It has characteristics of an IU element,
- * in that it is stored as an IU and can be adapted to its IU. But
- * conceptually, it is more like a profile, in that its children are the
- * IU's that represent the content of the profile when it was snapshotted.
- *
- * @since 3.4
- */
-public class RollbackProfileElement extends RemoteQueriedElement implements IUElement {
-
- private IInstallableUnit iu;
- private IProfile snapshot;
-
- public RollbackProfileElement(IInstallableUnit iu) {
- this.iu = iu;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.equinox.internal.provisional.p2.ui.model.ProvElement#getImageID(java.lang.Object)
- */
- protected String getImageId(Object obj) {
- return ProvUIImages.IMG_PROFILE;
- }
-
- public String getLabel(Object o) {
- return DateFormat.getInstance().format(new Date(Long.decode(iu.getVersion().getQualifier()).longValue()));
- }
-
- public Object getAdapter(Class adapter) {
- if (adapter == IInstallableUnit.class)
- return iu;
- if (adapter == IProfile.class)
- try {
- return getProfileSnapshot(null);
- } catch (ProvisionException e) {
- handleException(e, ProvUIMessages.RollbackProfileElement_InvalidSnapshot);
- }
- return super.getAdapter(adapter);
- }
-
- public IInstallableUnit getIU() {
- return iu;
- }
-
- public long getSize() {
- return SIZE_UNKNOWN;
- }
-
- public boolean shouldShowSize() {
- return false;
- }
-
- public boolean shouldShowVersion() {
- return false;
- }
-
- public void computeSize(IProgressMonitor monitor) {
- // Should never be called, since shouldShowSize() returns false
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.ui.query.QueriedElement#getDefaultQueryType()
- */
- protected int getDefaultQueryType() {
- return IQueryProvider.INSTALLED_IUS;
- }
-
- /*
- * overridden to lazily fetch profile
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.ui.query.QueriedElement#getQueryable()
- */
- public IQueryable getQueryable() {
- if (queryable == null)
- try {
- queryable = getProfileSnapshot(null);
- } catch (ProvisionException e) {
- handleException(e, ProvUIMessages.RollbackProfileElement_InvalidSnapshot);
- }
- return queryable;
- }
-
- public IProfile getProfileSnapshot(IProgressMonitor monitor) throws ProvisionException {
- if (snapshot == null) {
- IProfile profile = ProvisioningUtil.getProfile(iu.getId());
- snapshot = FormerState.IUToProfile(iu, profile, new ProvisioningContext(), monitor);
- setQueryable(snapshot);
- }
- return snapshot;
- }
-
- /*
- * overridden to check whether snapshot IU is specified rather
- * than loading the profile via getQueryable()
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.ui.query.QueriedElement#knowsQueryable()
- */
- public boolean knowsQueryable() {
- return iu != null;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/RollbackRepositoryElement.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/RollbackRepositoryElement.java
deleted file mode 100644
index 8e9be66..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/RollbackRepositoryElement.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.model;
-
-import java.net.URL;
-
-/**
- * Element wrapper class for a rollback repository.
- *
- * @since 3.4
- */
-public class RollbackRepositoryElement extends MetadataRepositoryElement {
-
- String profileId;
-
- public RollbackRepositoryElement(URL url, String profileId) {
- super(url);
- this.profileId = profileId;
- }
-
- public String getProfileId() {
- return profileId;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/UncategorizedCategoryElement.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/UncategorizedCategoryElement.java
deleted file mode 100644
index 20ed3b4..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/UncategorizedCategoryElement.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.model;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-
-/**
- * Element wrapper class for an IU that shows all uncategorized IU's.
- *
- * @since 3.4
- */
-public class UncategorizedCategoryElement extends CategoryElement {
-
- public UncategorizedCategoryElement(IInstallableUnit iu) {
- super(iu);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/AddArtifactRepositoryOperation.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/AddArtifactRepositoryOperation.java
deleted file mode 100644
index 4b7e43a..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/AddArtifactRepositoryOperation.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.operations;
-
-import java.net.URL;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-
-/**
- * Operation which adds an artifact repository given its URL.
- *
- * @since 3.4
- */
-public class AddArtifactRepositoryOperation extends RepositoryOperation {
-
- boolean added = false;
-
- public AddArtifactRepositoryOperation(String label, URL url) {
- super(label, new URL[] {url});
- }
-
- protected IStatus doBatchedExecute(IProgressMonitor monitor, IAdaptable uiInfo) throws ProvisionException {
- for (int i = 0; i < urls.length; i++) {
- ProvisioningUtil.addArtifactRepository(urls[i]);
- }
- added = true;
- return okStatus();
- }
-
- protected IStatus doBatchedUndo(IProgressMonitor monitor, IAdaptable uiInfo) throws ProvisionException {
- for (int i = 0; i < urls.length; i++) {
- ProvisioningUtil.removeArtifactRepository(urls[i], monitor);
- }
- // assume the best if no exception is thrown;
- added = false;
- return okStatus();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.core.commands.operations.AbstractOperation#canExecute()
- */
- public boolean canExecute() {
- return super.canExecute() && !added;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.core.commands.operations.AbstractOperation#canUndo()
- */
- public boolean canUndo() {
- return super.canUndo() && added;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/AddColocatedRepositoryOperation.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/AddColocatedRepositoryOperation.java
deleted file mode 100644
index 01f2161..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/AddColocatedRepositoryOperation.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.operations;
-
-import java.net.URL;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-
-/**
- * Operation that adds colocated artifact and metadata repositories
- * given a URL.
- *
- * @since 3.4
- */
-public class AddColocatedRepositoryOperation extends RepositoryOperation {
-
- boolean added = false;
-
- public AddColocatedRepositoryOperation(String label, URL url) {
- super(label, new URL[] {url});
- }
-
- public AddColocatedRepositoryOperation(String label, URL[] urls) {
- super(label, urls);
- }
-
- protected IStatus doBatchedExecute(IProgressMonitor monitor, IAdaptable uiInfo) throws ProvisionException {
- for (int i = 0; i < urls.length; i++) {
- ProvisioningUtil.addMetadataRepository(urls[i]);
- ProvisioningUtil.addArtifactRepository(urls[i]);
- }
- added = true;
- return okStatus();
- }
-
- protected IStatus doBatchedUndo(IProgressMonitor monitor, IAdaptable uiInfo) throws ProvisionException {
- for (int i = 0; i < urls.length; i++) {
- ProvisioningUtil.removeMetadataRepository(urls[i], monitor);
- ProvisioningUtil.removeArtifactRepository(urls[i], monitor);
- }
- added = false;
- return okStatus();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.core.commands.operations.AbstractOperation#canExecute()
- */
- public boolean canExecute() {
- return super.canExecute() && !added;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.core.commands.operations.AbstractOperation#canUndo()
- */
- public boolean canUndo() {
- return super.canUndo() && added;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/AddMetadataRepositoryOperation.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/AddMetadataRepositoryOperation.java
deleted file mode 100644
index 400e117..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/AddMetadataRepositoryOperation.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.operations;
-
-import java.net.URL;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-
-/**
- * Operation that adds a metadata repository given its URL.
- *
- * @since 3.4
- */
-public class AddMetadataRepositoryOperation extends RepositoryOperation {
-
- boolean added = false;
-
- public AddMetadataRepositoryOperation(String label, URL url) {
- super(label, new URL[] {url});
- }
-
- protected IStatus doBatchedExecute(IProgressMonitor monitor, IAdaptable uiInfo) throws ProvisionException {
- for (int i = 0; i < urls.length; i++) {
- ProvisioningUtil.addMetadataRepository(urls[i]);
- }
- added = true;
- return okStatus();
- }
-
- protected IStatus doBatchedUndo(IProgressMonitor monitor, IAdaptable uiInfo) throws ProvisionException {
- for (int i = 0; i < urls.length; i++) {
- ProvisioningUtil.removeMetadataRepository(urls[i], monitor);
- }
- added = false;
- return okStatus();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.core.commands.operations.AbstractOperation#canExecute()
- */
- public boolean canExecute() {
- return super.canExecute() && !added;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.core.commands.operations.AbstractOperation#canUndo()
- */
- public boolean canUndo() {
- return super.canUndo() && added;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/AddProfileOperation.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/AddProfileOperation.java
deleted file mode 100644
index 2a474a2..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/AddProfileOperation.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.operations;
-
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-
-/**
- * Operation that adds the given profile to the profile registry.
- *
- * @since 3.4
- */
-public class AddProfileOperation extends ProfileOperation {
- private boolean added = false;
- private String profileId;
- private Map profileProperties;
-
- public AddProfileOperation(String label, IProfile profile) {
- super(label, new IProfile[0]);
- }
-
- public AddProfileOperation(String label, String profileId, Map profileProperties) {
- super(label, new IProfile[0]);
- this.profileId = profileId;
- this.profileProperties = profileProperties;
-
- }
-
- protected IStatus doExecute(IProgressMonitor monitor, IAdaptable uiInfo) throws ProvisionException {
- ProvisioningUtil.addProfile(profileId, profileProperties, monitor);
- added = true;
- return okStatus();
- }
-
- protected IStatus doUndo(IProgressMonitor monitor, IAdaptable uiInfo) throws ProvisionException {
- ProvisioningUtil.removeProfile(profileIds[0], monitor);
- added = false;
- return okStatus();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.core.commands.operations.AbstractOperation#canExecute()
- */
- public boolean canExecute() {
- return super.canExecute() && !added;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.core.commands.operations.AbstractOperation#canUndo()
- */
- public boolean canUndo() {
- return super.canUndo() && added;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/DownloadPhaseSet.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/DownloadPhaseSet.java
deleted file mode 100644
index 2132765..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/DownloadPhaseSet.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/**
- *
- */
-package org.eclipse.equinox.internal.provisional.p2.ui.operations;
-
-import org.eclipse.equinox.internal.provisional.p2.engine.Phase;
-import org.eclipse.equinox.internal.provisional.p2.engine.PhaseSet;
-import org.eclipse.equinox.internal.provisional.p2.engine.phases.Collect;
-
-public class DownloadPhaseSet extends PhaseSet {
- public DownloadPhaseSet() {
- super(new Phase[] {new Collect(10)});
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/InstallAndConfigurePhaseSet.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/InstallAndConfigurePhaseSet.java
deleted file mode 100644
index e813a86..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/InstallAndConfigurePhaseSet.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/**
- *
- */
-package org.eclipse.equinox.internal.provisional.p2.ui.operations;
-
-import org.eclipse.equinox.internal.provisional.p2.engine.Phase;
-import org.eclipse.equinox.internal.provisional.p2.engine.PhaseSet;
-import org.eclipse.equinox.internal.provisional.p2.engine.phases.*;
-
-public class InstallAndConfigurePhaseSet extends PhaseSet {
- public InstallAndConfigurePhaseSet() {
- super(new Phase[] {new Unconfigure(10), new Uninstall(10), new Install(10), new Configure(10)});
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/ProfileModificationOperation.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/ProfileModificationOperation.java
deleted file mode 100644
index 0ae98c7..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/ProfileModificationOperation.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.operations;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.director.ProvisioningPlan;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-
-/**
- * Class representing a provisioning profile plan
- *
- * @since 3.4
- */
-public class ProfileModificationOperation extends ProvisioningOperation {
-
- ProvisioningPlan plan;
- String profileId;
- PhaseSet phaseSet;
- boolean isUser = true;
-
- public ProfileModificationOperation(String label, String profileId, ProvisioningPlan plan) {
- this(label, profileId, plan, null, true);
- }
-
- public ProfileModificationOperation(String label, String profileId, ProvisioningPlan plan, PhaseSet set, boolean isUser) {
- super(label);
- this.plan = plan;
- this.profileId = profileId;
- this.isUser = isUser;
- if (set == null)
- phaseSet = new DefaultPhaseSet();
- else
- phaseSet = set;
- }
-
- public String getProfileId() {
- return profileId;
- }
-
- protected IProfile getProfile() {
- try {
- return ProvisioningUtil.getProfile(profileId);
- } catch (ProvisionException e) {
- return null;
- }
- }
-
- protected IStatus doExecute(IProgressMonitor monitor, IAdaptable uiInfo) throws ProvisionException {
- return ProvisioningUtil.performProvisioningPlan(plan, phaseSet, getProfile(), monitor);
- }
-
- public boolean runInBackground() {
- return true;
- }
-
- public boolean isUser() {
- return isUser;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/ProfileOperation.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/ProfileOperation.java
deleted file mode 100644
index 78ac988..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/ProfileOperation.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.operations;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-
-/**
- * Abstract class representing provisioning profile operations
- *
- * @since 3.4
- */
-public abstract class ProfileOperation extends UndoableProvisioningOperation {
-
- String[] profileIds;
- // We cache profiles along with ids in case we have to recreate a deleted profile
- IProfile[] cachedProfiles;
-
- ProfileOperation(String label, String[] ids) {
- super(label);
- profileIds = ids;
- }
-
- ProfileOperation(String label, IProfile[] profiles) {
- super(label);
- Assert.isNotNull(profiles);
- cachedProfiles = profiles;
- profileIds = new String[profiles.length];
- for (int i = 0; i < profiles.length; i++) {
- profileIds[i] = profiles[i].getProfileId();
- }
- }
-
- boolean isValid() {
- return profileIds != null && profileIds.length > 0;
- }
-
- IProfile[] getProfiles() throws ProvisionException {
- if (profileIds == null) {
- return null;
- }
- if (cachedProfiles == null) {
- cachedProfiles = new IProfile[profileIds.length];
- for (int i = 0; i < profileIds.length; i++) {
- cachedProfiles[i] = ProvisioningUtil.getProfile(profileIds[i]);
- }
- }
- return cachedProfiles;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/ProvisioningOperation.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/ProvisioningOperation.java
deleted file mode 100644
index 5152c4b..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/ProvisioningOperation.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.operations;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Abstract class representing provisioning operations. ProvisioningOperations
- * can be run in the foreground or in the background as a job.
- *
- * @since 3.4
- */
-
-public abstract class ProvisioningOperation {
-
- private String label;
-
- public ProvisioningOperation(String label) {
- this.label = label;
- }
-
- /**
- *
- */
- public IStatus execute(IProgressMonitor monitor, final IAdaptable uiInfo) throws ExecutionException {
- IStatus status;
- try {
- status = doExecute(monitor, uiInfo);
- } catch (final ProvisionException e) {
- throw new ExecutionException(NLS.bind(ProvUIMessages.ProvisioningOperation_ExecuteErrorTitle, label, e));
- } catch (OperationCanceledException e) {
- return Status.CANCEL_STATUS;
- }
- return status;
- }
-
- /**
- * Perform the specific work involved in executing this operation.
- *
- * @param monitor
- * the progress monitor to use for the operation
- * @param uiInfo
- * the IAdaptable (or <code>null</code>) provided by the
- * caller in order to supply UI information for prompting the
- * user if necessary. When this parameter is not
- * <code>null</code>, it contains an adapter for the
- * org.eclipse.swt.widgets.Shell.class
- * @throws ProvisionException
- * propagates any ProvisionException thrown
- *
- */
- protected abstract IStatus doExecute(IProgressMonitor monitor, IAdaptable uiInfo) throws ProvisionException;
-
- protected IStatus okStatus() {
- return Status.OK_STATUS;
- }
-
- public String getLabel() {
- return label;
- }
-
- /**
- * Return a boolean indicating whether the operation can be run in the
- * background.
- *
- * @return <code>true</code> if the operation can be run in the background, and
- * <code>false</code> if it should be run in the UI.
- */
- public boolean runInBackground() {
- return false;
- }
-
- /**
- * Return a boolean indicating whether this operation was triggered by the
- * user. This value is used to determine whether any job running this operation
- * should be considered a user job. This can affect the way progress is shown to the user.
- *
- * @return <code>true</code> if the operation was initiated by the user,
- * <code>false</code> if it was not.
- */
- public boolean isUser() {
- return true;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/ProvisioningUtil.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/ProvisioningUtil.java
deleted file mode 100644
index 6dddcbd..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/ProvisioningUtil.java
+++ /dev/null
@@ -1,305 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.provisional.p2.ui.operations;
-
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.ui.ProvUIActivator;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepository;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.engine.phases.Sizing;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Utility methods for clients using the provisioning UI
- *
- * @since 3.4
- */
-public class ProvisioningUtil {
-
- public static void addMetadataRepository(URL location) throws ProvisionException {
- IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(ProvUIActivator.getContext(), IMetadataRepositoryManager.class.getName());
- if (manager == null)
- throw new ProvisionException(ProvUIMessages.ProvisioningUtil_NoRepositoryManager);
- manager.addRepository(location);
- }
-
- public static String getMetadataRepositoryProperty(URL location, String key) throws ProvisionException {
- IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(ProvUIActivator.getContext(), IMetadataRepositoryManager.class.getName());
- if (manager == null)
- throw new ProvisionException(ProvUIMessages.ProvisioningUtil_NoRepositoryManager);
- return manager.getRepositoryProperty(location, key);
- }
-
- public static boolean getMetadataRepositoryEnablement(URL location) {
- IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(ProvUIActivator.getContext(), IMetadataRepositoryManager.class.getName());
- if (manager == null)
- return false;
- return manager.isEnabled(location);
- }
-
- public static boolean getArtifactRepositoryEnablement(URL location) {
- IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(ProvUIActivator.getContext(), IArtifactRepositoryManager.class.getName());
- if (manager == null)
- return false;
- return manager.isEnabled(location);
- }
-
- public static IMetadataRepository loadMetadataRepository(URL location, IProgressMonitor monitor) throws ProvisionException {
- IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(ProvUIActivator.getContext(), IMetadataRepositoryManager.class.getName());
- if (manager == null)
- throw new ProvisionException(ProvUIMessages.ProvisioningUtil_NoRepositoryManager);
- return manager.loadRepository(location, monitor);
- }
-
- public static IStatus validateMetadataRepositoryLocation(URL location, IProgressMonitor monitor) {
- IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(ProvUIActivator.getContext(), IMetadataRepositoryManager.class.getName());
- if (manager == null)
- return new Status(IStatus.ERROR, ProvUIActivator.PLUGIN_ID, ProvUIMessages.ProvisioningUtil_NoRepositoryManager);
- return manager.validateRepositoryLocation(location, monitor);
- }
-
- public static URL getRollbackRepositoryURL() throws ProvisionException {
- IDirector director = getDirector();
- IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(ProvUIActivator.getContext(), IMetadataRepositoryManager.class.getName());
- if (manager == null)
- throw new ProvisionException(ProvUIMessages.ProvisioningUtil_NoRepositoryManager);
- return director.getRollbackRepositoryLocation();
- }
-
- public static void removeMetadataRepository(URL location, IProgressMonitor monitor) throws ProvisionException {
- IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(ProvUIActivator.getContext(), IMetadataRepositoryManager.class.getName());
- if (manager == null) {
- throw new ProvisionException(ProvUIMessages.ProvisioningUtil_NoRepositoryManager);
- }
- manager.removeRepository(location);
- }
-
- public static void addArtifactRepository(URL location) throws ProvisionException {
- IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(ProvUIActivator.getContext(), IArtifactRepositoryManager.class.getName());
- if (manager == null) {
- throw new ProvisionException(ProvUIMessages.ProvisioningUtil_NoRepositoryManager);
- }
- manager.addRepository(location);
- }
-
- public static String getArtifactRepositoryProperty(URL location, String key) throws ProvisionException {
- IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(ProvUIActivator.getContext(), IArtifactRepositoryManager.class.getName());
- if (manager == null) {
- throw new ProvisionException(ProvUIMessages.ProvisioningUtil_NoRepositoryManager);
- }
- return manager.getRepositoryProperty(location, key);
- }
-
- public static IArtifactRepository loadArtifactRepository(URL location, IProgressMonitor monitor) throws ProvisionException {
- IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(ProvUIActivator.getContext(), IArtifactRepositoryManager.class.getName());
- if (manager == null)
- throw new ProvisionException(ProvUIMessages.ProvisioningUtil_NoRepositoryManager);
- IArtifactRepository repo = manager.loadRepository(location, monitor);
- if (repo == null) {
- throw new ProvisionException(NLS.bind(ProvUIMessages.ProvisioningUtil_LoadRepositoryFailure, location.toExternalForm()));
- }
- return repo;
- }
-
- public static void removeArtifactRepository(URL location, IProgressMonitor monitor) throws ProvisionException {
- IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(ProvUIActivator.getContext(), IArtifactRepositoryManager.class.getName());
- if (manager == null) {
- throw new ProvisionException(ProvUIMessages.ProvisioningUtil_NoRepositoryManager);
- }
- manager.removeRepository(location);
- }
-
- public static IProfile addProfile(String profileId, Map properties, IProgressMonitor monitor) throws ProvisionException {
- IProfileRegistry profileRegistry = (IProfileRegistry) ServiceHelper.getService(ProvUIActivator.getContext(), IProfileRegistry.class.getName());
- if (profileRegistry == null) {
- throw new ProvisionException(ProvUIMessages.ProvisioningUtil_NoProfileRegistryFound);
- }
- return profileRegistry.addProfile(profileId, properties);
- }
-
- public static void removeProfile(String profileId, IProgressMonitor monitor) throws ProvisionException {
- IProfileRegistry profileRegistry = (IProfileRegistry) ServiceHelper.getService(ProvUIActivator.getContext(), IProfileRegistry.class.getName());
- if (profileRegistry == null) {
- throw new ProvisionException(ProvUIMessages.ProvisioningUtil_NoProfileRegistryFound);
- }
- profileRegistry.removeProfile(profileId);
- }
-
- public static IProfile[] getProfiles() throws ProvisionException {
- IProfileRegistry profileRegistry = (IProfileRegistry) ServiceHelper.getService(ProvUIActivator.getContext(), IProfileRegistry.class.getName());
- if (profileRegistry == null) {
- throw new ProvisionException(ProvUIMessages.ProvisioningUtil_NoProfileRegistryFound);
- }
- return profileRegistry.getProfiles();
- }
-
- public static IProfile getProfile(String id) throws ProvisionException {
- IProfileRegistry profileRegistry = (IProfileRegistry) ServiceHelper.getService(ProvUIActivator.getContext(), IProfileRegistry.class.getName());
- if (profileRegistry == null) {
- throw new ProvisionException(ProvUIMessages.ProvisioningUtil_NoProfileRegistryFound);
- }
- return profileRegistry.getProfile(id);
- }
-
- public static URL[] getMetadataRepositories(int flags) throws ProvisionException {
- IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(ProvUIActivator.getContext(), IMetadataRepositoryManager.class.getName());
- if (manager == null) {
- throw new ProvisionException(ProvUIMessages.ProvisioningUtil_NoRepositoryManager);
- }
- return manager.getKnownRepositories(flags);
- }
-
- public static void refreshMetadataRepositories(URL[] urls, IProgressMonitor monitor) throws ProvisionException {
- IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(ProvUIActivator.getContext(), IMetadataRepositoryManager.class.getName());
- if (manager == null) {
- throw new ProvisionException(ProvUIMessages.ProvisioningUtil_NoRepositoryManager);
- }
- SubMonitor mon = SubMonitor.convert(monitor, urls.length * 100);
- for (int i = 0; i < urls.length; i++) {
- try {
- manager.refreshRepository(urls[i], mon.newChild(100));
- } catch (ProvisionException e) {
- //ignore problematic repositories when refreshing
- }
- }
- }
-
- public static URL[] getArtifactRepositories(int flags) throws ProvisionException {
- IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(ProvUIActivator.getContext(), IArtifactRepositoryManager.class.getName());
- if (manager == null) {
- throw new ProvisionException(ProvUIMessages.ProvisioningUtil_NoRepositoryManager);
- }
- return manager.getKnownRepositories(flags);
- }
-
- public static void refreshArtifactRepositories(URL[] urls, IProgressMonitor monitor) throws ProvisionException {
- IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(ProvUIActivator.getContext(), IArtifactRepositoryManager.class.getName());
- if (manager == null) {
- throw new ProvisionException(ProvUIMessages.ProvisioningUtil_NoRepositoryManager);
- }
- SubMonitor mon = SubMonitor.convert(monitor, urls.length * 100);
- for (int i = 0; i < urls.length; i++) {
- manager.refreshRepository(urls[i], mon.newChild(100));
- }
- }
-
- /*
- * Get the plan for the specified install operation
- */
- public static ProvisioningPlan getProvisioningPlan(ProfileChangeRequest request, ProvisioningContext context, IProgressMonitor monitor) throws ProvisionException {
- return getPlanner().getProvisioningPlan(request, context, monitor);
- }
-
- /*
- * See what updates might be available for a single IU.
- * Useful when checking for updates and letting the user decide
- * which IU's to update.
- */
- public static IInstallableUnit[] updatesFor(IInstallableUnit toUpdate, IProgressMonitor monitor) throws ProvisionException {
- Assert.isNotNull(toUpdate);
- return getPlanner().updatesFor(toUpdate, new ProvisioningContext(), monitor);
- }
-
- /*
- * See what updates might be available for the specified IU's.
- * Useful for bulk update that can be directly passed to the engine.
- */
- public static IInstallableUnit[] updatesFor(IInstallableUnit[] toUpdate, IProgressMonitor monitor) throws ProvisionException {
- Assert.isNotNull(toUpdate);
-
- IPlanner planner = getPlanner();
- ArrayList allUpdates = new ArrayList();
- for (int i = 0; i < toUpdate.length; i++) {
- IInstallableUnit[] updates = planner.updatesFor(toUpdate[i], new ProvisioningContext(), monitor);
- for (int j = 0; j < updates.length; j++)
- allUpdates.add(updates[j]);
- }
- return (IInstallableUnit[]) allUpdates.toArray(new IInstallableUnit[allUpdates.size()]);
- }
-
- /*
- * Get a plan for becoming
- */
- public static ProvisioningPlan getRevertPlan(IInstallableUnit profileIU, IProgressMonitor monitor) throws ProvisionException {
- Assert.isNotNull(profileIU);
- return getPlanner().getRevertPlan(profileIU, new ProvisioningContext(), monitor);
- }
-
- /*
- * Get sizing info for the specified IU's
- */
- public static Sizing getSizeInfo(ProvisioningPlan plan, String profileId, IProgressMonitor monitor) throws ProvisionException {
- SizingPhaseSet set = new SizingPhaseSet();
- IStatus status = getEngine().perform(getProfile(profileId), set, plan.getOperands(), null, monitor);
- if (status.isOK())
- return set.getSizing();
- return null;
- }
-
- public static IStatus performProvisioningPlan(ProvisioningPlan plan, PhaseSet phaseSet, IProfile profile, IProgressMonitor monitor) throws ProvisionException {
- PhaseSet set;
- if (phaseSet == null)
- set = new DefaultPhaseSet();
- else
- set = phaseSet;
- return getEngine().perform(profile, set, plan.getOperands(), null, monitor);
- }
-
- private static IEngine getEngine() throws ProvisionException {
- IEngine engine = (IEngine) ServiceHelper.getService(ProvUIActivator.getContext(), IEngine.SERVICE_NAME);
- if (engine == null) {
- throw new ProvisionException(ProvUIMessages.ProvisioningUtil_NoEngineFound);
- }
- return engine;
- }
-
- public static IPlanner getPlanner() throws ProvisionException {
- IPlanner planner = (IPlanner) ServiceHelper.getService(ProvUIActivator.getContext(), IPlanner.class.getName());
- if (planner == null) {
- throw new ProvisionException(ProvUIMessages.ProvisioningUtil_NoPlannerFound);
- }
- return planner;
- }
-
- public static IDirector getDirector() throws ProvisionException {
- IDirector director = (IDirector) ServiceHelper.getService(ProvUIActivator.getContext(), IDirector.class.getName());
- if (director == null) {
- throw new ProvisionException(ProvUIMessages.ProvisioningUtil_NoDirectorFound);
- }
- return director;
- }
-
- public static void setColocatedRepositoryEnablement(URL location, boolean enabled) {
- IMetadataRepositoryManager metaManager = (IMetadataRepositoryManager) ServiceHelper.getService(ProvUIActivator.getContext(), IMetadataRepositoryManager.class.getName());
- if (metaManager != null)
- metaManager.setEnabled(location, enabled);
- IArtifactRepositoryManager artifactManager = (IArtifactRepositoryManager) ServiceHelper.getService(ProvUIActivator.getContext(), IArtifactRepositoryManager.class.getName());
- if (artifactManager != null)
- artifactManager.setEnabled(location, enabled);
- }
-
- public static boolean isCategory(IInstallableUnit iu) {
- String isCategory = iu.getProperty(IInstallableUnit.PROP_TYPE_CATEGORY);
- return isCategory != null && Boolean.valueOf(isCategory).booleanValue();
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/RefreshArtifactRepositoriesOperation.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/RefreshArtifactRepositoriesOperation.java
deleted file mode 100644
index 761e810..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/RefreshArtifactRepositoriesOperation.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.equinox.internal.provisional.p2.ui.operations;
-
-import java.net.URL;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUI;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-/**
- * @since 3.4
- *
- */
-public class RefreshArtifactRepositoriesOperation extends RepositoryOperation {
-
- /**
- * @param label
- * @param urls
- */
- public RefreshArtifactRepositoriesOperation(String label, URL[] urls) {
- super(label, urls);
- }
-
- public RefreshArtifactRepositoriesOperation(String label, int flags) {
- super(label, new URL[0]);
- try {
- this.urls = ProvisioningUtil.getArtifactRepositories(flags);
- } catch (ProvisionException e) {
- ProvUI.handleException(e, null, StatusManager.LOG);
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.ui.operations.RepositoryOperation#doBatchedExecute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
- */
- protected IStatus doBatchedExecute(IProgressMonitor monitor, IAdaptable uiInfo) throws ProvisionException {
- ProvisioningUtil.refreshArtifactRepositories(urls, monitor);
- return Status.OK_STATUS;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.ui.operations.RepositoryOperation#doBatchedUndo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
- */
- protected IStatus doBatchedUndo(IProgressMonitor monitor, IAdaptable uiInfo) throws ProvisionException {
- // Should never happen
- return Status.CANCEL_STATUS;
- }
-
- public boolean canUndo() {
- return false;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/RefreshColocatedRepositoriesOperation.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/RefreshColocatedRepositoriesOperation.java
deleted file mode 100644
index 7adf3fd..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/RefreshColocatedRepositoriesOperation.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.equinox.internal.provisional.p2.ui.operations;
-
-import java.net.URL;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUI;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-/**
- * see https://bugs.eclipse.org/bugs/show_bug.cgi?id=236517
- * @since 3.4.1
- *
- */
-public class RefreshColocatedRepositoriesOperation extends RepositoryOperation {
-
- /**
- * @param label
- * @param urls
- */
- public RefreshColocatedRepositoriesOperation(String label, URL[] urls) {
- super(label, urls);
- }
-
- public RefreshColocatedRepositoriesOperation(String label, int flags) {
- super(label, new URL[0]);
- try {
- // We use the list of metadata repositories since this is what drives
- // what the user sees, but we will refresh both the artifact and metadata
- // repositories.
- this.urls = ProvisioningUtil.getMetadataRepositories(flags);
- } catch (ProvisionException e) {
- ProvUI.handleException(e, null, StatusManager.LOG);
- }
- }
-
- protected IStatus doBatchedExecute(IProgressMonitor monitor, IAdaptable uiInfo) throws ProvisionException {
- // Clear the not found cache so that repos not found are reported again.
- ProvUI.clearRepositoriesNotFound();
- ProvisioningUtil.refreshMetadataRepositories(urls, monitor);
- ProvisioningUtil.refreshArtifactRepositories(urls, monitor);
- return Status.OK_STATUS;
- }
-
- protected IStatus doBatchedUndo(IProgressMonitor monitor, IAdaptable uiInfo) throws ProvisionException {
- // Should never happen
- return Status.CANCEL_STATUS;
- }
-
- public boolean canUndo() {
- return false;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/RefreshMetadataRepositoriesOperation.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/RefreshMetadataRepositoriesOperation.java
deleted file mode 100644
index 15af09c..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/RefreshMetadataRepositoriesOperation.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.equinox.internal.provisional.p2.ui.operations;
-
-import java.net.URL;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUI;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-/**
- * @since 3.4
- *
- */
-public class RefreshMetadataRepositoriesOperation extends RepositoryOperation {
-
- /**
- * @param label
- * @param urls
- */
- public RefreshMetadataRepositoriesOperation(String label, URL[] urls) {
- super(label, urls);
- }
-
- public RefreshMetadataRepositoriesOperation(String label, int flags) {
- super(label, new URL[0]);
- try {
- this.urls = ProvisioningUtil.getMetadataRepositories(flags);
- } catch (ProvisionException e) {
- ProvUI.handleException(e, null, StatusManager.LOG);
- }
- }
-
- protected IStatus doBatchedExecute(IProgressMonitor monitor, IAdaptable uiInfo) throws ProvisionException {
- // Clear the not found cache so that repos not found are reported again.
- ProvUI.clearRepositoriesNotFound();
- ProvisioningUtil.refreshMetadataRepositories(urls, monitor);
- return Status.OK_STATUS;
- }
-
- protected IStatus doBatchedUndo(IProgressMonitor monitor, IAdaptable uiInfo) throws ProvisionException {
- // Should never happen
- return Status.CANCEL_STATUS;
- }
-
- public boolean canUndo() {
- return false;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/RemoveArtifactRepositoryOperation.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/RemoveArtifactRepositoryOperation.java
deleted file mode 100644
index 3bfc30a..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/RemoveArtifactRepositoryOperation.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.operations;
-
-import java.net.URL;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-
-/**
- * Operation which removes the artifact repository with the given URL.
- *
- * @since 3.4
- */
-public class RemoveArtifactRepositoryOperation extends RepositoryOperation {
-
- private boolean removed = false;
-
- public RemoveArtifactRepositoryOperation(String label, URL[] repoURLs) {
- super(label, repoURLs);
- }
-
- protected IStatus doBatchedExecute(IProgressMonitor monitor, IAdaptable uiInfo) throws ProvisionException {
- for (int i = 0; i < urls.length; i++) {
- ProvisioningUtil.removeArtifactRepository(urls[i], monitor);
- }
- removed = true;
- return okStatus();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.core.commands.operations.AbstractOperation#canExecute()
- */
- public boolean canExecute() {
- return super.canExecute() && !removed;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.core.commands.operations.AbstractOperation#canUndo()
- */
- public boolean canUndo() {
- return super.canUndo() && removed;
- }
-
- protected IStatus doBatchedUndo(IProgressMonitor monitor, IAdaptable uiInfo) throws ProvisionException {
- for (int i = 0; i < urls.length; i++) {
- ProvisioningUtil.addArtifactRepository(urls[i]);
- }
- removed = false;
- return okStatus();
-
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/RemoveColocatedRepositoryOperation.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/RemoveColocatedRepositoryOperation.java
deleted file mode 100644
index 120239d..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/RemoveColocatedRepositoryOperation.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.operations;
-
-import java.net.URL;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-
-/**
- * Operation that removes the colocated repositories with the given URLs. *
- *
- * @since 3.4
- */
-public class RemoveColocatedRepositoryOperation extends RepositoryOperation {
-
- private boolean removed = false;
-
- public RemoveColocatedRepositoryOperation(String label, URL[] repoURLs) {
- super(label, repoURLs);
- }
-
- protected IStatus doBatchedExecute(IProgressMonitor monitor, IAdaptable uiInfo) throws ProvisionException {
- for (int i = 0; i < urls.length; i++) {
- ProvisioningUtil.removeMetadataRepository(urls[i], monitor);
- ProvisioningUtil.removeArtifactRepository(urls[i], monitor);
- }
- removed = true;
- return okStatus();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.core.commands.operations.AbstractOperation#canExecute()
- */
- public boolean canExecute() {
- return !removed && super.canExecute();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.core.commands.operations.AbstractOperation#canUndo()
- */
- public boolean canUndo() {
- return removed && super.canUndo();
- }
-
- protected IStatus doBatchedUndo(IProgressMonitor monitor, IAdaptable uiInfo) throws ProvisionException {
- for (int i = 0; i < urls.length; i++) {
- ProvisioningUtil.addMetadataRepository(urls[i]);
- ProvisioningUtil.addArtifactRepository(urls[i]);
- }
- removed = false;
- return okStatus();
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/RemoveMetadataRepositoryOperation.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/RemoveMetadataRepositoryOperation.java
deleted file mode 100644
index 70faa52..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/RemoveMetadataRepositoryOperation.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.operations;
-
-import java.net.URL;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-
-/**
- * Operation that removes the metadata repository with the given URL. *
- *
- * @since 3.4
- */
-public class RemoveMetadataRepositoryOperation extends RepositoryOperation {
-
- private boolean removed = false;
-
- public RemoveMetadataRepositoryOperation(String label, URL[] repoURLs) {
- super(label, repoURLs);
- }
-
- protected IStatus doBatchedExecute(IProgressMonitor monitor, IAdaptable uiInfo) throws ProvisionException {
- for (int i = 0; i < urls.length; i++) {
- ProvisioningUtil.removeMetadataRepository(urls[i], monitor);
- }
- removed = true;
- return okStatus();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.core.commands.operations.AbstractOperation#canExecute()
- */
- public boolean canExecute() {
- return !removed && super.canExecute();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.core.commands.operations.AbstractOperation#canUndo()
- */
- public boolean canUndo() {
- return removed && super.canUndo();
- }
-
- protected IStatus doBatchedUndo(IProgressMonitor monitor, IAdaptable uiInfo) throws ProvisionException {
- for (int i = 0; i < urls.length; i++) {
- ProvisioningUtil.addMetadataRepository(urls[i]);
- }
- removed = false;
- return okStatus();
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/RemoveProfilesOperation.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/RemoveProfilesOperation.java
deleted file mode 100644
index c3a01cb..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/RemoveProfilesOperation.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.operations;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-
-/**
- * Operation that removes a profile
- *
- * @since 3.4
- */
-public class RemoveProfilesOperation extends ProfileOperation {
- private boolean removed = false;
-
- public RemoveProfilesOperation(String label, IProfile[] profiles) {
- super(label, profiles);
- }
-
- protected IStatus doExecute(IProgressMonitor monitor, IAdaptable uiInfo) throws ProvisionException {
- for (int i = 0; i < profileIds.length; i++) {
- ProvisioningUtil.removeProfile(profileIds[i], monitor);
- }
- // assume the best if no exception
- removed = true;
- return okStatus();
- }
-
- protected IStatus doUndo(IProgressMonitor monitor, IAdaptable uiInfo) throws ProvisionException {
- for (int i = 0; i < cachedProfiles.length; i++) {
- IProfile cachedProfile = cachedProfiles[i];
- ProvisioningUtil.addProfile(cachedProfile.getProfileId(), cachedProfile.getLocalProperties(), monitor);
- }
- removed = false;
- return okStatus();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.core.commands.operations.AbstractOperation#canExecute()
- */
- public boolean canExecute() {
- return profileIds != null && !removed;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.core.commands.operations.AbstractOperation#canUndo()
- */
- public boolean canUndo() {
- return cachedProfiles != null && removed;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/RepositoryOperation.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/RepositoryOperation.java
deleted file mode 100644
index 2451a5f..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/RepositoryOperation.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.operations;
-
-import java.net.URL;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUI;
-
-/**
- * Abstract class representing provisioning repository operations
- *
- * @since 3.4
- */
-abstract class RepositoryOperation extends UndoableProvisioningOperation {
-
- URL[] urls;
-
- RepositoryOperation(String label, URL[] urls) {
- super(label);
- this.urls = urls;
- }
-
- public boolean canExecute() {
- return urls != null;
- }
-
- public boolean canUndo() {
- return urls != null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.core.commands.operations.IAdvancedUndoableOperation#getAffectedObjects()
- */
- public Object[] getAffectedObjects() {
- return urls;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningOperation#runInBackground()
- */
- public boolean runInBackground() {
- return true;
- }
-
- protected IStatus doExecute(IProgressMonitor monitor, IAdaptable uiInfo) throws ProvisionException {
- boolean batched = false;
- if (urls != null && urls.length > 1) {
- ProvUI.startBatchOperation();
- batched = true;
- }
- IStatus status = doBatchedExecute(monitor, uiInfo);
- if (batched)
- ProvUI.endBatchOperation();
- return status;
- }
-
- protected IStatus doUndo(IProgressMonitor monitor, IAdaptable uiInfo) throws ProvisionException {
- boolean batched = false;
- if (urls != null && urls.length > 1) {
- ProvUI.startBatchOperation();
- batched = true;
- }
- IStatus status = doBatchedUndo(monitor, uiInfo);
- if (batched)
- ProvUI.endBatchOperation();
- return status;
- }
-
- protected abstract IStatus doBatchedExecute(IProgressMonitor monitor, IAdaptable uiInfo) throws ProvisionException;
-
- protected abstract IStatus doBatchedUndo(IProgressMonitor monitor, IAdaptable uiInfo) throws ProvisionException;
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/SizingPhaseSet.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/SizingPhaseSet.java
deleted file mode 100644
index be655bd..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/SizingPhaseSet.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/**
- *
- */
-package org.eclipse.equinox.internal.provisional.p2.ui.operations;
-
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.engine.Phase;
-import org.eclipse.equinox.internal.provisional.p2.engine.PhaseSet;
-import org.eclipse.equinox.internal.provisional.p2.engine.phases.Sizing;
-
-public class SizingPhaseSet extends PhaseSet {
- private static Sizing sizing;
-
- SizingPhaseSet() {
- super(new Phase[] {sizing = new Sizing(100, ProvUIMessages.SizingPhaseSet_PhaseSetName)});
- }
-
- Sizing getSizing() {
- return sizing;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/UndoableProvisioningOperation.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/UndoableProvisioningOperation.java
deleted file mode 100644
index fad0c57..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/operations/UndoableProvisioningOperation.java
+++ /dev/null
@@ -1,230 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.operations;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.operations.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUI;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Abstract class representing an undoable provisioning operations
- *
- * @since 3.4
- */
-abstract class UndoableProvisioningOperation extends ProvisioningOperation implements IUndoableOperation, IAdvancedUndoableOperation2 {
-
- boolean quietCompute = false;
- List contexts = new ArrayList();
-
- UndoableProvisioningOperation(String label) {
- super(label);
- addContext(ProvUI.getProvisioningUndoContext());
- }
-
- /**
- * Perform the specific work involved in undoing this operation.
- *
- * @param monitor
- * the progress monitor to use for the operation
- * @param uiInfo
- * the IAdaptable (or <code>null</code>) provided by the
- * caller in order to supply UI information for prompting the
- * user if necessary. When this parameter is not
- * <code>null</code>, it contains an adapter for the
- * org.eclipse.swt.widgets.Shell.class
- * @throws ProvisionException
- * propagates any ProvisionException thrown
- */
- protected abstract IStatus doUndo(IProgressMonitor monitor, IAdaptable uiInfo) throws ProvisionException;
-
- /**
- * Perform the specific work involved in executing this operation.
- *
- * @param monitor
- * the progress monitor to use for the operation
- * @param uiInfo
- * the IAdaptable (or <code>null</code>) provided by the
- * caller in order to supply UI information for prompting the
- * user if necessary. When this parameter is not
- * <code>null</code>, it contains an adapter for the
- * org.eclipse.swt.widgets.Shell.class
- * @throws ProvisionException
- * propagates any ProvisionException thrown
- *
- */
- protected abstract IStatus doExecute(IProgressMonitor monitor, IAdaptable uiInfo) throws ProvisionException;
-
- /**
- *
- */
- public IStatus execute(IProgressMonitor monitor, final IAdaptable uiInfo) throws ExecutionException {
- IStatus status;
- try {
- status = doExecute(monitor, uiInfo);
- } catch (final ProvisionException e) {
- throw new ExecutionException(NLS.bind(ProvUIMessages.ProvisioningOperation_ExecuteErrorTitle, getLabel()), e);
- } catch (OperationCanceledException e) {
- return Status.CANCEL_STATUS;
- }
- return status;
- }
-
- /**
- *
- */
- public IStatus redo(IProgressMonitor monitor, final IAdaptable uiInfo) throws ExecutionException {
- IStatus status;
- try {
- status = doExecute(monitor, uiInfo);
- } catch (final ProvisionException e) {
- throw new ExecutionException(NLS.bind(ProvUIMessages.ProvisioningOperation_RedoErrorTitle, getLabel()), e);
- } catch (OperationCanceledException e) {
- return Status.CANCEL_STATUS;
- }
- return status;
- }
-
- /**
- *
- */
- public IStatus undo(IProgressMonitor monitor, final IAdaptable uiInfo) throws ExecutionException {
- IStatus status;
- try {
- status = doUndo(monitor, uiInfo);
- } catch (final ProvisionException e) {
- throw new ExecutionException(NLS.bind(ProvUIMessages.ProvisioningOperation_UndoErrorTitle, getLabel()), e);
- } catch (OperationCanceledException e) {
- return Status.CANCEL_STATUS;
- }
- return status;
- }
-
- public boolean canExecute() {
- return true;
- }
-
- public boolean canRedo() {
- return canExecute();
- }
-
- public boolean canUndo() {
- return true;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.core.commands.operations.IAdvancedUndoableOperation#computeRedoableStatus(org.eclipse.core.runtime.IProgressMonitor)
- */
- public IStatus computeRedoableStatus(IProgressMonitor monitor) {
- return computeExecutionStatus(monitor);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.core.commands.operations.IAdvancedUndoableOperation#computeUndoableStatus(org.eclipse.core.runtime.IProgressMonitor)
- */
- public IStatus computeUndoableStatus(IProgressMonitor monitor) {
- return okStatus();
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.core.commands.operations.IAdvancedUndoableOperation2#computeExecutionStatus(org.eclipse.core.runtime.IProgressMonitor)
- */
- public IStatus computeExecutionStatus(IProgressMonitor monitor) {
- return okStatus();
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.core.commands.operations.IAdvancedUndoableOperation2#setQuietCompute(boolean)
- */
- public void setQuietCompute(boolean quiet) {
- quietCompute = quiet;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.core.commands.operations.IAdvancedUndoableOperation#aboutToNotify(org.eclipse.core.commands.operations.OperationHistoryEvent)
- */
- public void aboutToNotify(OperationHistoryEvent event) {
- // do nothing
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.core.commands.operations.IUndoableOperation#addContext(org.eclipse.core.commands.operations.IUndoContext)
- *
- * <p> Subclasses may override this method. </p>
- */
- public void addContext(IUndoContext context) {
- if (!contexts.contains(context)) {
- contexts.add(context);
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.core.commands.operations.IUndoableOperation#removeContext(org.eclipse.core.commands.operations.IUndoContext)
- * <p> Default implementation. Subclasses may override this method.
- * </p>
- */
-
- public void removeContext(IUndoContext context) {
- contexts.remove(context);
- }
-
- public final IUndoContext[] getContexts() {
- return (IUndoContext[]) contexts.toArray(new IUndoContext[contexts.size()]);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.core.commands.operations.IUndoableOperation#hasContext(org.eclipse.core.commands.operations.IUndoContext)
- */
- public final boolean hasContext(IUndoContext context) {
- Assert.isNotNull(context);
- for (int i = 0; i < contexts.size(); i++) {
- IUndoContext otherContext = (IUndoContext) contexts.get(i);
- // have to check both ways because one context may be more general
- // in its matching rules than another.
- if (context.matches(otherContext) || otherContext.matches(context)) {
- return true;
- }
- }
- return false;
- }
-
- protected IStatus okStatus() {
- return Status.OK_STATUS;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.core.commands.operations.IUndoableOperation#dispose()
- * <p> Default implementation. Subclasses may override this method.
- * </p>
- */
- public void dispose() {
- // nothing to dispose.
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/policy/IPlanValidator.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/policy/IPlanValidator.java
deleted file mode 100644
index 66c9bed..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/policy/IPlanValidator.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.policy;
-
-import org.eclipse.equinox.internal.provisional.p2.director.ProvisioningPlan;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Interface for a mechanism that checks a provisioning plan to see
- * if a user should be allowed to perform a provisioning action on it.
- *
- * @since 3.4
- *
- * @see org.eclipse.equinox.internal.provisional.p2.ui.actions.ProfileModificationAction
- *
- */
-
-public interface IPlanValidator {
- /**
- * Return a boolean indicating whether the caller should continue working
- * with the provisioning plan. This method is used to give implementors a chance
- * to validate or check a plan before continuing. The work that the caller intends
- * to do depends on the context in which this validator is used. When the validator is used
- * for an action, it may mean opening a wizard on the plan. When the validator is used
- * inside a wizard, it may mean attempting to perform the plan. It is up to the implementor of
- * this method to report any errors to user or otherwise inform the user if the
- * outcome is <code>false</code>.
- *
- * @param plan a ProvisioningPlan that the caller wishes to work with. Never <code>null</code>.
- * @param shell the Shell that may be used to report any errors or prompt the user. May be <code>null</code>.
- * @return <code>true</code> if the caller should continue working with the plan, or
- * <code>false</code> if the caller should stop. If <code>false</code> it is expected that
- * any error reporting has already been completed.
- */
- public boolean continueWorkingWithPlan(ProvisioningPlan plan, Shell shell);
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/policy/IQueryProvider.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/policy/IQueryProvider.java
deleted file mode 100644
index cb712eb..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/policy/IQueryProvider.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.policy;
-
-import org.eclipse.equinox.internal.provisional.p2.ui.query.ElementQueryDescriptor;
-
-/**
- * An interface for an object that provides element queries
- *
- * @since 3.4
- */
-public interface IQueryProvider {
-
- public static final int METADATA_REPOS = 1;
- public static final int ARTIFACT_REPOS = 2;
- public static final int PROFILES = 3;
- public static final int AVAILABLE_IUS = 4;
- public static final int AVAILABLE_UPDATES = 5;
- public static final int INSTALLED_IUS = 6;
-
- public ElementQueryDescriptor getQueryDescriptor(Object element, int queryType);
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/policy/LicenseManager.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/policy/LicenseManager.java
deleted file mode 100644
index a33f4b0..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/policy/LicenseManager.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.policy;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-
-/**
- * Abstract class for a manager which tracks which licenses have been accepted.
- *
- * @since 3.4
- */
-public abstract class LicenseManager {
-
- public abstract boolean accept(IInstallableUnit iu);
-
- public abstract boolean reject(IInstallableUnit iu);
-
- public abstract boolean isAccepted(IInstallableUnit iu);
-
- public abstract boolean hasAcceptedLicenses();
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/policy/Policies.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/policy/Policies.java
deleted file mode 100644
index 847e3a4..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/policy/Policies.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.policy;
-
-
-/**
- * Abstract class for a set of policies provided by applications that
- * are used for decision making during provisioning operations.
- *
- * @since 3.4
- */
-public abstract class Policies {
-
- public abstract IQueryProvider getQueryProvider();
-
- public abstract LicenseManager getLicenseManager();
-
- public abstract IPlanValidator getPlanValidator();
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/AnyRequiredCapabilityQuery.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/AnyRequiredCapabilityQuery.java
deleted file mode 100644
index 2deeabf..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/AnyRequiredCapabilityQuery.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.query;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.query.Query;
-
-/**
- * A query that searches a repository for all {@link IInstallableUnit} instances that
- * meet any one of the given capabilities.
- */
-public class AnyRequiredCapabilityQuery extends Query {
- private RequiredCapability[] requirements;
-
- /**
- * Creates a new query for the capabilities of the given IU.
- */
- public AnyRequiredCapabilityQuery(RequiredCapability[] requirements) {
- this.requirements = requirements;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.p2.query2.Query#isMatch(java.lang.Object)
- */
- public boolean isMatch(Object object) {
- if (!(object instanceof IInstallableUnit))
- return false;
- IInstallableUnit candidate = (IInstallableUnit) object;
- ProvidedCapability[] provides = candidate.getProvidedCapabilities();
- for (int i = 0; i < requirements.length; i++) {
- for (int j = 0; j < provides.length; j++) {
- if (provides[j].isSatisfiedBy(requirements[i])) {
- return true;
- }
- }
- }
- return false;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/AvailableIUCollector.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/AvailableIUCollector.java
deleted file mode 100644
index e859e08..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/AvailableIUCollector.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.query;
-
-import java.util.Collection;
-import org.eclipse.equinox.internal.p2.ui.model.AvailableIUElement;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.query.IQueryable;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUI;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.CategoryElement;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.QueriedElementCollector;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.IQueryProvider;
-
-/**
- * Collector that examines available IU's and wraps them in an
- * element representing either a category an IU.
- *
- * @since 3.4
- */
-public class AvailableIUCollector extends QueriedElementCollector {
-
- private boolean makeCategories;
- private ElementQueryDescriptor installedQueryDescriptor;
- private boolean hideInstalledIUs = false;
- Collection installedElements = null;
-
- public AvailableIUCollector(IQueryProvider queryProvider, IQueryable queryable, QueryContext queryContext, boolean makeCategories) {
- super(queryProvider, queryable, queryContext);
- this.makeCategories = makeCategories;
- }
-
- public void hideInstalledIUs(ElementQueryDescriptor installedQuery) {
- installedQueryDescriptor = installedQuery;
- hideInstalledIUs = true;
- }
-
- /**
- * Accepts a result that matches the query criteria.
- *
- * @param match an object matching the query
- * @return <code>true</code> if the query should continue,
- * or <code>false</code> to indicate the query should stop.
- */
- public boolean accept(Object match) {
- if (hideInstalledIUs && installedElements == null)
- initializeInstalledElements();
- if (hideInstalledIUs) {
- IInstallableUnit iu = (IInstallableUnit) ProvUI.getAdapter(match, IInstallableUnit.class);
- if (installedElements.contains(iu))
- return true;
- }
- // If it's not an IU, it's an element and work is done
- if (!(match instanceof IInstallableUnit))
- return super.accept(match);
-
- // We need to make an element
- IInstallableUnit iu = (IInstallableUnit) match;
- if (makeCategories && isCategory(iu))
- return super.accept(new CategoryElement(iu));
- return super.accept(makeDefaultElement(iu));
- }
-
- private void initializeInstalledElements() {
- installedElements = installedQueryDescriptor.queryable.query(installedQueryDescriptor.query, installedQueryDescriptor.collector, null).toCollection();
- }
-
- protected Object makeDefaultElement(IInstallableUnit iu) {
- return new AvailableIUElement(iu, null);
- }
-
- protected boolean isCategory(IInstallableUnit iu) {
- String isCategory = iu.getProperty(IInstallableUnit.PROP_TYPE_CATEGORY);
- return isCategory != null && Boolean.valueOf(isCategory).booleanValue();
- }
-
- protected boolean makeCategory() {
- return makeCategories;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/CategoryElementCollector.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/CategoryElementCollector.java
deleted file mode 100644
index b505738..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/CategoryElementCollector.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.query;
-
-import java.util.*;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.query.IQueryable;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.*;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.IQueryProvider;
-import org.osgi.framework.Version;
-
-/**
- * A collector that converts IU's to category elements as it accepts them.
- * It can be configured so that it is never empty.
- *
- * @since 3.4
- */
-public class CategoryElementCollector extends QueriedElementCollector {
-
- private boolean groupUncategorized;
- private Set referredIUs = new HashSet();
-
- public CategoryElementCollector(IQueryProvider queryProvider, IQueryable queryable, QueryContext queryContext, boolean showUncategorized) {
- super(queryProvider, queryable, queryContext);
- this.groupUncategorized = showUncategorized;
- }
-
- /**
- * Accepts a result that matches the query criteria.
- *
- * @param match an object matching the query
- * @return <code>true</code> if the query should continue,
- * or <code>false</code> to indicate the query should stop.
- */
- public boolean accept(Object match) {
- if (!(match instanceof IInstallableUnit))
- return true;
- IInstallableUnit iu = (IInstallableUnit) match;
- RequiredCapability[] requirements = iu.getRequiredCapabilities();
- for (int i = 0; i < requirements.length; i++) {
- if (requirements[i].getNamespace().equals(IInstallableUnit.NAMESPACE_IU_ID)) {
- referredIUs.add(requirements[i].getName());
- }
- }
- Iterator iter = super.iterator();
- // Don't add the same category IU twice
- while (iter.hasNext()) {
- CategoryElement element = (CategoryElement) iter.next();
- if (element.getIU().getId().equals(iu.getId())) {
- element.mergeIU(iu);
- return true;
- }
- }
- return super.accept(new CategoryElement(iu));
- }
-
- private void cleanList() {
- if (groupUncategorized)
- createDummyCategory();
- removeNestedCategories();
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.query.Collector#iterator()
- */
- public Iterator iterator() {
- cleanList();
- return super.iterator();
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.query.Collector#toArray(java.lang.Class)
- */
- public Object[] toArray(Class clazz) {
- cleanList();
- return super.toArray(clazz);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.query.Collector#toCollection()
- */
- public Collection toCollection() {
- cleanList();
- return super.toCollection();
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.query.Collector#size()
- */
- public int size() {
- cleanList();
- return super.size();
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.query.Collector#isEmpty()
- */
- public boolean isEmpty() {
- cleanList();
- return super.isEmpty();
- }
-
- private void createDummyCategory() {
- InstallableUnitDescription unit = new InstallableUnitDescription();
- unit.setId(ProvUIMessages.CategoryElementCollector_Uncategorized);
- unit.setProperty(IInstallableUnit.PROP_TYPE_CATEGORY, Boolean.toString(true));
- unit.setVersion(new Version(0, 0, 0, "generated")); //$NON-NLS-1$
- unit.setProperty(IInstallableUnit.PROP_NAME, ProvUIMessages.CategoryElementCollector_Uncategorized);
-
- IInstallableUnit iu = MetadataFactory.createInstallableUnit(unit);
- CategoryElement element = new UncategorizedCategoryElement(iu);
- element.setQueryable(queryable);
- element.setQueryProvider(queryProvider);
- element.setQueryContext(queryContext);
- // This is costly, but the only way to know if we need this category is to perform the query in advance.
- // Note that this will end up querying the contents of all categories to determine which IU's were not
- // referred to.
- ElementQueryDescriptor queryDescriptor = queryProvider.getQueryDescriptor(element, element.getQueryType());
- Collector collector = queryDescriptor.queryable.query(queryDescriptor.query, queryDescriptor.collector, null);
- if (!collector.isEmpty())
- getList().add(element);
- }
-
- private void removeNestedCategories() {
- CategoryElement[] categoryIUs = (CategoryElement[]) getList().toArray(new CategoryElement[getList().size()]);
- // If any other element refers to a category element, remove it from the list
- for (int i = 0; i < categoryIUs.length; i++) {
- if (referredIUs.contains(categoryIUs[i].getIU().getId())) {
- getList().remove(categoryIUs[i]);
- }
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/ElementQueryDescriptor.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/ElementQueryDescriptor.java
deleted file mode 100644
index ea17682..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/ElementQueryDescriptor.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.query;
-
-import org.eclipse.equinox.internal.provisional.p2.query.*;
-
-/**
- * Data class representing everything needed to run a query, including
- * the object to be queried, the query to use, and the query result.
- *
- * @since 3.4
- */
-public class ElementQueryDescriptor {
-
- public Query query;
- public Collector collector;
- public IQueryable queryable;
-
- public ElementQueryDescriptor(IQueryable queryable, Query query, Collector collector) {
- this.query = query;
- this.collector = collector;
- this.queryable = queryable;
- }
-
- public boolean isComplete() {
- return query != null && collector != null && queryable != null;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/IUPropertyUtils.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/IUPropertyUtils.java
deleted file mode 100644
index f26a157..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/IUPropertyUtils.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.query;
-
-import java.lang.ref.SoftReference;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.metadata.InstallableUnit;
-import org.eclipse.equinox.internal.p2.ui.ProvUIActivator;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfileRegistry;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.IUPropertyQuery;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-
-public class IUPropertyUtils {
-
- // TODO: these constants should come from API, eg. IInstallableUnit or ???
- static final Locale DEFAULT_LOCALE = new Locale("df", "LT"); //$NON-NLS-1$//$NON-NLS-2$
- static final String NAMESPACE_IU_LOCALIZATION = "org.eclipse.equinox.p2.localization"; //$NON-NLS-1$
-
- // Cache the IU fragments that provide localizations for a given locale.
- // map: locale => soft reference to a collector
- private static Map LocaleCollectorCache = new HashMap(2);
-
- // Get the license in the default locale.
- public static License getLicense(IInstallableUnit iu) {
- return getLicense(iu, getCurrentLocale());
- }
-
- // Get the copyright in the default locale.
- public static Copyright getCopyright(IInstallableUnit iu) {
- return getCopyright(iu, getCurrentLocale());
- }
-
- // Get a property in the default locale
- public static String getIUProperty(IInstallableUnit iu, String propertyKey) {
- return getIUProperty(iu, propertyKey, getCurrentLocale());
- }
-
- public static License getLicense(IInstallableUnit iu, Locale locale) {
- License license = iu.getLicense();
- String body = (license != null ? license.getBody() : null);
- if (body == null || body.length() <= 1 || body.charAt(0) != '%')
- return license;
- final String actualKey = body.substring(1); // Strip off the %
- body = getLocalizedIUProperty(iu, actualKey, locale);
- URL url = license.getURL();
- return new License((url != null ? url.toExternalForm() : null), body);
- }
-
- public static Copyright getCopyright(IInstallableUnit iu, Locale locale) {
- Copyright copyright = iu.getCopyright();
- String body = (copyright != null ? copyright.getBody() : null);
- if (body == null || body.length() <= 1 || body.charAt(0) != '%')
- return copyright;
- final String actualKey = body.substring(1); // Strip off the %
- body = getLocalizedIUProperty(iu, actualKey, locale);
- URL url = copyright.getURL();
- return new Copyright((url != null ? url.toExternalForm() : null), body);
- }
-
- public static String getIUProperty(IInstallableUnit iu, String propertyKey, Locale locale) {
- String value = iu.getProperty(propertyKey);
- if (value == null || value.length() <= 1 || value.charAt(0) != '%')
- return value;
- // else have a localizable property
- final String actualKey = value.substring(1); // Strip off the %
- return getLocalizedIUProperty(iu, actualKey, locale);
- }
-
- private static String getLocalizedIUProperty(IInstallableUnit iu, String actualKey, Locale locale) {
- String localizedKey = makeLocalizedKey(actualKey, locale.toString());
- String localizedValue = null;
-
- //first check for a cached localized value
- if (iu instanceof InstallableUnit)
- localizedValue = ((InstallableUnit) iu).getLocalizedProperty(localizedKey);
- //next check if the localized value is stored in the same IU (common case)
- if (localizedValue == null)
- localizedValue = iu.getProperty(localizedKey);
- if (localizedValue != null)
- return localizedValue;
-
- final List locales = buildLocaleVariants(locale);
- final IInstallableUnit theUnit = iu;
-
- Collector localizationFragments = getLocalizationFragments(locale, locales);
-
- Collector hostLocalizationCollector = new Collector() {
- public boolean accept(Object object) {
- boolean haveHost = false;
- if (object instanceof IInstallableUnitFragment) {
- IInstallableUnitFragment fragment = (IInstallableUnitFragment) object;
- RequiredCapability[] hosts = fragment.getHost();
- for (int i = 0; i < hosts.length; i++) {
- RequiredCapability nextHost = hosts[i];
- if (IInstallableUnit.NAMESPACE_IU_ID.equals(nextHost.getNamespace()) && //
- theUnit.getId().equals(nextHost.getName()) && //
- nextHost.getRange() != null && //
- nextHost.getRange().isIncluded(theUnit.getVersion())) {
- haveHost = true;
- break;
- }
- }
- }
- return (haveHost ? super.accept(object) : false);
- }
- };
-
- IUPropertyQuery iuQuery = new IUPropertyQuery(IInstallableUnit.PROP_TYPE_FRAGMENT, "true"); //$NON-NLS-1$
- Collector collected = iuQuery.perform(localizationFragments.iterator(), hostLocalizationCollector);
-
- if (!collected.isEmpty()) {
- String translation = null;
- for (Iterator iter = collected.iterator(); iter.hasNext() && translation == null;) {
- IInstallableUnit localizationIU = (IInstallableUnit) iter.next();
- for (Iterator jter = locales.iterator(); jter.hasNext();) {
- String localeKey = makeLocalizedKey(actualKey, (String) jter.next());
- translation = localizationIU.getProperty(localeKey);
- if (translation != null)
- return cacheResult(iu, localizedKey, translation);
- }
- }
- }
-
- for (Iterator iter = locales.iterator(); iter.hasNext();) {
- String nextLocale = (String) iter.next();
- String localeKey = makeLocalizedKey(actualKey, nextLocale);
- String nextValue = iu.getProperty(localeKey);
- if (nextValue != null)
- return cacheResult(iu, localizedKey, nextValue);
- }
-
- return cacheResult(iu, localizedKey, actualKey);
- }
-
- /**
- * Cache the translated property value to optimize future retrieval of the same value.
- * Currently we just cache on the installable unit object in memory. In future
- * we should push support for localized property retrieval into IInstallableUnit
- * so we aren't required to reach around the API here.
- */
- private static String cacheResult(IInstallableUnit iu, String localizedKey, String localizedValue) {
- if (iu instanceof InstallableUnit)
- ((InstallableUnit) iu).setLocalizedProperty(localizedKey, localizedValue);
- return localizedValue;
- }
-
- /**
- * Collects the installable unit fragments that contain locale data for the given locales.
- */
- private static synchronized Collector getLocalizationFragments(Locale locale, List localeVariants) {
- SoftReference collectorRef = (SoftReference) LocaleCollectorCache.get(locale);
- if (collectorRef != null) {
- Collector cached = (Collector) collectorRef.get();
- if (cached != null)
- return cached;
- }
-
- final List locales = localeVariants;
-
- Collector localeFragmentCollector = new Collector() {
- public boolean accept(Object object) {
- boolean haveLocale = false;
- if (object instanceof IInstallableUnitFragment) {
- IInstallableUnitFragment fragment = (IInstallableUnitFragment) object;
- ProvidedCapability[] provides = fragment.getProvidedCapabilities();
- for (int j = 0; j < provides.length && !haveLocale; j++) {
- ProvidedCapability nextProvide = provides[j];
- if (NAMESPACE_IU_LOCALIZATION.equals(nextProvide.getNamespace())) {
- String providedLocale = nextProvide.getName();
- if (providedLocale != null) {
- for (Iterator iter = locales.iterator(); iter.hasNext();) {
- if (providedLocale.equals(iter.next())) {
- haveLocale = true;
- break;
- }
- }
- }
- }
- }
- }
- return (haveLocale ? super.accept(object) : false);
- }
- };
-
- //Due to performance problems we restrict locale lookup to the current profile (see bug 233958)
- IProfileRegistry profileRegistry = (IProfileRegistry) ServiceHelper.getService(ProvUIActivator.getContext(), IProfileRegistry.class.getName());
- if (profileRegistry == null) {
- LogHelper.log(new Status(IStatus.ERROR, ProvUIActivator.PLUGIN_ID, "Profile registry unavailable. Default language will be used.", new RuntimeException())); //$NON-NLS-1$
- return new Collector();
- }
- IProfile profile = profileRegistry.getProfile(IProfileRegistry.SELF);
- if (profile == null) {
- LogHelper.log(new Status(IStatus.ERROR, ProvUIActivator.PLUGIN_ID, "Profile unavailable. Default language will be used.", new RuntimeException())); //$NON-NLS-1$
- return new Collector();
- }
- IUPropertyQuery iuQuery = new IUPropertyQuery(IInstallableUnit.PROP_TYPE_FRAGMENT, "true"); //$NON-NLS-1$
- Collector collected = profile.query(iuQuery, localeFragmentCollector, null);
- LocaleCollectorCache.put(locale, new SoftReference(collected));
- return collected;
- }
-
- /**
- */
- private static List buildLocaleVariants(Locale locale) {
- String nl = locale.toString();
- ArrayList result = new ArrayList(4);
- int lastSeparator;
- while (true) {
- result.add(nl);
- lastSeparator = nl.lastIndexOf('_');
- if (lastSeparator == -1)
- break;
- nl = nl.substring(0, lastSeparator);
- }
- // Add the default locale (most general)
- result.add(DEFAULT_LOCALE.toString());
- return result;
- }
-
- private static String makeLocalizedKey(String actualKey, String localeImage) {
- return localeImage + '.' + actualKey;
- }
-
- private static Locale getCurrentLocale() {
- return Locale.getDefault();
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/InstalledIUCollector.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/InstalledIUCollector.java
deleted file mode 100644
index c74352d..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/InstalledIUCollector.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.query;
-
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.InstalledIUElement;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.QueriedElementCollector;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.IQueryProvider;
-
-/**
- * Collectors that accepts the matched IU's and
- * wraps them in an InstalledIUElement.
- *
- * @since 3.4
- */
-public class InstalledIUCollector extends QueriedElementCollector {
-
- public InstalledIUCollector(IQueryProvider queryProvider, IProfile profile, QueryContext queryContext) {
- super(queryProvider, profile, queryContext);
- }
-
- /**
- * Accepts a result that matches the query criteria.
- *
- * @param match an object matching the query
- * @return <code>true</code> if the query should continue,
- * or <code>false</code> to indicate the query should stop.
- */
- public boolean accept(Object match) {
- if (!(match instanceof IInstallableUnit))
- return true;
- if (queryable instanceof IProfile)
- return super.accept(new InstalledIUElement(((IProfile) queryable).getProfileId(), (IInstallableUnit) match));
- // shouldn't happen, but is possible if a client reset the queryable to a non-profile.
- return super.accept(match);
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/LatestIUVersionCollector.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/LatestIUVersionCollector.java
deleted file mode 100644
index 4a14dca..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/LatestIUVersionCollector.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.query;
-
-import java.util.HashMap;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.query.IQueryable;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.IQueryProvider;
-
-/**
- * Collector that only accepts categories or the latest version of each
- * IU.
- *
- * @since 3.4
- */
-public class LatestIUVersionCollector extends AvailableIUCollector {
-
- private HashMap uniqueIds = new HashMap();
-
- public LatestIUVersionCollector(IQueryProvider queryProvider, IQueryable queryable, QueryContext queryContext, boolean makeCategories) {
- super(queryProvider, queryable, queryContext, makeCategories);
- }
-
- /**
- * Accepts a result that matches the query criteria.
- *
- * @param match an object matching the query
- * @return <code>true</code> if the query should continue,
- * or <code>false</code> to indicate the query should stop.
- */
- public boolean accept(Object match) {
- if (!(match instanceof IInstallableUnit))
- return true;
- IInstallableUnit iu = (IInstallableUnit) match;
- // If it's a category, treat it as such if we are to build categories
- if (makeCategory() && isCategory(iu))
- return super.accept(match);
- // Look for the latest element
- Object matchElement = uniqueIds.get(iu.getId());
- if (matchElement == null || iu.getVersion().compareTo(getIU(matchElement).getVersion()) > 0) {
- if (matchElement != null)
- getList().remove(matchElement);
- matchElement = makeDefaultElement(iu);
- uniqueIds.put(iu.getId(), matchElement);
- return super.accept(matchElement);
- }
- return true;
- }
-
- protected Object makeDefaultElement(IInstallableUnit iu) {
- return iu;
- }
-
- protected IInstallableUnit getIU(Object matchElement) {
- if (matchElement instanceof IInstallableUnit)
- return (IInstallableUnit) matchElement;
- return null;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/LatestIUVersionElementCollector.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/LatestIUVersionElementCollector.java
deleted file mode 100644
index 977dbae..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/LatestIUVersionElementCollector.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.query;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.query.IQueryable;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.IUVersionsElement;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.IQueryProvider;
-
-/**
- * Collector that only accepts categories or the latest version of each
- * IU, and wraps that version in an IUVersionsElement.
- *
- * @since 3.4
- */
-public class LatestIUVersionElementCollector extends LatestIUVersionCollector {
- public LatestIUVersionElementCollector(IQueryProvider queryProvider, IQueryable queryable, QueryContext queryContext, boolean makeCategories) {
- super(queryProvider, queryable, queryContext, makeCategories);
- }
-
- protected Object makeDefaultElement(IInstallableUnit iu) {
- return new IUVersionsElement(iu);
- }
-
- protected IInstallableUnit getIU(Object matchElement) {
- if (matchElement instanceof IUVersionsElement)
- return ((IUVersionsElement) matchElement).getIU();
- return super.getIU(matchElement);
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/MetadataRepositoryElementCollector.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/MetadataRepositoryElementCollector.java
deleted file mode 100644
index f005489..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/MetadataRepositoryElementCollector.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.query;
-
-import java.net.URL;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.MetadataRepositoryElement;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.QueriedElementCollector;
-import org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningUtil;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.IQueryProvider;
-
-/**
- * Collector that accepts the matched repo URLs and
- * wraps them in a MetadataRepositoryElement.
- *
- * @since 3.4
- */
-public class MetadataRepositoryElementCollector extends QueriedElementCollector {
-
- public MetadataRepositoryElementCollector(IQueryProvider queryProvider, QueryContext queryContext) {
- super(queryProvider, null, queryContext);
- }
-
- /**
- * Accepts a result that matches the query criteria.
- *
- * @param match an object matching the query
- * @return <code>true</code> if the query should continue,
- * or <code>false</code> to indicate the query should stop.
- */
- public boolean accept(Object match) {
- if (!(match instanceof URL))
- return true;
- return super.accept(new MetadataRepositoryElement((URL) match, ProvisioningUtil.getMetadataRepositoryEnablement((URL) match)));
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/OtherIUVersionsCollector.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/OtherIUVersionsCollector.java
deleted file mode 100644
index e69e376..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/OtherIUVersionsCollector.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.query;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.query.IQueryable;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.QueriedElementCollector;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.IQueryProvider;
-
-/**
- * Collector that includes only those versions of an IU other than the
- * one known.
- *
- * @since 3.4
- */
-public class OtherIUVersionsCollector extends QueriedElementCollector {
-
- private IInstallableUnit iu;
-
- public OtherIUVersionsCollector(IInstallableUnit iu, IQueryProvider queryProvider, IQueryable queryable, QueryContext queryContext) {
- super(queryProvider, queryable, queryContext);
- this.iu = iu;
- }
-
- /**
- * Accepts a result that matches the query criteria.
- *
- * @param match an object matching the query
- * @return <code>true</code> if the query should continue,
- * or <code>false</code> to indicate the query should stop.
- */
- public boolean accept(Object match) {
- if (!(match instanceof IInstallableUnit))
- return true;
- IInstallableUnit otherIU = (IInstallableUnit) match;
- if (!otherIU.equals(iu))
- return super.accept(match);
- return true;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/ProfileElementCollector.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/ProfileElementCollector.java
deleted file mode 100644
index a5ebe02..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/ProfileElementCollector.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.query;
-
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.ProfileElement;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.QueriedElementCollector;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.IQueryProvider;
-
-/**
- * Collector that accepts the matched Profiles and
- * wraps them in a ProfileElement.
- *
- * @since 3.4
- */
-public class ProfileElementCollector extends QueriedElementCollector {
-
- public ProfileElementCollector(IQueryProvider queryProvider, IProfile profile, QueryContext queryContext) {
- super(queryProvider, profile, queryContext);
- }
-
- /**
- * Accepts a result that matches the query criteria.
- *
- * @param match an object matching the query
- * @return <code>true</code> if the query should continue,
- * or <code>false</code> to indicate the query should stop.
- */
- public boolean accept(Object match) {
- if (!(match instanceof IProfile))
- return true;
- return super.accept(new ProfileElement(((IProfile) match).getProfileId()));
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/QueriedElement.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/QueriedElement.java
deleted file mode 100644
index 3560009..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/QueriedElement.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.query;
-
-import org.eclipse.equinox.internal.p2.ui.model.ProvElement;
-import org.eclipse.equinox.internal.provisional.p2.query.IQueryable;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.IQueryProvider;
-
-/**
- * Element class that represents an element that gets its children
- * by using a query.
- *
- * @since 3.4
- *
- */
-public abstract class QueriedElement extends ProvElement {
-
- IQueryProvider queryProvider;
- protected IQueryable queryable;
- protected QueryContext queryContext = null;
-
- protected QueriedElement(QueryContext queryContext) {
- this.queryContext = queryContext;
- }
-
- public Object[] getChildren(Object o) {
- if (queryProvider == null)
- return new Object[0];
- ElementQueryDescriptor queryDescriptor = getQueryProvider().getQueryDescriptor(this, getQueryType());
- if (queryDescriptor == null)
- return new Object[0];
- queryDescriptor.queryable.query(queryDescriptor.query, queryDescriptor.collector, null);
- return queryDescriptor.collector.toArray(Object.class);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.model.IWorkbenchAdapter#getLabel(java.lang.Object)
- */
- public String getLabel(Object o) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.ui.model.ProvElement#getParent(java.lang.Object)
- */
- public Object getParent(Object o) {
- return null;
- }
-
- /**
- * Return the query type that is appropriate for this element when there
- * is no query context.
- * @return The integer query type
- */
- protected abstract int getDefaultQueryType();
-
- /**
- * Return the query type that should be used for this element.
- * Depending on the element, the query type may take the query context
- * into account. Subclasses should override this method if there are
- * context-dependent decisions to be made to determine the query.
- * @return The integer query type
- */
- protected int getQueryType() {
- return getDefaultQueryType();
- }
-
- public void setQueryProvider(IQueryProvider queryProvider) {
- this.queryProvider = queryProvider;
- }
-
- public IQueryProvider getQueryProvider() {
- return queryProvider;
- }
-
- public void setQueryable(IQueryable queryable) {
- this.queryable = queryable;
- }
-
- public QueryContext getQueryContext() {
- return queryContext;
- }
-
- public void setQueryContext(QueryContext context) {
- queryContext = context;
- }
-
- public IQueryable getQueryable() {
- return queryable;
- }
-
- /**
- * Return a boolean indicating whether the receiver
- * has enough information to get its queryable. This is used in lieu
- * of {{@link #getQueryable()} when lazy initialization
- * of the queryable is not desired, and a client wishes
- * to know whether the queryable could be obtained. Subclasses
- * that cache information needed to retrieve the queryable rather
- * than the queryable itself should
- * override this.
- *
- * @return <code>true</code> if the receiver has enough
- * information to retrieve its queryable, <code>false</code>
- * if it does not.
- */
- public boolean knowsQueryable() {
- return queryable != null;
- }
-
- /**
- * Return a boolean indicating whether the receiver
- * actually has its queryable. This is used in lieu
- * of {{@link #getQueryable()} when lazy initialization
- * of the queryable is not desired. For example, when
- * working with an element whose queryable may be
- * expensive to obtain, clients may check this before
- * actually getting the queryable. Subclasses
- * should typically not need to override this.
- *
- * @return <code>true</code> if the receiver has its
- * queryable, <code>false</code> if it does not yet.
- */
- public boolean hasQueryable() {
- return queryable != null;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/QueryContext.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/QueryContext.java
deleted file mode 100644
index fe0eabf..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/QueryContext.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.query;
-
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.IQueryProvider;
-
-/**
- * A class that can be used to provide additional context for
- * selecting the appropriate query to be used for a particular
- * UI element. Typically an {@link IQueryProvider} uses this
- * object to determine any specific filtering or grouping that
- * should occur for a query. Views can associate this context
- * with a model element to affect the traversal of the model.
- *
- * @since 3.4
- *
- */
-public abstract class QueryContext {
-
- public abstract int getQueryType();
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/QueryableArtifactRepositoryManager.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/QueryableArtifactRepositoryManager.java
deleted file mode 100644
index d3f3890..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/QueryableArtifactRepositoryManager.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.query;
-
-import java.net.URL;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.ui.ProvUIActivator;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.query.*;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUI;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-/**
- * An object that adds queryable support to an artifact repository
- * manager. It can be constructed to filter the repositories according to repository filter
- * flags. When a query is provided, the object being queried is repository URL.
- * Callers interested in only the resulting repository URL's can specify a null query,
- * in which case the collector will be accepting all iterated URL's.
- */
-public class QueryableArtifactRepositoryManager implements IQueryable {
-
- int flags = IArtifactRepositoryManager.REPOSITORIES_ALL;
-
- public QueryableArtifactRepositoryManager(int flags) {
- this.flags = flags;
- }
-
- /**
- * Iterates over the artifact repositories configured in this queryable.
- * If a query is specified, the query is run on each URL, passing any URLs that satisfy the
- * query to the provided collector. If no query is specified, all repository URLs iterated are passed
- * to the collector.
- * <p>
- * This method is long-running; progress and cancellation are provided
- * by the given progress monitor.
- * </p>
- *
- * @param query The query to perform on the URLs, or <code>null</code> if all URLs should
- * be accepted.
- * @param result Collects the repository URLs
- * @param monitor a progress monitor, or <code>null</code> if progress
- * reporting is not desired
- * @return The collector argument
- */
- public Collector query(Query query, Collector result, IProgressMonitor monitor) {
- IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(ProvUIActivator.getContext(), IArtifactRepositoryManager.class.getName());
- if (manager == null) {
- ProvUI.reportStatus(new Status(IStatus.ERROR, ProvUIActivator.PLUGIN_ID, ProvUIMessages.ProvisioningUtil_NoRepositoryManager), StatusManager.SHOW | StatusManager.LOG);
- return result;
- }
- URL[] repoURLs = manager.getKnownRepositories(flags);
- if (monitor == null)
- monitor = new NullProgressMonitor();
- monitor.beginTask(ProvUIMessages.QueryableArtifactRepositoryManager_RepositoryQueryProgress, repoURLs.length);
- for (int i = 0; i < repoURLs.length; i++) {
- if (query == null || query.isMatch(repoURLs[i]))
- result.accept(repoURLs[i]);
- monitor.worked(1);
- }
- monitor.done();
- return result;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/QueryableMetadataRepositoryManager.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/QueryableMetadataRepositoryManager.java
deleted file mode 100644
index 4dc1b19..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/QueryableMetadataRepositoryManager.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.query;
-
-import java.net.URL;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager;
-import org.eclipse.equinox.internal.p2.ui.ProvUIActivator;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.query.*;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUI;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.MetadataRepositories;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-/**
- * An object that adds queryable support to a metadata repository
- * manager. It can be constructed to iterate over a specific array
- * of repositories named by URL, or filtered according to repository filter
- * flags. When a query is provided, the object being queried is the loaded
- * repository, and collectors should be prepared to accept IInstallableUnits that
- * meet the query criteria. Callers interested in only the resulting repository URL's
- * should specify a null query, in which case the collector will be accepting the URL's.
- */
-public class QueryableMetadataRepositoryManager implements IQueryable {
- private MetadataRepositories repositories;
- private ArrayList notFound = new ArrayList();
- private MultiStatus accumulatedNotFound = null;
-
- public QueryableMetadataRepositoryManager(MetadataRepositories repositories) {
- this.repositories = repositories;
- }
-
- /**
- * Iterates over the metadata repositories configured in this queryable.
- * If a query is specified, the query is run on each repository, passing any objects that satisfy the
- * query to the provided collector. If no query is specified, the repository URLs iterated are passed
- * to the collector.
- * <p>
- * This method is long-running; progress and cancellation are provided
- * by the given progress monitor.
- * </p>
- *
- * @param query The query to perform, or <code>null</code> if the repositories
- * should not be loaded and queried.
- * @param result Collects either the repository URLs (when the query is null), or the results
- * of the query on each repository
- * @param monitor a progress monitor, or <code>null</code> if progress
- * reporting is not desired
- * @return The collector argument
- */
- public Collector query(Query query, Collector result, IProgressMonitor monitor) {
- IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(ProvUIActivator.getContext(), IMetadataRepositoryManager.class.getName());
- if (manager == null) {
- ProvUI.reportStatus(new Status(IStatus.ERROR, ProvUIActivator.PLUGIN_ID, ProvUIMessages.ProvisioningUtil_NoRepositoryManager), StatusManager.SHOW | StatusManager.LOG);
- return result;
- }
- List repoURLs = getRepoLocations(manager);
-
- SubMonitor sub = SubMonitor.convert(monitor, ProvUIMessages.QueryableMetadataRepositoryManager_RepositoryQueryProgress, repoURLs.size() * 2);
- if (sub.isCanceled())
- return result;
- for (int i = 0; i < repoURLs.size(); i++) {
- if (sub.isCanceled())
- return result;
- if (query == null) {
- result.accept(repoURLs.get(i));
- sub.worked(2);
- } else {
- URL url = (URL) repoURLs.get(i);
- try {
- IMetadataRepository repo = manager.loadRepository(url, sub.newChild(1));
- repo.query(query, result, sub.newChild(1));
- } catch (ProvisionException e) {
- if (e.getStatus().getCode() == ProvisionException.REPOSITORY_NOT_FOUND)
- handleNotFound(e, url);
- else
- ProvUI.handleException(e, NLS.bind(ProvUIMessages.ProvisioningUtil_LoadRepositoryFailure, repoURLs.get(i)), StatusManager.LOG);
- }
- reportAccumulatedStatus();
-
- }
- }
- return result;
- }
-
- /**
- * Load all of the repositories referenced by this queryable. This is an expensive operation.
- * @param monitor the progress monitor that should be used
- */
- public void loadAll(IProgressMonitor monitor) {
- IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(ProvUIActivator.getContext(), IMetadataRepositoryManager.class.getName());
- if (manager == null) {
- ProvUI.reportStatus(new Status(IStatus.ERROR, ProvUIActivator.PLUGIN_ID, ProvUIMessages.ProvisioningUtil_NoRepositoryManager), StatusManager.SHOW | StatusManager.LOG);
- return;
- }
- List repoURLs = getRepoLocations(manager);
- SubMonitor sub = SubMonitor.convert(monitor, ProvUIMessages.QueryableMetadataRepositoryManager_RepositoryQueryProgress, repoURLs.size() * 2);
- if (sub.isCanceled())
- return;
- for (int i = 0; i < repoURLs.size(); i++) {
- if (sub.isCanceled())
- return;
- URL url = (URL) repoURLs.get(i);
- try {
- manager.loadRepository(url, sub.newChild(1));
- } catch (ProvisionException e) {
- if (e.getStatus().getCode() == ProvisionException.REPOSITORY_NOT_FOUND)
- handleNotFound(e, url);
- else
- ProvUI.handleException(e, NLS.bind(ProvUIMessages.ProvisioningUtil_LoadRepositoryFailure, repoURLs.get(i)), StatusManager.LOG);
- }
- }
- reportAccumulatedStatus();
-
- }
-
- private List getRepoLocations(IMetadataRepositoryManager manager) {
- ArrayList locations = new ArrayList();
- if (repositories.getMetadataRepositories() != null) {
- locations.addAll(Arrays.asList(repositories.getMetadataRepositories()));
- } else {
- locations.addAll(Arrays.asList(manager.getKnownRepositories(repositories.getRepoFlags())));
- if (repositories.getIncludeDisabledRepositories()) {
- locations.addAll(Arrays.asList(manager.getKnownRepositories(IMetadataRepositoryManager.REPOSITORIES_DISABLED)));
- }
- }
- return locations;
- }
-
- private void handleNotFound(ProvisionException e, URL missingRepo) {
- // If we've already reported a URL is not found, don't report again.
- if (notFound.contains(missingRepo.toExternalForm()))
- return;
- // If someone else reported a URL is not found, don't report again.
- if (ProvUI.hasNotFoundStatusBeenReported(missingRepo)) {
- notFound.add(missingRepo.toExternalForm());
- return;
- }
- notFound.add(missingRepo.toExternalForm());
- ProvUI.notFoundStatusReported(missingRepo);
- // Empty multi statuses have a severity OK. The platform status handler doesn't handle
- // this well. We correct this by recreating a status with error severity
- // so that the platform status handler does the right thing.
- IStatus status = e.getStatus();
- if (status instanceof MultiStatus && ((MultiStatus) status).getChildren().length == 0)
- status = new Status(IStatus.ERROR, status.getPlugin(), status.getCode(), status.getMessage(), status.getException());
- if (accumulatedNotFound == null) {
- accumulatedNotFound = new MultiStatus(ProvUIActivator.PLUGIN_ID, ProvisionException.REPOSITORY_NOT_FOUND, new IStatus[] {status}, ProvUIMessages.QueryableMetadataRepositoryManager_MultipleRepositoriesNotFound, null);
- } else {
- accumulatedNotFound.add(status);
- }
- }
-
- private void reportAccumulatedStatus() {
- // If we've discovered not found repos we didn't know about, report them
- if (accumulatedNotFound != null) {
- // If there is only missing repo to report, use the specific message rather than the generic.
- if (accumulatedNotFound.getChildren().length == 1) {
- ProvUI.reportStatus(accumulatedNotFound.getChildren()[0], StatusManager.SHOW);
- } else {
- ProvUI.reportStatus(accumulatedNotFound, StatusManager.SHOW);
- }
- }
- // Reset the accumulated status so that next time we only report the newly not found repos.
- accumulatedNotFound = null;
- }
-
- /**
- * Return a boolean indicating whether the repositories to be queried
- * are already loaded.
- *
- * @return <code>true</code> if all repositories to be queried by the
- * receiver are loaded, <code>false</code> if they
- * are not.
- *
- * see https://bugs.eclipse.org/bugs/show_bug.cgi?id=229069
- * see https://bugs.eclipse.org/bugs/show_bug.cgi?id=226343
- */
- public boolean areRepositoriesLoaded() {
- IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(ProvUIActivator.getContext(), IMetadataRepositoryManager.class.getName());
- if (manager == null || !(manager instanceof MetadataRepositoryManager)) {
- return false;
- }
- MetadataRepositoryManager mgr = (MetadataRepositoryManager) manager;
- List repoURLs = getRepoLocations(mgr);
- for (int i = 0; i < repoURLs.size(); i++) {
- if (repoURLs.get(i) instanceof URL) {
- IMetadataRepository repo = mgr.getRepository((URL) repoURLs.get(i));
- if (repo == null)
- return false;
- }
- }
- return true;
-
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/QueryableProfileRegistry.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/QueryableProfileRegistry.java
deleted file mode 100644
index 837dee7..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/QueryableProfileRegistry.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.query;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.ui.ProvUIActivator;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfileRegistry;
-import org.eclipse.equinox.internal.provisional.p2.query.*;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUI;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-/**
- * An object that adds queryable support to the profile registry.
- */
-public class QueryableProfileRegistry implements IQueryable {
-
- public Collector query(Query query, Collector result, IProgressMonitor monitor) {
- IProfileRegistry profileRegistry = (IProfileRegistry) ServiceHelper.getService(ProvUIActivator.getContext(), IProfileRegistry.class.getName());
- if (profileRegistry == null) {
- ProvUI.reportStatus(new Status(IStatus.ERROR, ProvUIActivator.PLUGIN_ID, ProvUIMessages.ProvisioningUtil_NoProfileRegistryFound), StatusManager.SHOW | StatusManager.LOG);
- return result;
- }
- IProfile[] profiles = profileRegistry.getProfiles();
- if (monitor == null)
- monitor = new NullProgressMonitor();
- monitor.beginTask(ProvUIMessages.QueryableProfileRegistry_QueryProfileProgress, profiles.length);
- for (int i = 0; i < profiles.length; i++) {
- if (query.isMatch(profiles[i]))
- result.accept(profiles[i]);
- monitor.worked(1);
- }
- monitor.done();
- return result;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/QueryableUpdates.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/QueryableUpdates.java
deleted file mode 100644
index 86c6bfd..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/QueryableUpdates.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.query;
-
-import java.util.ArrayList;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.ui.ProvUIActivator;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningContext;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.query.*;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUI;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-/**
- * An object that adds queryable support to the profile registry.
- */
-public class QueryableUpdates implements IQueryable {
-
- private IInstallableUnit[] iusToUpdate;
-
- public QueryableUpdates(IInstallableUnit[] iusToUpdate) {
- this.iusToUpdate = iusToUpdate;
- }
-
- public Collector query(Query query, Collector result, IProgressMonitor monitor) {
- if (monitor == null)
- monitor = new NullProgressMonitor();
- int totalWork = 2000;
- monitor.beginTask(ProvUIMessages.QueryableUpdates_UpdateListProgress, totalWork);
- IPlanner planner = (IPlanner) ServiceHelper.getService(ProvUIActivator.getContext(), IPlanner.class.getName());
- if (planner == null) {
- ProvUI.reportStatus(new Status(IStatus.ERROR, ProvUIActivator.PLUGIN_ID, ProvUIMessages.ProvisioningUtil_NoPlannerFound), StatusManager.SHOW | StatusManager.LOG);
- return result;
- }
- ArrayList allUpdates = new ArrayList();
- for (int i = 0; i < iusToUpdate.length; i++) {
- IInstallableUnit[] updates = planner.updatesFor(iusToUpdate[i], new ProvisioningContext(), new SubProgressMonitor(monitor, totalWork / 2 / iusToUpdate.length));
- for (int j = 0; j < updates.length; j++)
- allUpdates.add(updates[j]);
- }
- for (int i = 0; i < allUpdates.size(); i++) {
- if (query.isMatch(allUpdates.get(i)))
- result.accept(allUpdates.get(i));
- monitor.worked(totalWork / 2 / allUpdates.size());
- }
- monitor.done();
- return result;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/RollbackIUCollector.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/RollbackIUCollector.java
deleted file mode 100644
index b698707..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/RollbackIUCollector.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.query;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.query.IQueryable;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.RollbackProfileElement;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.IQueryProvider;
-
-/**
- * Collector that examines available IU's and wraps them in an
- * element representing either a category an IU.
- *
- * @since 3.4
- */
-public class RollbackIUCollector extends AvailableIUCollector {
-
- public RollbackIUCollector(IQueryProvider queryProvider, IQueryable queryable, QueryContext queryContext) {
- super(queryProvider, queryable, queryContext, false);
- }
-
- protected Object makeDefaultElement(IInstallableUnit iu) {
- return new RollbackProfileElement(iu);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/UncategorizedElementCollector.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/UncategorizedElementCollector.java
deleted file mode 100644
index e6103f8..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/query/UncategorizedElementCollector.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.query;
-
-import java.util.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.RequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.query.IQueryable;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.QueriedElementCollector;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.IQueryProvider;
-
-/**
- * A collector that collects everything specified by the query, but
- * removes anything referred to by a category when asked for its
- * contents. Must be used with a compound query that includes categories
- * and something else. For example, could be used with a category + group
- * query, and the net result would be all groups that were not referred to
- * by a category.
- *
- * @since 3.4
- */
-public class UncategorizedElementCollector extends QueriedElementCollector {
-
- private ArrayList categories = new ArrayList();
- private Set allOthers = new HashSet();
- private Collector resultCollector;
-
- public UncategorizedElementCollector(IQueryProvider queryProvider, IQueryable queryable, QueryContext queryContext, Collector resultCollector) {
- super(queryProvider, queryable, queryContext);
- this.resultCollector = resultCollector;
- }
-
- /*
- * Accepts all IUs on the first pass, separating the categories and
- * non-categories. The real work is done once clients try to get the results.
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.ui.model.QueriedElementCollector#accept(java.lang.Object)
- */
- public boolean accept(Object match) {
- if (match instanceof IInstallableUnit) {
- IInstallableUnit iu = (IInstallableUnit) match;
- if (Boolean.toString(true).equals(iu.getProperty(IInstallableUnit.PROP_TYPE_CATEGORY)))
- categories.add(iu);
- else
- allOthers.add(iu);
- }
- return true;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.query.Collector#iterator()
- */
- public Iterator iterator() {
- removeReferredIUsAndRecollect();
- return resultCollector.iterator();
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.query.Collector#size()
- */
- public int size() {
- removeReferredIUsAndRecollect();
- return resultCollector.size();
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.query.Collector#isEmpty()
- */
- public boolean isEmpty() {
- removeReferredIUsAndRecollect();
- return resultCollector.isEmpty();
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.query.Collector#toArray(java.lang.Class)
- */
- public Object[] toArray(Class clazz) {
- removeReferredIUsAndRecollect();
- return resultCollector.toArray(clazz);
- }
-
- private void removeReferredIUsAndRecollect() {
- Iterator iter = categories.iterator();
- while (iter.hasNext()) {
- IInstallableUnit categoryIU = (IInstallableUnit) iter.next();
- RequiredCapability[] requirements = categoryIU.getRequiredCapabilities();
- for (int i = 0; i < requirements.length; i++) {
- if (requirements[i].getNamespace().equals(IInstallableUnit.NAMESPACE_IU_ID)) {
- IInstallableUnit[] arrayAllOthers = (IInstallableUnit[]) allOthers.toArray(new IInstallableUnit[allOthers.size()]);
- for (int j = 0; j < arrayAllOthers.length; j++)
- if (arrayAllOthers[j].getId().equals(requirements[i].getName()))
- allOthers.remove(arrayAllOthers[j]);
- }
- }
- }
- // Now allOthers has the correct content, so just
- // collect results in the result collector.
- iter = allOthers.iterator();
- while (iter.hasNext())
- resultCollector.accept(iter.next());
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.query.Collector#toCollection()
- */
- public Collection toCollection() {
- removeReferredIUsAndRecollect();
- return resultCollector.toCollection();
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/DeferredQueryContentListener.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/DeferredQueryContentListener.java
deleted file mode 100644
index 071d034..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/DeferredQueryContentListener.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.equinox.internal.provisional.p2.ui.viewers;
-
-import java.util.EventListener;
-import org.eclipse.jface.viewers.Viewer;
-
-/**
- * A listening interface used to signal when fetching begins and
- * ends. Used by clients who wish to coordinate fetching with other
- * jobs that must occur in the viewer.
- *
- * @since 3.4
- *
- */
-public interface DeferredQueryContentListener extends EventListener {
- public void inputChanged(Viewer v, Object oldInput, Object newInput);
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/DeferredQueryContentProvider.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/DeferredQueryContentProvider.java
deleted file mode 100644
index 607d49e..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/DeferredQueryContentProvider.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.provisional.p2.ui.viewers;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.equinox.internal.p2.ui.model.ProvElement;
-import org.eclipse.equinox.internal.p2.ui.model.RemoteQueriedElement;
-import org.eclipse.equinox.internal.p2.ui.viewers.DeferredQueryTreeContentManager;
-import org.eclipse.equinox.internal.p2.ui.viewers.DeferredQueryTreeListener;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.IQueryProvider;
-import org.eclipse.equinox.internal.provisional.p2.ui.query.QueriedElement;
-import org.eclipse.jface.viewers.*;
-
-/**
- * Content provider that retrieves children asynchronously where
- * possible using the IDeferredWorkbenchAdapter and provisioning
- * query mechanisms.
- *
- * @since 3.4
- *
- */
-public class DeferredQueryContentProvider implements ITreeContentProvider {
-
- DeferredQueryTreeContentManager manager;
- IQueryProvider queryProvider;
- Object currentInput;
- HashMap alreadyQueried = new HashMap();
- HashSet queryCompleted = new HashSet();
- AbstractTreeViewer viewer = null;
- ListenerList listeners = new ListenerList();
- boolean synchronous = false;
-
- public DeferredQueryContentProvider(IQueryProvider queryProvider) {
- this.queryProvider = queryProvider;
- }
-
- public void addListener(DeferredQueryContentListener listener) {
- listeners.add(listener);
- }
-
- public void removeListener(DeferredQueryContentListener listener) {
- listeners.remove(listener);
- }
-
- public void inputChanged(Viewer v, Object oldInput, Object newInput) {
- if (manager != null)
- manager.cancel(oldInput);
- if (v instanceof AbstractTreeViewer) {
- manager = new DeferredQueryTreeContentManager((AbstractTreeViewer) v);
- viewer = (AbstractTreeViewer) v;
- manager.setListener(new DeferredQueryTreeListener() {
-
- public void fetchingDeferredChildren(Object parent, Object placeholder) {
- alreadyQueried.put(parent, placeholder);
- }
-
- public void finishedFetchingDeferredChildren(Object parent, Object placeholder) {
- queryCompleted.add(parent);
- }
- });
- } else
- viewer = null;
- alreadyQueried = new HashMap();
- queryCompleted = new HashSet();
- currentInput = newInput;
- Object[] inputListeners = listeners.getListeners();
- for (int i = 0; i < inputListeners.length; i++) {
- ((DeferredQueryContentListener) inputListeners[i]).inputChanged(v, oldInput, newInput);
- }
-
- }
-
- public Object[] getElements(Object input) {
- if (input instanceof QueriedElement) {
- QueriedElement element = (QueriedElement) input;
- element.setQueryProvider(queryProvider);
- return getChildren(element);
- }
- return null;
- }
-
- public void dispose() {
- if (manager != null) {
- manager.cancel(currentInput);
- }
- }
-
- public Object getParent(Object child) {
- if (child instanceof ProvElement) {
- return ((ProvElement) child).getParent(child);
- }
- return null;
- }
-
- public boolean hasChildren(Object element) {
- if (manager != null) {
- if (manager.isDeferredAdapter(element))
- return manager.mayHaveChildren(element);
- }
- if (element instanceof ProvElement)
- return ((ProvElement) element).hasChildren(element);
- return false;
- }
-
- public Object[] getChildren(final Object parent) {
- if (parent instanceof RemoteQueriedElement) {
- RemoteQueriedElement element = (RemoteQueriedElement) parent;
- // We rely on the assumption that the queryable is the most expensive
- // thing to get vs. the query itself being expensive.
- // (loading a repo vs. querying a repo afterward)
- if (element.hasQueryable())
- return element.getChildren(element);
-
- if (manager != null && !synchronous) {
- return manager.getChildren(parent);
- }
- }
- // Either it's not a remote element or we are in synchronous mode
- if (parent instanceof ProvElement) {
- return ((ProvElement) parent).getChildren(parent);
- }
- return null;
- }
-
- public void setSynchronous(boolean sync) {
- if (sync == true && manager != null)
- manager.cancel(currentInput);
- this.synchronous = sync;
- }
-
- public boolean getSynchronous() {
- return synchronous;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/IUColumnConfig.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/IUColumnConfig.java
deleted file mode 100644
index 44b6c13..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/IUColumnConfig.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.provisional.p2.ui.viewers;
-
-/**
- * Data structure describing a column to be shown in an IU view.
- *
- * @since 3.4
- */
-public class IUColumnConfig {
- public final static int COLUMN_ID = 0;
- public final static int COLUMN_NAME = 1;
- public final static int COLUMN_VERSION = 2;
- public final static int COLUMN_SIZE = 3;
-
- public String columnTitle;
- public int columnField;
- public int defaultColumnWidth;
-
- public IUColumnConfig(String title, int columnField, int defaultColumnWidth) {
- this.columnTitle = title;
- this.columnField = columnField;
- this.defaultColumnWidth = defaultColumnWidth;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/IUComparator.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/IUComparator.java
deleted file mode 100644
index 4f62e9d..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/IUComparator.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.viewers;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUI;
-import org.eclipse.equinox.internal.provisional.p2.ui.query.IUPropertyUtils;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerComparator;
-
-public class IUComparator extends ViewerComparator {
- public static final int IU_NAME = 0;
- public static final int IU_ID = 1;
- private int key;
-
- public IUComparator(int sortKey) {
- this.key = sortKey;
- }
-
- public int compare(Viewer viewer, Object obj1, Object obj2) {
- IInstallableUnit iu1 = (IInstallableUnit) ProvUI.getAdapter(obj1, IInstallableUnit.class);
- IInstallableUnit iu2 = (IInstallableUnit) ProvUI.getAdapter(obj2, IInstallableUnit.class);
- if (iu1 == null || iu2 == null)
- // If these are not iu's use the super class comparator.
- return super.compare(viewer, obj1, obj2);
-
- String key1, key2;
- if (key == IU_NAME) {
- // Compare the iu names in the default locale
- key1 = IUPropertyUtils.getIUProperty(iu1, IInstallableUnit.PROP_NAME);
- if (key1 == null)
- key1 = ""; //$NON-NLS-1$
- key2 = IUPropertyUtils.getIUProperty(iu2, IInstallableUnit.PROP_NAME);
- if (key2 == null)
- key2 = ""; //$NON-NLS-1$
- } else {
- key1 = iu1.getId();
- key2 = iu2.getId();
- }
-
- int result = 0;
- result = key1.compareToIgnoreCase(key2);
- if (result == 0) {
- // We want to show later versions first so compare backwards.
- result = iu2.getVersion().compareTo(iu1.getVersion());
- }
- return result;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/IUDragAdapter.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/IUDragAdapter.java
deleted file mode 100644
index 81969a7..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/IUDragAdapter.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.viewers;
-
-import java.util.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUI;
-import org.eclipse.jface.util.LocalSelectionTransfer;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * *Implements drag behaviour when IU items are dragged from a repository view.
- *
- * @since 3.4
- */
-public class IUDragAdapter extends DragSourceAdapter {
-
- ISelectionProvider selectionProvider;
-
- /**
- * Constructs a new drag adapter.
- *
- * @param provider
- * The selection provider
- */
- public IUDragAdapter(ISelectionProvider provider) {
- selectionProvider = provider;
- }
-
- /**
- * Set the drag data to represent the local selection of IU's if possible.
- * Fallback to using a text description of each IU.
- */
- public void dragSetData(DragSourceEvent event) {
- IInstallableUnit[] ius = getSelectedIUs();
-
- if (ius == null || ius.length == 0) {
- return;
- }
-
- // use local selection transfer if possible
- if (LocalSelectionTransfer.getTransfer().isSupportedType(event.dataType)) {
- event.data = LocalSelectionTransfer.getTransfer().getSelection();
- return;
- }
- // resort to a text transfer
- if (!TextTransfer.getInstance().isSupportedType(event.dataType)) {
- return;
- }
-
- // Get a text description of each IU and set as the drag data
- final StringBuffer buffer = new StringBuffer();
-
- for (int i = 0; i < ius.length; i++) {
- buffer.append(ius[i].toString());
- buffer.append('\n');
- }
- event.data = buffer.toString();
- }
-
- /**
- * Start the drag only if the selection contains IUs.
- */
- public void dragStart(DragSourceEvent event) {
-
- // Focus workaround copied from navigator drag adapter
- DragSource dragSource = (DragSource) event.widget;
- Control control = dragSource.getControl();
- if (control != control.getDisplay().getFocusControl()) {
- event.doit = false;
- return;
- }
-
- // Check the selection
- IStructuredSelection selection = (IStructuredSelection) selectionProvider.getSelection();
- // No drag if nothing is selected
- if (selection.isEmpty()) {
- event.doit = false;
- return;
- }
- if (!areOnlyIUsSelected(selection)) {
- event.doit = false;
- return;
- }
- LocalSelectionTransfer.getTransfer().setSelection(selection);
- event.doit = true;
- }
-
- private IInstallableUnit[] getSelectedIUs() {
- List ius = new ArrayList();
-
- ISelection selection = selectionProvider.getSelection();
- if (!(selection instanceof IStructuredSelection) || selection.isEmpty()) {
- return null;
- }
- IStructuredSelection structuredSelection = (IStructuredSelection) selection;
-
- Iterator iter = structuredSelection.iterator();
- while (iter.hasNext()) {
- IInstallableUnit iu = (IInstallableUnit) ProvUI.getAdapter(iter.next(), IInstallableUnit.class);
- if (iu != null) {
- ius.add(iu);
- }
- }
- return (IInstallableUnit[]) ius.toArray(new IInstallableUnit[ius.size()]);
- }
-
- private boolean areOnlyIUsSelected(IStructuredSelection selection) {
- Iterator iter = selection.iterator();
- while (iter.hasNext()) {
- IInstallableUnit iu = (IInstallableUnit) ProvUI.getAdapter(iter.next(), IInstallableUnit.class);
- if (iu == null) {
- return false;
- }
- }
- return true;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/InstallIUDropAdapter.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/InstallIUDropAdapter.java
deleted file mode 100644
index 8b9e2d1..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/InstallIUDropAdapter.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.viewers;
-
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.ui.ProvUIActivator;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUI;
-import org.eclipse.equinox.internal.provisional.p2.ui.actions.InstallAction;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.InstalledIUElement;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.Policies;
-import org.eclipse.jface.util.LocalSelectionTransfer;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Defines drop behavior for selected IUs to mean install the IU on the target
- * profile.
- *
- * @since 3.4
- *
- */
-public class InstallIUDropAdapter extends ViewerDropAdapter {
-
- static boolean DEBUG = false;
- Policies policies;
-
- /**
- * Constructs a new drop adapter.
- *
- * @param viewer
- * the navigator's viewer
- */
- public InstallIUDropAdapter(StructuredViewer viewer, Policies policies) {
- super(viewer);
- Assert.isNotNull(policies);
- this.policies = policies;
- }
-
- /**
- * Returns an error status with the given info.
- */
- IStatus error(String message) {
- return error(message, null);
- }
-
- /**
- * Returns an error status with the given info.
- */
- IStatus error(String message, Throwable exception) {
- return new Status(IStatus.ERROR, ProvUIActivator.PLUGIN_ID, 0, message, exception);
- }
-
- /**
- * Returns the target profile id for the drop. If the drop is positioned on an
- * IU, return its parent profile id.
- */
- private String getProfileTarget(Object mouseTarget) {
- IProfile profile = (IProfile) ProvUI.getAdapter(mouseTarget, IProfile.class);
- if (profile != null) {
- return profile.getProfileId();
- }
-
- if (mouseTarget instanceof InstalledIUElement) {
- return ((InstalledIUElement) mouseTarget).getProfileId();
- }
- return null;
- }
-
- /**
- * Returns the shell
- */
- private Shell getShell() {
- return getViewer().getControl().getShell();
- }
-
- /**
- * Returns an status indicating success.
- */
- private IStatus ok() {
- return new Status(IStatus.OK, ProvUIActivator.PLUGIN_ID, 0, null, null);
- }
-
- /**
- * Perform the drop.
- *
- * @see org.eclipse.swt.dnd.DropTargetListener#drop(org.eclipse.swt.dnd.DropTargetEvent)
- */
- public boolean performDrop(final Object data) {
- if (DEBUG) {
- System.out.println("Perform drop on target: " + getCurrentTarget() + " with data: " + data); //$NON-NLS-1$//$NON-NLS-2$
- }
- if (getCurrentTarget() == null || data == null)
- return false;
-
- ISelection selection = LocalSelectionTransfer.getTransfer().getSelection();
- if (!(selection instanceof IStructuredSelection) || selection.isEmpty())
- return false;
-
- String profileId = getProfileTarget(getCurrentTarget());
- if (getCurrentOperation() == DND.DROP_COPY && profileId != null) {
- final IStructuredSelection structuredSelection = (IStructuredSelection) selection;
- ISelectionProvider selectionProvider = new ISelectionProvider() {
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.ISelectionProvider#addSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener)
- */
- public void addSelectionChangedListener(ISelectionChangedListener listener) {
- // Ignore because the selection won't change
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.ISelectionProvider#getSelection()
- */
- public ISelection getSelection() {
- if (DEBUG) {
- System.out.println("Selection was queried by action"); //$NON-NLS-1$
- System.out.println(structuredSelection.toString());
- }
- return structuredSelection;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.ISelectionProvider#removeSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener)
- */
- public void removeSelectionChangedListener(ISelectionChangedListener listener) {
- // ignore because the selection is static
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.ISelectionProvider#setSelection(org.eclipse.jface.viewers.ISelection)
- */
- public void setSelection(ISelection sel) {
- throw new UnsupportedOperationException("This ISelectionProvider is static, and cannot be modified."); //$NON-NLS-1$
- }
- };
- InstallAction action = new InstallAction(selectionProvider, profileId, null, policies, getShell());
- if (DEBUG)
- System.out.println("Running install action"); //$NON-NLS-1$
- action.run();
- return true;
- }
- return false;
- }
-
- /**
- * Validate whether the drop is valid for the target
- */
- public boolean validateDrop(Object target, int dragOperation, TransferData transferType) {
-
- if (LocalSelectionTransfer.getTransfer().isSupportedType(transferType)) {
- IStatus status = validateTarget(target, transferType);
- if (DEBUG) {
- System.out.println("Validate target: " + status); //$NON-NLS-1$
- }
- return status.isOK();
- }
- return false;
- }
-
- /*
- * Overridden to force a copy when the drag is valid.
- *
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.ViewerDropAdapter#dragEnter(org.eclipse.swt.dnd.DropTargetEvent)
- */
- public void dragEnter(DropTargetEvent event) {
- event.detail = DND.DROP_COPY;
- super.dragEnter(event);
- }
-
- /**
- * Ensures that the drop target meets certain criteria
- */
- private IStatus validateTarget(Object target, TransferData transferType) {
- if (LocalSelectionTransfer.getTransfer().isSupportedType(transferType)) {
- IInstallableUnit[] ius = getSelectedIUs();
-
- if (ius.length == 0) {
- return error(ProvUIMessages.ProvDropAdapter_NoIUsToDrop);
- }
- if (getProfileTarget(target) != null) {
- return ok();
- }
- return error(ProvUIMessages.ProvDropAdapter_InvalidDropTarget);
- }
- return error(ProvUIMessages.ProvDropAdapter_UnsupportedDropOperation);
- }
-
- /**
- * Returns the resource selection from the LocalSelectionTransfer.
- *
- * @return the resource selection from the LocalSelectionTransfer
- */
- private IInstallableUnit[] getSelectedIUs() {
- ISelection selection = LocalSelectionTransfer.getTransfer().getSelection();
- List ius = new ArrayList();
-
- if (!(selection instanceof IStructuredSelection) || selection.isEmpty()) {
- return null;
- }
- IStructuredSelection structuredSelection = (IStructuredSelection) selection;
-
- Iterator iter = structuredSelection.iterator();
- while (iter.hasNext()) {
- IInstallableUnit iu = (IInstallableUnit) ProvUI.getAdapter(iter.next(), IInstallableUnit.class);
- if (iu != null) {
- ius.add(iu);
- }
- }
- return (IInstallableUnit[]) ius.toArray(new IInstallableUnit[ius.size()]);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/ProvElementComparer.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/ProvElementComparer.java
deleted file mode 100644
index 0da4a0e..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/ProvElementComparer.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.ui.viewers;
-
-import java.net.URL;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUI;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.*;
-import org.eclipse.jface.viewers.IElementComparer;
-
-public class ProvElementComparer implements IElementComparer {
-
- public boolean equals(Object a, Object b) {
- // We treat category elements specially because this
- // is one case where resolving down to an IU will lose identity
- // differences. (category IU's with the same name and version number cannot be treated the same).
- if (a instanceof CategoryElement || b instanceof CategoryElement)
- return a.equals(b);
- IInstallableUnit iu1 = getIU(a);
- IInstallableUnit iu2 = getIU(b);
- if (iu1 != null && iu2 != null)
- return iu1.equals(iu2);
- String p1 = getProfileId(a);
- String p2 = getProfileId(b);
- if (p1 != null && p2 != null)
- return p1.equals(p2);
- URL r1 = getRepositoryLocation(a);
- URL r2 = getRepositoryLocation(b);
- if (r1 != null && r2 != null)
- return r1.toExternalForm().equals(r2.toExternalForm());
- return a.equals(b);
- }
-
- public int hashCode(Object element) {
- if (element instanceof CategoryElement)
- return element.hashCode();
- IInstallableUnit iu = getIU(element);
- if (iu != null)
- return iu.hashCode();
- String profileId = getProfileId(element);
- if (profileId != null)
- return profileId.hashCode();
- URL url = getRepositoryLocation(element);
- if (url != null)
- return url.toExternalForm().hashCode();
- return element.hashCode();
- }
-
- private IInstallableUnit getIU(Object obj) {
- return (IInstallableUnit) ProvUI.getAdapter(obj, IInstallableUnit.class);
- }
-
- private String getProfileId(Object obj) {
- if (obj instanceof ProfileElement)
- return ((ProfileElement) obj).getLabel(obj);
- IProfile profile = (IProfile) ProvUI.getAdapter(obj, IProfile.class);
- if (profile == null)
- return null;
- return profile.getProfileId();
- }
-
- private URL getRepositoryLocation(Object obj) {
- if (obj instanceof IRepositoryElement)
- return ((IRepositoryElement) obj).getLocation();
- return null;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/ProvElementLabelProvider.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/ProvElementLabelProvider.java
deleted file mode 100644
index cca1e86..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/ProvElementLabelProvider.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.provisional.p2.ui.viewers;
-
-import org.eclipse.equinox.internal.p2.ui.model.ProvElement;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepository;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStepDescriptor;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository;
-import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUI;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUIImages;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.IRepositoryElement;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.IUElement;
-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 provisioning elements. Some provisioning objects are
- * wrapped by ProvElements and some are not. This is the most generic of the
- * provisioning label providers. A two-column format for elements is
- * supported, with the content of the columns dependent on the type of object.
- *
- * @since 3.4
- */
-public class ProvElementLabelProvider extends LabelProvider implements ITableLabelProvider {
-
- public String getText(Object obj) {
- if (obj instanceof ProvElement) {
- return ((ProvElement) obj).getLabel(obj);
- }
- if (obj instanceof IProfile) {
- return ((IProfile) obj).getProfileId();
- }
- if (obj instanceof IInstallableUnit) {
- IInstallableUnit iu = (IInstallableUnit) obj;
- return iu.getId();
- }
- if (obj instanceof IRepository) {
- String name = ((IRepository) obj).getName();
- if (name != null && name.length() > 0) {
- return name;
- }
- return ((IRepository) obj).getLocation().toExternalForm();
- }
- if (obj instanceof IRepositoryElement) {
- String name = ((IRepositoryElement) obj).getName();
- if (name != null && name.length() > 0) {
- return name;
- }
- return ((IRepositoryElement) obj).getLocation().toExternalForm();
- }
- if (obj instanceof IArtifactKey) {
- IArtifactKey key = (IArtifactKey) obj;
- return key.getId() + " [" + key.getClassifier() + "]"; //$NON-NLS-1$//$NON-NLS-2$
- }
- if (obj instanceof ProcessingStepDescriptor) {
- ProcessingStepDescriptor descriptor = (ProcessingStepDescriptor) obj;
- return descriptor.getProcessorId();
- }
- if (obj instanceof RequiredCapability) {
- return ((RequiredCapability) obj).getName();
- }
- return obj.toString();
- }
-
- public Image getImage(Object obj) {
- if (obj instanceof ProvElement) {
- return ((ProvElement) obj).getImage(obj);
- }
- if (obj instanceof IProfile) {
- return ProvUIImages.getImage(ProvUIImages.IMG_PROFILE);
- }
- if (obj instanceof IInstallableUnit) {
- return ProvUIImages.getImage(ProvUIImages.IMG_UNINSTALLED_IU);
- }
- if (obj instanceof IArtifactRepository) {
- return ProvUIImages.getImage(ProvUIImages.IMG_ARTIFACT_REPOSITORY);
- }
- if (obj instanceof IMetadataRepository) {
- return ProvUIImages.getImage(ProvUIImages.IMG_METADATA_REPOSITORY);
- }
- if (obj instanceof IArtifactKey) {
- return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FILE);
- }
- if (obj instanceof RequiredCapability) {
- return ProvUIImages.getImage(ProvUIImages.IMG_UNINSTALLED_IU);
- }
- return null;
- }
-
- public Image getColumnImage(Object element, int index) {
- if (index == 0) {
- return getImage(element);
- }
- return null;
- }
-
- public String getColumnText(Object element, int columnIndex) {
-
- switch (columnIndex) {
- case 0 :
- return getText(element);
- case 1 :
- if (element instanceof IProfile) {
- return ((IProfile) element).getProperty(IProfile.PROP_NAME);
- }
- if (element instanceof IUElement) {
- if (((IUElement) element).shouldShowVersion())
- return ((IUElement) element).getIU().getVersion().toString();
- }
- IInstallableUnit iu = (IInstallableUnit) ProvUI.getAdapter(element, IInstallableUnit.class);
- if (iu != null) {
- return iu.getVersion().toString();
- }
- if (element instanceof IRepository) {
- return ((IRepository) element).getLocation().toExternalForm();
- }
- if (element instanceof IRepositoryElement) {
- return ((IRepositoryElement) element).getLocation().toExternalForm();
- }
- if (element instanceof IArtifactKey) {
- IArtifactKey key = (IArtifactKey) element;
- return key.getVersion().toString();
- }
- if (element instanceof RequiredCapability) {
- return ((RequiredCapability) element).getRange().getMaximum().toString();
- }
-
- }
- return null;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/RepositoryContentProvider.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/RepositoryContentProvider.java
deleted file mode 100644
index 4b1f694..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/RepositoryContentProvider.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.provisional.p2.ui.viewers;
-
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactDescriptor;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.IQueryProvider;
-
-/**
- * Content provider for provisioning repositories. The repositories are the
- * elements and the repository children are retrieved asynchronously
- * using the IDeferredWorkbenchAdapter mechanism.
- *
- * @since 3.4
- *
- */
-public class RepositoryContentProvider extends DeferredQueryContentProvider {
-
- public RepositoryContentProvider(IQueryProvider queryProvider) {
- super(queryProvider);
- }
-
- public Object[] getChildren(final Object parent) {
- Object[] children = super.getChildren(parent);
- if (children != null)
- return children;
- if (parent instanceof IArtifactDescriptor) {
- return ((IArtifactDescriptor) parent).getProcessingSteps();
- }
- return null;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/StructuredViewerProvisioningListener.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/StructuredViewerProvisioningListener.java
deleted file mode 100644
index b25bdde..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/StructuredViewerProvisioningListener.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.provisional.p2.ui.viewers;
-
-import java.util.EventObject;
-import org.eclipse.equinox.internal.p2.ui.BatchChangeBeginningEvent;
-import org.eclipse.equinox.internal.p2.ui.BatchChangeCompleteEvent;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.ProvisioningListener;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.RepositoryEvent;
-import org.eclipse.equinox.internal.provisional.p2.engine.ProfileEvent;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.ProfileElement;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.IQueryProvider;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * ProvisioningListener which updates a structured viewer based on
- * provisioning changes. Provides default behavior which refreshes particular
- * model elements or the entire viewer based on the nature of the change and the
- * changes that the client is interested in. Subclasses typically only need
- * override when there is additional, specialized behavior required.
- *
- * @since 3.4
- */
-public class StructuredViewerProvisioningListener implements ProvisioningListener {
-
- public static final int PROV_EVENT_METADATA_REPOSITORY = 0x0001;
- public static final int PROV_EVENT_IU = 0x0002;
- public static final int PROV_EVENT_PROFILE = 0x0004;
- public static final int PROV_EVENT_ARTIFACT_REPOSITORY = 0x0008;
-
- int eventTypes = 0;
- int batchCount = 0;
- StructuredViewer viewer;
- Display display;
- IQueryProvider queryProvider;
-
- public StructuredViewerProvisioningListener(StructuredViewer viewer, int eventTypes, IQueryProvider queryProvider) {
- this.viewer = viewer;
- this.eventTypes = eventTypes;
- this.display = viewer.getControl().getDisplay();
- this.queryProvider = queryProvider;
- }
-
- public void notify(EventObject o) {
- if (o instanceof BatchChangeBeginningEvent) {
- batchCount++;
- } else if (o instanceof BatchChangeCompleteEvent) {
- batchCount--;
- if (batchCount <= 0)
- asyncRefresh();
- } else if (batchCount > 0) {
- // We are in the middle of a batch operation
- return;
- } else if (o instanceof ProfileEvent && (((eventTypes & PROV_EVENT_IU) == PROV_EVENT_IU) || ((eventTypes & PROV_EVENT_PROFILE) == PROV_EVENT_PROFILE))) {
- ProfileEvent event = (ProfileEvent) o;
- if (event.getReason() == ProfileEvent.CHANGED) {
- profileChanged(event.getProfileId());
- } else if (event.getReason() == ProfileEvent.ADDED) {
- profileAdded(event.getProfileId());
- } else if (event.getReason() == ProfileEvent.REMOVED) {
- profileRemoved(event.getProfileId());
- }
- } else if (o instanceof RepositoryEvent) {
- RepositoryEvent event = (RepositoryEvent) o;
- // Do not refresh unless this is the type of repo that we are interested in
- if ((event.getRepositoryType() == IRepository.TYPE_METADATA && (eventTypes & PROV_EVENT_METADATA_REPOSITORY) == PROV_EVENT_METADATA_REPOSITORY) || (event.getRepositoryType() == IRepository.TYPE_ARTIFACT && (eventTypes & PROV_EVENT_ARTIFACT_REPOSITORY) == PROV_EVENT_ARTIFACT_REPOSITORY)) {
- if (event.getKind() == RepositoryEvent.ADDED) {
- repositoryAdded(event);
- } else if (event.getKind() == RepositoryEvent.REMOVED) {
- repositoryRemoved(event);
-
- } else if (event.getKind() == RepositoryEvent.DISCOVERED) {
- repositoryDiscovered(event);
- } else if (event.getKind() == RepositoryEvent.CHANGED) {
- repositoryChanged(event);
- }
- }
- }
- }
-
- /**
- * A repository has been added. The default behavior is to
- * refresh the viewer. Subclasses may override. May be called
- * from a non-UI thread.
- *
- * @param event the RepositoryEvent describing the details
- */
- protected void repositoryAdded(RepositoryEvent event) {
- asyncRefresh();
- }
-
- /**
- * A repository has been removed. The default behavior is to
- * refresh the viewer. Subclasses may override. May be called
- * from a non-UI thread.
- *
- * @param event the RepositoryEvent describing the details
- */
- protected void repositoryRemoved(RepositoryEvent event) {
- asyncRefresh();
- }
-
- /**
- * A repository has been discovered. Subclasses may override. May be called
- * from a non-UI thread.
- *
- * @param event the RepositoryEvent describing the details
- */
- protected void repositoryDiscovered(RepositoryEvent event) {
- // Do nothing for now
- }
-
- /**
- * A repository has changed. Subclasses may override. May be called
- * from a non-UI thread.
- *
- * @param event the RepositoryEvent describing the details
- */
- protected void repositoryChanged(RepositoryEvent event) {
- // Do nothing for now. When this event is actually used in
- // the core, we may want to refresh particular elements the way
- // we currently refresh a profile element.
- }
-
- /**
- * The specified profile has changed. The default behavior is to refresh the viewer
- * with a profile element of the matching id. Subclasses may override. May be called
- * from a non-UI thread.
- *
- * @param profileId the id of the profile that changed.
- */
- protected void profileChanged(final String profileId) {
- display.asyncExec(new Runnable() {
- public void run() {
- if (isClosing())
- return;
- // We want to refresh the affected profile, so we
- // construct a profile element on this profile.
- ProfileElement element = new ProfileElement(profileId);
- element.setQueryProvider(queryProvider);
- viewer.refresh(element);
- }
- });
- }
-
- /**
- * The specified profile has been added. The default behavior is to fully
- * refresh the associated viewer. Subclasses may override. May be called
- * from a non-UI thread.
- *
- * @param profileId the id of the profile that has been added.
- */
- protected void profileAdded(final String profileId) {
- asyncRefresh();
- }
-
- /**
- * The specified profile has been removed. The default behavior is to fully
- * refresh the associated viewer. Subclasses may override. May be called
- * from a non-UI thread.
- *
- * @param profileId the id of the profile that has been removed.
- */
- protected void profileRemoved(final String profileId) {
- asyncRefresh();
- }
-
- protected void asyncRefresh() {
- display.asyncExec(new Runnable() {
- public void run() {
- if (isClosing())
- return;
- refreshAll();
- }
- });
- }
-
- /**
- * Refresh the entire structure of the viewer. Subclasses may
- * override to ensure that any caching done in content providers or
- * model elements is refreshed before the viewer is refreshed. This will
- * always be called from the UI thread.
- */
- protected void refreshAll() {
- viewer.refresh();
- }
-
- public int getEventTypes() {
- return eventTypes;
- }
-
- /**
- * Return whether the viewer is closing or shutting down.
- * This method should be used in async execs to ensure that
- * the viewer is still alive.
- * @return a boolean indicating whether the viewer is closing
- */
- protected boolean isClosing() {
- IWorkbench workbench = PlatformUI.getWorkbench();
- if (workbench.isClosing())
- return true;
-
- if (viewer.getControl().isDisposed())
- return true;
-
- return false;
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.updatechecker/.classpath b/bundles/org.eclipse.equinox.p2.updatechecker/.classpath
deleted file mode 100644
index c2ce266..0000000
--- a/bundles/org.eclipse.equinox.p2.updatechecker/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.0%Foundation-1.0"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.updatechecker/.cvsignore b/bundles/org.eclipse.equinox.p2.updatechecker/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/bundles/org.eclipse.equinox.p2.updatechecker/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.updatechecker/.project b/bundles/org.eclipse.equinox.p2.updatechecker/.project
deleted file mode 100644
index 6e82955..0000000
--- a/bundles/org.eclipse.equinox.p2.updatechecker/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.equinox.p2.updatechecker</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.updatechecker/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.updatechecker/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9671331..0000000
--- a/bundles/org.eclipse.equinox.p2.updatechecker/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,329 +0,0 @@
-#Fri Feb 22 11:15:24 EST 2008
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.1
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.3
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.updatechecker/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.updatechecker/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index dbe72f1..0000000
--- a/bundles/org.eclipse.equinox.p2.updatechecker/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:59:14 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.updatechecker/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.updatechecker/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 6904bd9..0000000
--- a/bundles/org.eclipse.equinox.p2.updatechecker/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Sat Aug 11 20:17:52 EDT 2007
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.updatechecker/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.updatechecker/META-INF/MANIFEST.MF
deleted file mode 100644
index a6e3459..0000000
--- a/bundles/org.eclipse.equinox.p2.updatechecker/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,24 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.updatechecker;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.equinox.internal.p2.updatechecker.Activator
-Import-Package: org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.provisional.p2.artifact.repository,
- org.eclipse.equinox.internal.provisional.p2.core,
- org.eclipse.equinox.internal.provisional.p2.core.repository,
- org.eclipse.equinox.internal.provisional.p2.director,
- org.eclipse.equinox.internal.provisional.p2.engine,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.internal.provisional.p2.metadata.query,
- org.eclipse.equinox.internal.provisional.p2.metadata.repository,
- org.eclipse.equinox.internal.provisional.p2.query,
- org.osgi.framework;version="1.4.0"
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,
- J2SE-1.3
-Export-Package: org.eclipse.equinox.internal.p2.updatechecker;x-internal:=true,
- org.eclipse.equinox.internal.provisional.p2.updatechecker;x-friends:="org.eclipse.equinox.p2.ui,org.eclipse.equinox.p2.ui.sdk,org.eclipse.equinox.p2.ui.admin"
-Require-Bundle: org.eclipse.equinox.common;bundle-version="[3.3.0,4.0)"
diff --git a/bundles/org.eclipse.equinox.p2.updatechecker/about.html b/bundles/org.eclipse.equinox.p2.updatechecker/about.html
deleted file mode 100644
index d62785d..0000000
--- a/bundles/org.eclipse.equinox.p2.updatechecker/about.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 2, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
- <h3>Third Party Content</h3>
- <p>The Content includes items that have been sourced from third parties as set out below. If you
- did not receive this Content directly from the Eclipse Foundation, the following is provided
- for informational purposes only, and you should look to the Redistributor's license for
- terms and conditions of use.</p>
-
- <h4>FileInstall 1.0</h4>
- <p>The bundle includes derivative works of software originally developed by Peter Kriens (aQute).
- That original work was licensed under the EPL v1.0 and this derivative work is similarly licensed.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.updatechecker/build.properties b/bundles/org.eclipse.equinox.p2.updatechecker/build.properties
deleted file mode 100644
index dc77b9c..0000000
--- a/bundles/org.eclipse.equinox.p2.updatechecker/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- about.html,\
- plugin.properties
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.p2.updatechecker/plugin.properties b/bundles/org.eclipse.equinox.p2.updatechecker/plugin.properties
deleted file mode 100644
index 59fbc0a..0000000
--- a/bundles/org.eclipse.equinox.p2.updatechecker/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Equinox Provisioning Update Checker
-providerName = Eclipse.org
diff --git a/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/p2/updatechecker/Activator.java b/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/p2/updatechecker/Activator.java
deleted file mode 100644
index 9b56f6d..0000000
--- a/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/p2/updatechecker/Activator.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.updatechecker;
-
-import org.eclipse.equinox.internal.provisional.p2.updatechecker.IUpdateChecker;
-import org.osgi.framework.*;
-
-/**
- * Activator class that registers the update checker service.
- */
-public class Activator implements BundleActivator {
-
- private static BundleContext context;
- private ServiceRegistration registrationChecker;
-
- public static BundleContext getContext() {
- return context;
- }
-
- public void start(BundleContext bundleContext) throws Exception {
- Activator.context = bundleContext;
- registrationChecker = context.registerService(IUpdateChecker.SERVICE_NAME, new UpdateChecker(), null);
- }
-
- public void stop(BundleContext bundleContext) throws Exception {
- registrationChecker.unregister();
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/p2/updatechecker/UpdateChecker.java b/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/p2/updatechecker/UpdateChecker.java
deleted file mode 100644
index 7611262..0000000
--- a/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/p2/updatechecker/UpdateChecker.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.updatechecker;
-
-import java.net.URL;
-import java.text.SimpleDateFormat;
-import java.util.*;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.query.Query;
-import org.eclipse.equinox.internal.provisional.p2.updatechecker.*;
-
-/**
- * Default implementation of {@link IUpdateChecker}.
- * <p>
- * This implementation is not optimized. It doesn't optimize for multiple
- * polls on the same profile, nor does it cache any info about a profile from
- * poll to poll.
- */
-public class UpdateChecker implements IUpdateChecker {
- public static boolean DEBUG = false;
- public static boolean TRACE = false;
- private HashSet checkers = new HashSet(); // threads
- IProfileRegistry profileRegistry;
- IPlanner planner;
-
- private class UpdateCheckThread extends Thread {
- boolean done = false;
- long poll, delay;
- IUpdateListener listener;
- String profileId;
- Query query;
-
- UpdateCheckThread(String profileId, Query query, long delay, long poll, IUpdateListener listener) {
- this.poll = poll;
- this.delay = delay;
- this.profileId = profileId;
- this.query = query;
- this.listener = listener;
- }
-
- public void run() {
- try {
- if (delay != ONE_TIME_CHECK && delay > 0) {
- Thread.sleep(delay);
- }
- while (!done) {
-
- log("Checking for updates for " + profileId + " at " + getTimeStamp()); //$NON-NLS-1$ //$NON-NLS-2$
- IInstallableUnit[] iusWithUpdates = checkForUpdates(profileId, query);
- if (iusWithUpdates.length > 0) {
- log("Notifying listener of available updates"); //$NON-NLS-1$
- UpdateEvent event = new UpdateEvent(profileId, iusWithUpdates);
- if (!done)
- listener.updatesAvailable(event);
- } else {
- log("No updates were available"); //$NON-NLS-1$
- }
- if (delay == ONE_TIME_CHECK || delay <= 0) {
- done = true;
- } else {
- Thread.sleep(poll);
- }
- }
- } catch (InterruptedException e) {
- // nothing
- } catch (Exception e) {
- log("Exception in update check thread", e); //$NON-NLS-1$
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.updatechecker.IUpdateChecker#addUpdateCheck(java.lang.String, long, long, org.eclipse.equinox.internal.provisional.p2.updatechecker.IUpdateListener)
- */
- public void addUpdateCheck(String profileId, Query query, long delay, long poll, IUpdateListener listener) {
- log("Adding update checker for " + profileId + " at " + getTimeStamp()); //$NON-NLS-1$ //$NON-NLS-2$
- UpdateCheckThread thread = new UpdateCheckThread(profileId, query, delay, poll, listener);
- checkers.add(thread);
- thread.start();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.p2.updatechecker.IUpdateChecker#removeUpdateCheck(org.eclipse.equinox.internal.provisional.p2.updatechecker.IUpdateListener)
- */
- public void removeUpdateCheck(IUpdateListener listener) {
- Iterator iter = checkers.iterator();
- while (iter.hasNext()) {
- UpdateCheckThread thread = (UpdateCheckThread) iter.next();
- if (thread.listener == listener) {
- thread.done = true;
- checkers.remove(thread);
- break;
- }
- }
- }
-
- /*
- * Return the array of ius in the profile that have updates
- * available.
- */
- IInstallableUnit[] checkForUpdates(String profileId, Query query) {
- IProfile profile = getProfileRegistry().getProfile(profileId);
- ArrayList iusWithUpdates = new ArrayList();
- if (profile == null)
- return new IInstallableUnit[0];
- ProvisioningContext context = new ProvisioningContext(getAvailableRepositories());
- if (query == null)
- query = InstallableUnitQuery.ANY;
- Iterator iter = profile.query(query, new Collector(), null).iterator();
- while (iter.hasNext()) {
- IInstallableUnit iu = (IInstallableUnit) iter.next();
- IInstallableUnit[] replacements = getPlanner().updatesFor(iu, context, null);
- if (replacements.length > 0)
- iusWithUpdates.add(iu);
- }
- return (IInstallableUnit[]) iusWithUpdates.toArray(new IInstallableUnit[iusWithUpdates.size()]);
- }
-
- /**
- * Returns the list of metadata repositories that are currently available.
- */
- private URL[] getAvailableRepositories() {
- IMetadataRepositoryManager repoMgr = (IMetadataRepositoryManager) ServiceHelper.getService(Activator.getContext(), IMetadataRepositoryManager.class.getName());
- URL[] repositories = repoMgr.getKnownRepositories(IMetadataRepositoryManager.REPOSITORIES_ALL);
- ArrayList available = new ArrayList();
- for (int i = 0; i < repositories.length; i++) {
- try {
- repoMgr.loadRepository(repositories[i], null);
- available.add(repositories[i]);
- } catch (ProvisionException e) {
- //ignore unavailable repository
- }
- }
- return (URL[]) available.toArray(new URL[available.size()]);
- }
-
- void log(String string, Throwable e) {
- System.err.println(string + ": " + e); //$NON-NLS-1$
- if (DEBUG)
- e.printStackTrace();
- }
-
- void log(String string) {
- if (TRACE)
- System.out.println(string);
- }
-
- String getTimeStamp() {
- Date d = new Date();
- SimpleDateFormat df = new SimpleDateFormat("[MM/dd/yy;HH:mm:ss:SSS]"); //$NON-NLS-1$
- return df.format(d);
- }
-
- IPlanner getPlanner() {
- if (planner == null) {
- planner = (IPlanner) ServiceHelper.getService(Activator.getContext(), IPlanner.class.getName());
- if (planner == null) {
- throw new IllegalStateException("Provisioning system has not been initialized"); //$NON-NLS-1$
- }
- }
- return planner;
- }
-
- IProfileRegistry getProfileRegistry() {
- if (profileRegistry == null) {
- profileRegistry = (IProfileRegistry) ServiceHelper.getService(Activator.getContext(), IProfileRegistry.class.getName());
- if (profileRegistry == null) {
- throw new IllegalStateException("Provisioning system has not been initialized"); //$NON-NLS-1$
- }
- }
- return profileRegistry;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/provisional/p2/updatechecker/IUpdateChecker.java b/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/provisional/p2/updatechecker/IUpdateChecker.java
deleted file mode 100644
index a343d78..0000000
--- a/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/provisional/p2/updatechecker/IUpdateChecker.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.updatechecker;
-
-import org.eclipse.equinox.internal.provisional.p2.query.Query;
-
-/**
- * An UpdateChecker periodically polls for updates to specified profiles and
- * informs listeners if updates are available. Listeners may then determine
- * whether to retrieve the updates, inform the user, etc.
- */
-public interface IUpdateChecker {
- public static final String SERVICE_NAME = IUpdateChecker.class.getName();
- public static long ONE_TIME_CHECK = -1L;
-
- public abstract void addUpdateCheck(String profileId, Query iusToCheckQuery, long delay, long poll, IUpdateListener listener);
-
- public abstract void removeUpdateCheck(IUpdateListener listener);
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/provisional/p2/updatechecker/IUpdateListener.java b/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/provisional/p2/updatechecker/IUpdateListener.java
deleted file mode 100644
index 7cde636..0000000
--- a/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/provisional/p2/updatechecker/IUpdateListener.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.updatechecker;
-
-/**
- * An IUpdateListener informs listeners that an update is available for
- * the specified profile. Listeners should expect to receive this notification
- * from a background thread.
- */
-public interface IUpdateListener {
-
- public void updatesAvailable(UpdateEvent event);
-}
diff --git a/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/provisional/p2/updatechecker/UpdateEvent.java b/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/provisional/p2/updatechecker/UpdateEvent.java
deleted file mode 100644
index 187b32c..0000000
--- a/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/provisional/p2/updatechecker/UpdateEvent.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.updatechecker;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-
-/**
- * An UpdateEvent describes what IU's have updates for a given profile.
- */
-public class UpdateEvent {
-
- String profileId;
- IInstallableUnit[] iusWithUpdates;
-
- public UpdateEvent(String profileId, IInstallableUnit[] iusWithUpdates) {
- this.profileId = profileId;
- this.iusWithUpdates = iusWithUpdates;
- }
-
- public IInstallableUnit[] getIUs() {
- return iusWithUpdates;
- }
-
- public String getProfileId() {
- return profileId;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/.classpath b/bundles/org.eclipse.equinox.p2.updatesite/.classpath
deleted file mode 100644
index 2fbb7a2..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/.cvsignore b/bundles/org.eclipse.equinox.p2.updatesite/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/.project b/bundles/org.eclipse.equinox.p2.updatesite/.project
deleted file mode 100644
index ca9b4f3..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.equinox.p2.updatesite</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.updatesite/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 8899d02..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,345 +0,0 @@
-#Fri Feb 22 11:06:50 EST 2008
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.updatesite/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 38d7fa9..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Mon Nov 05 17:01:21 EST 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.updatesite/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 7913d20..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.updatesite/META-INF/MANIFEST.MF
deleted file mode 100644
index fe89781..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,41 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.equinox.p2.updatesite;singleton:=true
-Bundle-Localization: plugin
-Bundle-Version: 1.0.1.qualifier
-Bundle-Activator: org.eclipse.equinox.internal.p2.updatesite.Activator
-Eclipse-LazyStart: true
-Import-Package: org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.p2.metadata.generator.features,
- org.eclipse.equinox.internal.provisional.p2.artifact.repository,
- org.eclipse.equinox.internal.provisional.p2.core,
- org.eclipse.equinox.internal.provisional.p2.core.eventbus,
- org.eclipse.equinox.internal.provisional.p2.core.repository,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.internal.provisional.p2.metadata.generator,
- org.eclipse.equinox.internal.provisional.p2.metadata.repository,
- org.eclipse.equinox.internal.provisional.p2.query,
- org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository,
- org.eclipse.equinox.internal.provisional.spi.p2.core.repository,
- org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository,
- org.eclipse.equinox.security.storage,
- org.eclipse.osgi.service.resolver;version="1.2.0",
- org.eclipse.osgi.signedcontent;version="1.0.0",
- org.eclipse.osgi.util;version="1.1.0",
- org.osgi.framework;version="1.3.0",
- org.osgi.util.tracker;version="1.3.0",
- org.xml.sax,
- org.xml.sax.helpers
-Require-Bundle: org.eclipse.ecf.filetransfer,
- org.eclipse.ecf,
- org.eclipse.equinox.common;bundle-version="[3.3.0,4.0.0)",
- org.eclipse.equinox.p2.metadata.repository;bundle-version="0.1.0",
- org.eclipse.equinox.p2.artifact.repository;bundle-version="0.1.0",
- org.eclipse.core.jobs;bundle-version="[3.2.0,4.0.0)"
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,
- CDC-1.1/Foundation-1.1
-Export-Package: org.eclipse.equinox.internal.p2.updatesite;x-internal:=true,
- org.eclipse.equinox.internal.p2.updatesite.artifact;x-internal:=true,
- org.eclipse.equinox.internal.p2.updatesite.metadata;x-internal:=true
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/about.html b/bundles/org.eclipse.equinox.p2.updatesite/about.html
deleted file mode 100644
index d62785d..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/about.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 2, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
- <h3>Third Party Content</h3>
- <p>The Content includes items that have been sourced from third parties as set out below. If you
- did not receive this Content directly from the Eclipse Foundation, the following is provided
- for informational purposes only, and you should look to the Redistributor's license for
- terms and conditions of use.</p>
-
- <h4>FileInstall 1.0</h4>
- <p>The bundle includes derivative works of software originally developed by Peter Kriens (aQute).
- That original work was licensed under the EPL v1.0 and this derivative work is similarly licensed.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/build.properties b/bundles/org.eclipse.equinox.p2.updatesite/build.properties
deleted file mode 100644
index f6b01e5..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.xml,\
- plugin.properties,\
- about.html
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/plugin.properties b/bundles/org.eclipse.equinox.p2.updatesite/plugin.properties
deleted file mode 100644
index c364054..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Update site repository adapter bundle (Incubation)
-providerName = Eclipse.org
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/plugin.xml b/bundles/org.eclipse.equinox.p2.updatesite/plugin.xml
deleted file mode 100644
index 5a8e120..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/plugin.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
- <extension
- id="metadataRepository"
- point="org.eclipse.equinox.p2.metadata.repository.metadataRepositories">
- <factory
- class="org.eclipse.equinox.internal.p2.updatesite.metadata.UpdateSiteMetadataRepositoryFactory">
- </factory>
- <filter
- suffix="site.xml">
- </filter>
- </extension>
- <extension
- id="artifactRepository"
- point="org.eclipse.equinox.p2.artifact.repository.artifactRepositories">
- <factory
- class="org.eclipse.equinox.internal.p2.updatesite.artifact.UpdateSiteArtifactRepositoryFactory">
- </factory>
- <filter
- suffix="site.xml">
- </filter>
- </extension>
-</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/Activator.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/Activator.java
deleted file mode 100644
index 79f37a3..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/Activator.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.updatesite;
-
-import java.io.File;
-import java.net.URL;
-import org.eclipse.equinox.internal.p2.core.helpers.URLUtil;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-
- public static String ID = "org.eclipse.equinox.p2.updatesite"; //$NON-NLS-1$
- private static BundleContext bundleContext;
-
- /* (non-Javadoc)
- * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
- */
- public void start(BundleContext context) throws Exception {
- setBundleContext(context);
- }
-
- /* (non-Javadoc)
- * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
- */
- public void stop(BundleContext context) throws Exception {
- setBundleContext(null);
- }
-
- public synchronized static void setBundleContext(BundleContext bundleContext) {
- Activator.bundleContext = bundleContext;
- }
-
- public synchronized static BundleContext getBundleContext() {
- return bundleContext;
- }
-
- /**
- * Returns a reasonable human-readable repository name for the given location.
- */
- public static String getRepositoryName(URL location) {
- File file = URLUtil.toFile(location);
- return file == null ? location.toExternalForm() : file.getAbsolutePath();
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/ECFTransport.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/ECFTransport.java
deleted file mode 100644
index 4ba2a66..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/ECFTransport.java
+++ /dev/null
@@ -1,400 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * compeople AG (Stefan Liebig) - various ongoing maintenance
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.updatesite;
-
-import java.io.*;
-import java.net.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.ecf.core.*;
-import org.eclipse.ecf.core.security.ConnectContextFactory;
-import org.eclipse.ecf.core.security.IConnectContext;
-import org.eclipse.ecf.filetransfer.*;
-import org.eclipse.ecf.filetransfer.events.*;
-import org.eclipse.ecf.filetransfer.identity.FileCreateException;
-import org.eclipse.ecf.filetransfer.identity.FileIDFactory;
-import org.eclipse.ecf.filetransfer.service.IRetrieveFileTransferFactory;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IStateful;
-import org.eclipse.equinox.internal.provisional.p2.core.IServiceUI;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.IServiceUI.AuthenticationInfo;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository;
-import org.eclipse.equinox.security.storage.*;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.util.tracker.ServiceTracker;
-
-/**
- * A transport implementation that uses ECF file transfer API.
- */
-public class ECFTransport {
- /**
- * The number of password retry attempts allowed before failing.
- */
- private static final int LOGIN_RETRIES = 3;
-
- private static final ProtocolException ERROR_401 = new ProtocolException();
-
- private static final String SERVER_REDIRECT = "Server redirected too many times"; //$NON-NLS-1$
-
- /**
- * The singleton transport instance.
- */
- private static ECFTransport instance;
-
- /**
- * A job that waits on a barrier.
- */
- static class WaitJob extends Job {
- private final Object[] barrier;
-
- /**
- * Creates a wait job.
- * @param location A location string that is used in the job name
- * @param barrier The job will wait until the first entry in the barrier is non-null
- */
- WaitJob(String location, Object[] barrier) {
- super(NLS.bind(Messages.repo_loading, location));
- this.barrier = barrier;
- setSystem(true);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
- */
- protected IStatus run(IProgressMonitor monitor) {
- synchronized (barrier) {
- while (barrier[0] == null) {
- try {
- barrier.wait();
- } catch (InterruptedException e) {
- //ignore
- }
- }
- }
- return Status.OK_STATUS;
- }
- }
-
- private final ServiceTracker retrievalFactoryTracker;
-
- /**
- * Returns an initialized instance of ECFTransport
- */
- public static synchronized ECFTransport getInstance() {
- if (instance == null) {
- instance = new ECFTransport();
- }
- return instance;
- }
-
- /**
- * Private to avoid client instantiation.
- */
- private ECFTransport() {
- retrievalFactoryTracker = new ServiceTracker(Activator.getBundleContext(), IRetrieveFileTransferFactory.class.getName(), null);
- retrievalFactoryTracker.open();
- }
-
- /**
- * Gets the last modified date for the specified file.
- * @param location - The URL location of the file.
- * @return A <code>long</code> representing the date. Returns <code>0</code> if the file is not found or an error occurred.
- * @exception OperationCanceledException if the request was canceled.
- */
- public long getLastModified(URL location) throws ProvisionException {
- String locationString = location.toExternalForm();
- try {
- IConnectContext context = getConnectionContext(locationString, false);
- for (int i = 0; i < LOGIN_RETRIES; i++) {
- try {
- return doGetLastModified(locationString, context);
- } catch (ProtocolException e) {
- if (ERROR_401 == e)
- context = getConnectionContext(locationString, true);
- } catch (Exception e) {
- e.getMessage();
- }
- }
- } catch (UserCancelledException e) {
- throw new OperationCanceledException();
- }
- //too many retries, so report as failure
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_AUTHENTICATION, NLS.bind(Messages.io_failedRead, locationString), null));
- }
-
- /**
- * Perform the ECF call to get the last modified time, failing if there is any
- * protocol failure such as an authentication failure.
- */
- private long doGetLastModified(String location, IConnectContext context) throws ProtocolException {
- IContainer container;
- try {
- container = ContainerFactory.getDefault().createContainer();
- } catch (ContainerCreateException e) {
- return 0;
- }
- IRemoteFileSystemBrowserContainerAdapter adapter = (IRemoteFileSystemBrowserContainerAdapter) container.getAdapter(IRemoteFileSystemBrowserContainerAdapter.class);
- if (adapter == null) {
- return 0;
- }
- IRemoteFile remoteFile = checkFile(adapter, location, context);
- if (remoteFile == null) {
- return 0;
- }
- return remoteFile.getInfo().getLastModified();
- }
-
- /**
- * Downloads the contents of the given URL to the given output stream. The
- * destination stream will be closed by this method whether it succeeds
- * to download or not.
- */
- public IStatus download(String url, OutputStream destination, IProgressMonitor monitor) {
- try {
- IConnectContext context = getConnectionContext(url, false);
- for (int i = 0; i < LOGIN_RETRIES; i++) {
- try {
- return performDownload(url, destination, context, monitor);
- } catch (ProtocolException e) {
- if (e == ERROR_401)
- context = getConnectionContext(url, true);
- }
- }
- } catch (UserCancelledException e) {
- return Status.CANCEL_STATUS;
- } catch (ProvisionException e) {
- return e.getStatus();
- } finally {
- try {
- destination.close();
- } catch (IOException e) {
- //ignore secondary failure
- }
- }
- //reached maximum number of retries without success
- return new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_AUTHENTICATION, NLS.bind(Messages.io_failedRead, url), null);
- }
-
- public IStatus performDownload(String toDownload, OutputStream target, IConnectContext context, IProgressMonitor monitor) throws ProtocolException {
- IRetrieveFileTransferFactory factory = (IRetrieveFileTransferFactory) retrievalFactoryTracker.getService();
- if (factory == null)
- return statusOn(target, new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.io_failedRead, toDownload)));
-
- return transfer(factory.newInstance(), toDownload, target, context, monitor);
- }
-
- private IRemoteFile checkFile(final IRemoteFileSystemBrowserContainerAdapter retrievalContainer, final String location, IConnectContext context) throws ProtocolException {
- final Object[] result = new Object[2];
- final Object FAIL = new Object();
- IRemoteFileSystemListener listener = new IRemoteFileSystemListener() {
- public void handleRemoteFileEvent(IRemoteFileSystemEvent event) {
- Exception exception = event.getException();
- if (exception != null) {
- synchronized (result) {
- result[0] = FAIL;
- result[1] = exception;
- result.notify();
- }
- } else if (event instanceof IRemoteFileSystemBrowseEvent) {
- IRemoteFileSystemBrowseEvent fsbe = (IRemoteFileSystemBrowseEvent) event;
- IRemoteFile[] remoteFiles = fsbe.getRemoteFiles();
- if (remoteFiles != null && remoteFiles.length > 0 && remoteFiles[0] != null) {
- synchronized (result) {
- result[0] = remoteFiles[0];
- result.notify();
- }
- } else {
- synchronized (result) {
- result[0] = FAIL;
- result.notify();
- }
- }
- }
- }
- };
- try {
- retrievalContainer.setConnectContextForAuthentication(context);
- retrievalContainer.sendBrowseRequest(FileIDFactory.getDefault().createFileID(retrievalContainer.getBrowseNamespace(), location), listener);
- } catch (RemoteFileSystemException e) {
- return null;
- } catch (FileCreateException e) {
- return null;
- }
- waitFor(location, result);
- if (result[0] == FAIL && result[1] instanceof IOException) {
- IOException ioException = (IOException) result[1];
- //throw a special exception for authentication failure so we know to prompt for username/password
- String message = ioException.getMessage();
- if (message != null && (message.indexOf(" 401 ") != -1 || message.indexOf(SERVER_REDIRECT) != -1)) //$NON-NLS-1$
- throw ERROR_401;
- }
- if (result[0] instanceof IRemoteFile)
- return (IRemoteFile) result[0];
- return null;
- }
-
- private IStatus transfer(final IRetrieveFileTransferContainerAdapter retrievalContainer, final String toDownload, final OutputStream target, IConnectContext context, final IProgressMonitor monitor) throws ProtocolException {
- final IStatus[] result = new IStatus[1];
- IFileTransferListener listener = new IFileTransferListener() {
- public void handleTransferEvent(IFileTransferEvent event) {
- if (event instanceof IIncomingFileTransferReceiveStartEvent) {
- IIncomingFileTransferReceiveStartEvent rse = (IIncomingFileTransferReceiveStartEvent) event;
- try {
- if (target != null) {
- rse.receive(target);
- }
- } catch (IOException e) {
- IStatus status = convertToStatus(e);
- synchronized (result) {
- result[0] = status;
- result.notify();
- }
- }
- }
- if (event instanceof IIncomingFileTransferReceiveDataEvent) {
- IIncomingFileTransfer source = ((IIncomingFileTransferReceiveDataEvent) event).getSource();
- if (monitor != null) {
- if (monitor.isCanceled())
- source.cancel();
- }
- }
- if (event instanceof IIncomingFileTransferReceiveDoneEvent) {
- Exception exception = ((IIncomingFileTransferReceiveDoneEvent) event).getException();
- IStatus status = convertToStatus(exception);
- synchronized (result) {
- result[0] = status;
- result.notify();
- }
- }
- }
- };
-
- try {
- retrievalContainer.setConnectContextForAuthentication(context);
- retrievalContainer.sendRetrieveRequest(FileIDFactory.getDefault().createFileID(retrievalContainer.getRetrieveNamespace(), toDownload), listener, null);
- } catch (IncomingFileTransferException e) {
- IStatus status = e.getStatus();
- Throwable exception = status.getException();
- if (exception instanceof IOException) {
- if (exception.getMessage() != null && (exception.getMessage().indexOf("401") != -1 || exception.getMessage().indexOf(SERVER_REDIRECT) != -1)) //$NON-NLS-1$
- throw ERROR_401;
- }
- return statusOn(target, status);
- } catch (FileCreateException e) {
- return statusOn(target, e.getStatus());
- }
- waitFor(toDownload, result);
- return statusOn(target, result[0]);
- }
-
- /**
- * Returns the connection context for the given URL. This may prompt the
- * user for user name and password as required.
- *
- * @param xmlLocation - the file location requiring login details
- * @param prompt - use <code>true</code> to prompt the user instead of
- * looking at the secure preference store for login, use <code>false</code>
- * to only try the secure preference store
- * @throws UserCancelledException when the user cancels the login prompt
- * @throws ProvisionException if the password cannot be read or saved
- * @return The connection context
- */
- public IConnectContext getConnectionContext(String xmlLocation, boolean prompt) throws UserCancelledException, ProvisionException {
- ISecurePreferences securePreferences = SecurePreferencesFactory.getDefault();
- IPath hostLocation = new Path(xmlLocation).removeLastSegments(1);
- String nodeKey;
- try {
- nodeKey = URLEncoder.encode(hostLocation.toString(), "UTF-8"); //$NON-NLS-1$
- } catch (UnsupportedEncodingException e2) {
- //fall back to default platform encoding
- nodeKey = URLEncoder.encode(hostLocation.toString());
- }
- String nodeName = IRepository.PREFERENCE_NODE + '/' + nodeKey;
- ISecurePreferences prefNode = null;
- if (securePreferences.nodeExists(nodeName))
- prefNode = securePreferences.node(nodeName);
- if (!prompt) {
- if (prefNode == null)
- return null;
- try {
- String username = prefNode.get(IRepository.PROP_USERNAME, null);
- String password = prefNode.get(IRepository.PROP_PASSWORD, null);
- //if we don't have stored connection data just return a null connection context
- if (username == null || password == null)
- return null;
- return ConnectContextFactory.createUsernamePasswordConnectContext(username, password);
- } catch (StorageException e) {
- String msg = NLS.bind(Messages.repoMan_internalError, xmlLocation.toString());
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.INTERNAL_ERROR, msg, null));
- }
- }
- //need to prompt user for user name and password
- ServiceTracker adminUITracker = new ServiceTracker(Activator.getBundleContext(), IServiceUI.class.getName(), null);
- adminUITracker.open();
- IServiceUI adminUIService = (IServiceUI) adminUITracker.getService();
- AuthenticationInfo loginDetails = null;
- if (adminUIService != null)
- loginDetails = adminUIService.getUsernamePassword(hostLocation.toString());
- //null result means user canceled password dialog
- if (loginDetails == null)
- throw new UserCancelledException();
- //save user name and password if requested by user
- if (loginDetails.saveResult()) {
- if (prefNode == null)
- prefNode = securePreferences.node(nodeName);
- try {
- prefNode.put(IRepository.PROP_USERNAME, loginDetails.getUserName(), true);
- prefNode.put(IRepository.PROP_PASSWORD, loginDetails.getPassword(), true);
- prefNode.flush();
- } catch (StorageException e1) {
- String msg = NLS.bind(Messages.repoMan_internalError, xmlLocation.toString());
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.INTERNAL_ERROR, msg, null));
- } catch (IOException e) {
- String msg = NLS.bind(Messages.repoMan_internalError, xmlLocation.toString());
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.INTERNAL_ERROR, msg, null));
- }
- }
- return ConnectContextFactory.createUsernamePasswordConnectContext(loginDetails.getUserName(), loginDetails.getPassword());
- }
-
- protected IStatus convertToStatus(Exception e) {
- if (e == null)
- return Status.OK_STATUS;
- if (e instanceof UserCancelledException)
- return new Status(IStatus.CANCEL, Activator.ID, e.getMessage(), e);
- return new Status(IStatus.ERROR, Activator.ID, e.getMessage(), e);
- }
-
- private static IStatus statusOn(OutputStream target, IStatus status) {
- if (target instanceof IStateful)
- ((IStateful) target).setStatus(status);
- return status;
- }
-
- /**
- * Waits until the first entry in the given array is non-null.
- */
- private void waitFor(String location, Object[] barrier) {
- WaitJob wait = new WaitJob(location, barrier);
- wait.schedule();
- while (barrier[0] == null) {
- boolean logged = false;
- try {
- wait.join();
- } catch (InterruptedException e) {
- if (!logged)
- LogHelper.log(new Status(IStatus.WARNING, Activator.ID, "Unexpected interrupt while waiting on ECF transfer", e)); //$NON-NLS-1$
- }
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/Messages.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/Messages.java
deleted file mode 100644
index a32485c..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/Messages.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.equinox.internal.p2.updatesite;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * @since 1.0
- */
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.updatesite.messages"; //$NON-NLS-1$
-
- public static String ErrorCreatingRepository;
- public static String ErrorReadingDigest;
- public static String ErrorReadingFeature;
- public static String ErrorReadingSite;
- public static String InvalidRepositoryLocation;
- public static String MalformedArchiveURL;
- public static String PlatformAdminNotRegistered;
-
- public static String io_failedRead;
- public static String repo_loading;
-
- public static String repoMan_internalError;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- // prevent instantiation
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/UpdateSite.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/UpdateSite.java
deleted file mode 100644
index d36aa15..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/UpdateSite.java
+++ /dev/null
@@ -1,496 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.updatesite;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.zip.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.URLUtil;
-import org.eclipse.equinox.internal.p2.metadata.generator.features.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.*;
-import org.eclipse.osgi.util.NLS;
-import org.xml.sax.SAXException;
-
-/**
- * @since 1.0
- */
-public class UpdateSite {
-
- private static final String VERSION_SEPARATOR = "_"; //$NON-NLS-1$
- private static final String JAR_EXTENSION = ".jar"; //$NON-NLS-1$
- private static final String FEATURE_DIR = "features/"; //$NON-NLS-1$
- private static final String PLUGIN_DIR = "plugins/"; //$NON-NLS-1$
- private static final String FEATURE_TEMP_FILE = "feature"; //$NON-NLS-1$
- private static final String SITE_FILE = "site.xml"; //$NON-NLS-1$
- private static final String DIR_SEPARATOR = "/"; //$NON-NLS-1$
- private static final String PROTOCOL_FILE = "file"; //$NON-NLS-1$
- private static final int RETRY_COUNT = 2;
- private static final String DOT_XML = ".xml"; //$NON-NLS-1$
- private static final String SITE = "site"; //$NON-NLS-1$
- private String checksum;
- private URL location;
- private SiteModel site;
-
- /*
- * Some variables for caching.
- */
- // map of String (URL.toExternalForm()) to UpdateSite
- private static Map siteCache = new HashMap();
- // map of String (featureID_featureVersion) to Feature
- private Map featureCache = new HashMap();
-
- /*
- * Return a new URL for the given file which is based from the specified root.
- */
- public static URL getFileURL(URL root, String fileName) throws MalformedURLException {
- String path = root.getPath();
- if (path.endsWith(fileName))
- return root;
-
- if (constainsUpdateSiteFileName(path))
- return new URL(root, fileName);
-
- if (path.endsWith(DIR_SEPARATOR))
- return new URL(root.toExternalForm() + fileName);
- return new URL(root.toExternalForm() + DIR_SEPARATOR + fileName);
- }
-
- /*
- * Return a URL based on the given URL, which points to a site.xml file.
- */
- private static URL getSiteURL(URL url) throws MalformedURLException {
- String path = url.getPath();
- if (constainsUpdateSiteFileName(path))
- return url;
-
- if (path.endsWith(DIR_SEPARATOR))
- return new URL(url.toExternalForm() + SITE_FILE);
- return new URL(url.toExternalForm() + DIR_SEPARATOR + SITE_FILE);
- }
-
- private static boolean constainsUpdateSiteFileName(String path) {
- if (path.endsWith(DOT_XML)) {
- int lastSlash = path.lastIndexOf('/');
- String lastSegment = lastSlash == -1 ? path : path.substring(lastSlash + 1);
- if (lastSegment.indexOf(SITE) != -1)
- return true;
- }
- return false;
- }
-
- /*
- * Load and return an update site object from the given location.
- */
- public static synchronized UpdateSite load(URL location, IProgressMonitor monitor) throws ProvisionException {
- if (location == null)
- return null;
- UpdateSite result = (UpdateSite) siteCache.get(location.toExternalForm());
- if (result != null)
- return result;
- InputStream input = null;
- File siteFile = loadSiteFile(location, monitor);
- try {
- DefaultSiteParser siteParser = new DefaultSiteParser();
- Checksum checksum = new CRC32();
- input = new CheckedInputStream(new BufferedInputStream(new FileInputStream(siteFile)), checksum);
- SiteModel siteModel = siteParser.parse(input);
- String checksumString = Long.toString(checksum.getValue());
- result = new UpdateSite(siteModel, getSiteURL(location), checksumString);
- siteCache.put(location.toExternalForm(), result);
- return result;
- } catch (SAXException e) {
- String msg = NLS.bind(Messages.ErrorReadingSite, location);
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_READ, msg, e));
- } catch (IOException e) {
- String msg = NLS.bind(Messages.ErrorReadingSite, location);
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_READ, msg, e));
- } finally {
- try {
- if (input != null)
- input.close();
- } catch (IOException e) {
- // ignore
- }
- if (!PROTOCOL_FILE.equals(location.getProtocol()))
- siteFile.delete();
- }
- }
-
- /**
- * Returns a local file containing the contents of the update site at the given location.
- */
- private static File loadSiteFile(URL location, IProgressMonitor monitor) throws ProvisionException {
- Throwable failure;
- File siteFile = null;
- IStatus transferResult;
- boolean deleteSiteFile = false;
- try {
- URL actualLocation = getSiteURL(location);
- if (PROTOCOL_FILE.equals(actualLocation.getProtocol())) {
- siteFile = new File(actualLocation.getPath());
- if (siteFile.exists())
- transferResult = Status.OK_STATUS;
- else {
- String msg = NLS.bind(Messages.ErrorReadingSite, location);
- transferResult = new Status(IStatus.ERROR, Activator.ID, msg, new FileNotFoundException(siteFile.getAbsolutePath()));
- }
- } else {
- // creating a temp file. In the event of an error we want to delete it.
- deleteSiteFile = true;
- siteFile = File.createTempFile("site", ".xml"); //$NON-NLS-1$//$NON-NLS-2$
- OutputStream destination = new BufferedOutputStream(new FileOutputStream(siteFile));
- transferResult = getTransport().download(actualLocation.toExternalForm(), destination, monitor);
- }
- if (transferResult.isOK()) {
- // successful. If the siteFile is the download of a remote site.xml it will get cleaned up later
- deleteSiteFile = false;
- return siteFile;
- }
- failure = transferResult.getException();
- } catch (IOException e) {
- failure = e;
- } finally {
- if (deleteSiteFile && siteFile != null)
- siteFile.delete();
- }
- int code = (failure instanceof FileNotFoundException) ? ProvisionException.REPOSITORY_NOT_FOUND : ProvisionException.REPOSITORY_FAILED_READ;
- String msg = NLS.bind(Messages.ErrorReadingSite, location);
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, code, msg, failure));
- }
-
- /*
- * Parse the feature.xml specified by the given input stream and return the feature object.
- * In case of failure, the failure is logged and null is returned
- */
- private static Feature parseFeature(FeatureParser featureParser, URL featureURL) {
- File featureFile = null;
- if (PROTOCOL_FILE.equals(featureURL.getProtocol())) {
- featureFile = new File(featureURL.getPath());
- return featureParser.parse(featureFile);
- }
- try {
- featureFile = File.createTempFile(FEATURE_TEMP_FILE, JAR_EXTENSION);
- IStatus transferResult = null;
- //try the download twice in case of transient network problems
- for (int i = 0; i < RETRY_COUNT; i++) {
- OutputStream destination = new BufferedOutputStream(new FileOutputStream(featureFile));
- transferResult = getTransport().download(featureURL.toExternalForm(), destination, null);
- if (transferResult.isOK())
- break;
- }
- if (!transferResult.isOK()) {
- LogHelper.log(new ProvisionException(transferResult));
- return null;
- }
- return featureParser.parse(featureFile);
- } catch (IOException e) {
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.ErrorReadingFeature, featureURL), e));
- } finally {
- if (featureFile != null)
- featureFile.delete();
- }
- return null;
- }
-
- /*
- * Throw an exception if the site pointed to by the given URL is not valid.
- */
- public static void validate(URL url, IProgressMonitor monitor) throws ProvisionException {
- try {
- URL siteURL = getSiteURL(url);
- long lastModified = getTransport().getLastModified(siteURL);
- if (lastModified == 0) {
- String msg = NLS.bind(Messages.ErrorReadingSite, url);
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_READ, msg, null));
- }
- } catch (MalformedURLException e) {
- String msg = NLS.bind(Messages.ErrorReadingSite, url);
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_READ, msg, e));
- }
- }
-
- /*
- * Constructor for the class.
- */
- private UpdateSite(SiteModel site, URL location, String checksum) {
- super();
- this.site = site;
- this.location = location;
- this.checksum = checksum;
- }
-
- /*
- * Iterate over the archive entries in this site and return the matching URL string for
- * the given identifier, if there is one.
- */
- private URL getArchiveURL(URL base, String identifier) {
- URLEntry[] archives = site.getArchives();
- for (int i = 0; archives != null && i < archives.length; i++) {
- URLEntry entry = archives[i];
- if (identifier.equals(entry.getAnnotation()))
- return internalGetURL(base, entry.getURL());
- }
- return null;
- }
-
- /*
- * Return the checksum for this site.
- */
- public String getChecksum() {
- return checksum;
- }
-
- /*
- * Return a URL which represents the location of the given feature.
- */
- public URL getSiteFeatureURL(SiteFeature siteFeature) {
- URL url = siteFeature.getURL();
- if (url != null)
- return url;
-
- URL base = getBaseURL();
- String featureURLString = siteFeature.getURLString();
- return internalGetURL(base, featureURLString);
- }
-
- /*
- * Return a URL which represents the location of the given feature.
- */
- public URL getFeatureURL(String id, String version) {
- SiteFeature[] entries = site.getFeatures();
- for (int i = 0; i < entries.length; i++) {
- if (id.equals(entries[i].getFeatureIdentifier()) && version.equals(entries[i].getFeatureVersion())) {
- return getSiteFeatureURL(entries[i]);
- }
- }
-
- URL base = getBaseURL();
- URL url = getArchiveURL(base, FEATURE_DIR + id + VERSION_SEPARATOR + version + JAR_EXTENSION);
- if (url != null)
- return url;
-
- // fall through to default URL
- try {
- return getFileURL(base, FEATURE_DIR + id + VERSION_SEPARATOR + version + JAR_EXTENSION);
- } catch (MalformedURLException e) {
- // shouldn't happen
- }
- return null;
- }
-
- /*
- * Return the location of this site.
- */
- public URL getLocation() {
- return location;
- }
-
- public String getMirrorsURL() {
- //copy mirror information from update site to p2 repositories
- String mirrors = site.getMirrorsURL();
- if (mirrors == null)
- return null;
- //remove site.xml file reference
- int index = mirrors.indexOf("site.xml"); //$NON-NLS-1$
- if (index != -1)
- mirrors = mirrors.substring(0, index) + mirrors.substring(index + "site.xml".length()); //$NON-NLS-1$
- return mirrors;
- }
-
- /*
- * Return a URL which represents the location of the given plug-in.
- */
- public URL getPluginURL(FeatureEntry plugin) {
- URL base = getBaseURL();
- String path = PLUGIN_DIR + plugin.getId() + VERSION_SEPARATOR + plugin.getVersion() + JAR_EXTENSION;
- URL url = getArchiveURL(base, path);
- if (url != null)
- return url;
- try {
- return getFileURL(base, path);
- } catch (MalformedURLException e) {
- // shouldn't happen
- }
- return null;
- }
-
- private URL getBaseURL() {
- URL base = null;
- String siteURLString = site.getLocationURLString();
- if (siteURLString != null) {
- if (!siteURLString.endsWith("/")) //$NON-NLS-1$
- siteURLString += "/"; //$NON-NLS-1$
- base = internalGetURL(location, siteURLString);
- }
- if (base == null)
- base = location;
- return base;
- }
-
- /*
- * Return the site model.
- */
- public SiteModel getSite() {
- return site;
- }
-
- /*
- * The trailing parameter can be either null, relative or absolute. If it is null,
- * then return null. If it is absolute, then create a new url and return it. If it is
- * relative, then make it relative to the given base url.
- */
- private URL internalGetURL(URL base, String trailing) {
- if (trailing == null)
- return null;
- try {
- return new URL(trailing);
- } catch (MalformedURLException e) {
- try {
- return new URL(base, trailing);
- } catch (MalformedURLException e2) {
- // shouldn't happen
- }
- }
- return null;
- }
-
- /*
- * Load and return the features references in this update site.
- */
- public synchronized Feature[] loadFeatures() throws ProvisionException {
- Feature[] result = loadFeaturesFromDigest();
- return result == null ? loadFeaturesFromSite() : result;
- }
-
- /*
- * Try and load the feature information from the update site's
- * digest file, if it exists.
- */
- private Feature[] loadFeaturesFromDigest() {
- File digestFile = null;
- boolean local = false;
- if (!featureCache.isEmpty())
- return (Feature[]) featureCache.values().toArray(new Feature[featureCache.size()]);
- try {
- URL digestURL = getDigestURL();
- if (PROTOCOL_FILE.equals(digestURL.getProtocol())) {
- digestFile = URLUtil.toFile(digestURL);
- if (!digestFile.exists())
- return null;
- local = true;
- } else {
- digestFile = File.createTempFile("digest", ".zip"); //$NON-NLS-1$ //$NON-NLS-2$
- BufferedOutputStream destination = new BufferedOutputStream(new FileOutputStream(digestFile));
- IStatus result = getTransport().download(digestURL.toExternalForm(), destination, null);
- if (!result.isOK())
- return null;
- }
- Feature[] features = new DigestParser().parse(digestFile);
- if (features == null)
- return null;
- for (int i = 0; i < features.length; i++) {
- String key = features[i].getId() + VERSION_SEPARATOR + features[i].getVersion();
- featureCache.put(key, features[i]);
- }
- return features;
- } catch (FileNotFoundException fnfe) {
- // we do not track FNF exceptions as we will fall back to the
- // standard feature parsing from the site itself, see bug 225587.
- } catch (MalformedURLException e) {
- String msg = NLS.bind(Messages.InvalidRepositoryLocation, location);
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_INVALID_LOCATION, msg, e));
- } catch (IOException e) {
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.ErrorReadingDigest, location), e));
- } finally {
- if (!local && digestFile != null)
- digestFile.delete();
- }
- return null;
- }
-
- private URL getDigestURL() throws MalformedURLException {
- URL digestBase = location;
- String digestURLString = site.getDigestURLString();
- if (digestURLString != null) {
- if (!digestURLString.endsWith("/")) //$NON-NLS-1$
- digestURLString += "/"; //$NON-NLS-1$
- digestBase = internalGetURL(location, digestURLString);
- }
-
- return getFileURL(digestBase, "digest.zip"); //$NON-NLS-1$
- }
-
- /*
- * Load and return the features that are referenced by this update site. Note this
- * requires downloading and parsing the feature manifest locally.
- */
- private Feature[] loadFeaturesFromSite() throws ProvisionException {
- SiteFeature[] siteFeatures = site.getFeatures();
- FeatureParser featureParser = new FeatureParser();
- for (int i = 0; i < siteFeatures.length; i++) {
- SiteFeature siteFeature = siteFeatures[i];
- String key = null;
- if (siteFeature.getFeatureIdentifier() != null && siteFeature.getFeatureVersion() != null) {
- key = siteFeature.getFeatureIdentifier() + VERSION_SEPARATOR + siteFeature.getFeatureVersion();
- if (featureCache.containsKey(key))
- continue;
- }
- URL featureURL = getSiteFeatureURL(siteFeature);
- Feature feature = parseFeature(featureParser, featureURL);
- if (feature == null) {
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.ErrorReadingFeature, featureURL)));
- } else {
- if (key == null) {
- siteFeature.setFeatureIdentifier(feature.getId());
- siteFeature.setFeatureVersion(feature.getVersion());
- key = siteFeature.getFeatureIdentifier() + VERSION_SEPARATOR + siteFeature.getFeatureVersion();
- }
- featureCache.put(key, feature);
- loadIncludedFeatures(feature, featureParser);
- }
- }
- return (Feature[]) featureCache.values().toArray(new Feature[featureCache.size()]);
- }
-
- /*
- * Load the features that are included by the given feature.
- */
- private void loadIncludedFeatures(Feature feature, FeatureParser featureParser) throws ProvisionException {
- FeatureEntry[] featureEntries = feature.getEntries();
- for (int i = 0; i < featureEntries.length; i++) {
- FeatureEntry entry = featureEntries[i];
- if (entry.isRequires() || entry.isPlugin())
- continue;
- String key = entry.getId() + VERSION_SEPARATOR + entry.getVersion();
- if (featureCache.containsKey(key))
- continue;
-
- URL includedFeatureURL = getFeatureURL(entry.getId(), entry.getVersion());
- Feature includedFeature = parseFeature(featureParser, includedFeatureURL);
- if (includedFeature == null) {
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.ErrorReadingFeature, includedFeatureURL)));
- } else {
- featureCache.put(key, includedFeature);
- loadIncludedFeatures(includedFeature, featureParser);
- }
- }
- }
-
- private static ECFTransport getTransport() {
- return ECFTransport.getInstance();
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/artifact/UpdateSiteArtifactRepository.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/artifact/UpdateSiteArtifactRepository.java
deleted file mode 100644
index 6b66e66..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/artifact/UpdateSiteArtifactRepository.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.updatesite.artifact;
-
-import java.io.File;
-import java.io.OutputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.updatesite.*;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.*;
-import org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository.SimpleArtifactRepositoryFactory;
-import org.eclipse.equinox.internal.provisional.spi.p2.core.repository.AbstractRepository;
-import org.osgi.framework.BundleContext;
-
-public class UpdateSiteArtifactRepository extends AbstractRepository implements IArtifactRepository {
-
- public static final String TYPE = "org.eclipse.equinox.p2.updatesite.artifactRepository"; //$NON-NLS-1$
- public static final Integer VERSION = new Integer(1);
- private static final String PROP_ARTIFACT_REFERENCE = "artifact.reference"; //$NON-NLS-1$
- private static final String PROP_FORCE_THREADING = "eclipse.p2.force.threading"; //$NON-NLS-1$
- private static final String PROP_SITE_CHECKSUM = "site.checksum"; //$NON-NLS-1$
- private static final String PROTOCOL_FILE = "file"; //$NON-NLS-1$
-
- private final IArtifactRepository artifactRepository;
-
- public UpdateSiteArtifactRepository(URL location, IProgressMonitor monitor) throws ProvisionException {
- super(Activator.getRepositoryName(location), TYPE, VERSION.toString(), location, null, null, null);
-
- // todo progress monitoring
- // loading validates before we create repositories
- UpdateSite updateSite = UpdateSite.load(location, null);
-
- BundleContext context = Activator.getBundleContext();
- URL localRepositoryURL = null;
- try {
- String stateDirName = Integer.toString(location.toExternalForm().hashCode());
- File bundleData = context.getDataFile(null);
- File stateDir = new File(bundleData, stateDirName);
- localRepositoryURL = stateDir.toURL();
- } catch (MalformedURLException e) {
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, Messages.ErrorCreatingRepository, e));
- }
- artifactRepository = initializeArtifactRepository(context, localRepositoryURL, "update site implementation - " + location.toExternalForm(), updateSite); //$NON-NLS-1$
-
- String savedChecksum = (String) artifactRepository.getProperties().get(PROP_SITE_CHECKSUM);
- if (savedChecksum != null && savedChecksum.equals(updateSite.getChecksum()))
- return;
-
- if (!location.getProtocol().equals(PROTOCOL_FILE))
- artifactRepository.setProperty(PROP_FORCE_THREADING, "true"); //$NON-NLS-1$
- artifactRepository.removeAll();
- generateArtifacts(updateSite);
- artifactRepository.setProperty(PROP_SITE_CHECKSUM, updateSite.getChecksum());
- }
-
- private void generateArtifacts(UpdateSite updateSite) throws ProvisionException {
- Feature[] features = updateSite.loadFeatures();
-
- Set allSiteArtifacts = new HashSet();
- for (int i = 0; i < features.length; i++) {
- Feature feature = features[i];
- IArtifactKey featureKey = MetadataGeneratorHelper.createFeatureArtifactKey(feature.getId(), feature.getVersion());
- ArtifactDescriptor featureArtifactDescriptor = new ArtifactDescriptor(featureKey);
- URL featureURL = updateSite.getFeatureURL(feature.getId(), feature.getVersion());
- featureArtifactDescriptor.setRepositoryProperty(PROP_ARTIFACT_REFERENCE, featureURL.toExternalForm());
- featureArtifactDescriptor.setProperty(IArtifactDescriptor.DOWNLOAD_CONTENTTYPE, IArtifactDescriptor.TYPE_ZIP);
- allSiteArtifacts.add(featureArtifactDescriptor);
-
- FeatureEntry[] featureEntries = feature.getEntries();
- for (int j = 0; j < featureEntries.length; j++) {
- FeatureEntry entry = featureEntries[j];
- if (entry.isPlugin() && !entry.isRequires()) {
- IArtifactKey key = MetadataGeneratorHelper.createBundleArtifactKey(entry.getId(), entry.getVersion());
- ArtifactDescriptor artifactDescriptor = new ArtifactDescriptor(key);
- URL pluginURL = updateSite.getPluginURL(entry);
- artifactDescriptor.setRepositoryProperty(PROP_ARTIFACT_REFERENCE, pluginURL.toExternalForm());
- artifactDescriptor.setProperty(IArtifactDescriptor.DOWNLOAD_CONTENTTYPE, IArtifactDescriptor.TYPE_ZIP);
- allSiteArtifacts.add(artifactDescriptor);
- }
- }
- }
-
- IArtifactDescriptor[] descriptors = (IArtifactDescriptor[]) allSiteArtifacts.toArray(new IArtifactDescriptor[allSiteArtifacts.size()]);
- artifactRepository.addDescriptors(descriptors);
- }
-
- public static void validate(URL url, IProgressMonitor monitor) throws ProvisionException {
- UpdateSite.validate(url, monitor);
- }
-
- private IArtifactRepository initializeArtifactRepository(BundleContext context, URL stateDirURL, String repositoryName, UpdateSite updateSite) {
- SimpleArtifactRepositoryFactory factory = new SimpleArtifactRepositoryFactory();
- try {
- return factory.load(stateDirURL, null);
- } catch (ProvisionException e) {
- //fall through and create a new repository
- }
- Map props = new HashMap(5);
- String mirrors = updateSite.getMirrorsURL();
- if (mirrors != null) {
- props.put(IRepository.PROP_MIRRORS_URL, mirrors);
- //set the mirror base URL relative to the real remote repository rather than our local cache
- props.put(IRepository.PROP_MIRRORS_BASE_URL, getLocation().toExternalForm());
- }
- return factory.create(stateDirURL, repositoryName, null, props);
- }
-
- public Map getProperties() {
- return artifactRepository.getProperties();
- }
-
- public String setProperty(String key, String value) {
- return artifactRepository.setProperty(key, value);
- }
-
- public void addDescriptor(IArtifactDescriptor descriptor) {
- artifactRepository.addDescriptor(descriptor);
- }
-
- public boolean contains(IArtifactDescriptor descriptor) {
- return artifactRepository.contains(descriptor);
- }
-
- public boolean contains(IArtifactKey key) {
- return artifactRepository.contains(key);
- }
-
- public IStatus getArtifact(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) {
- return artifactRepository.getArtifact(descriptor, destination, monitor);
- }
-
- public IArtifactDescriptor[] getArtifactDescriptors(IArtifactKey key) {
- return artifactRepository.getArtifactDescriptors(key);
- }
-
- public IArtifactKey[] getArtifactKeys() {
- return artifactRepository.getArtifactKeys();
- }
-
- public IStatus getArtifacts(IArtifactRequest[] requests, IProgressMonitor monitor) {
- return artifactRepository.getArtifacts(requests, monitor);
- }
-
- public OutputStream getOutputStream(IArtifactDescriptor descriptor) throws ProvisionException {
- return artifactRepository.getOutputStream(descriptor);
- }
-
- public void removeAll() {
- artifactRepository.removeAll();
- }
-
- public void removeDescriptor(IArtifactDescriptor descriptor) {
- artifactRepository.removeDescriptor(descriptor);
- }
-
- public void removeDescriptor(IArtifactKey key) {
- artifactRepository.removeDescriptor(key);
- }
-
- public void addDescriptors(IArtifactDescriptor[] descriptors) {
- artifactRepository.addDescriptors(descriptors);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/artifact/UpdateSiteArtifactRepositoryFactory.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/artifact/UpdateSiteArtifactRepositoryFactory.java
deleted file mode 100644
index ef3ecd1..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/artifact/UpdateSiteArtifactRepositoryFactory.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.updatesite.artifact;
-
-import java.net.URL;
-import java.util.Map;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepository;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository.IArtifactRepositoryFactory;
-
-public class UpdateSiteArtifactRepositoryFactory implements IArtifactRepositoryFactory {
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository.IArtifactRepositoryFactory#create(java.net.URL, java.lang.String, java.lang.String, java.util.Map)
- */
- public IArtifactRepository create(URL location, String name, String type, Map properties) {
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository.IArtifactRepositoryFactory#load(java.net.URL, org.eclipse.core.runtime.IProgressMonitor)
- */
- public IArtifactRepository load(URL location, IProgressMonitor monitor) throws ProvisionException {
- return new UpdateSiteArtifactRepository(location, monitor);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/messages.properties b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/messages.properties
deleted file mode 100644
index e3d734a..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/messages.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-ErrorCreatingRepository=Error occurred while creating repository.
-ErrorReadingDigest=Error reading site digest {0}.
-ErrorReadingFeature=Error reading feature {0}.
-ErrorReadingSite=Error reading update site {0}.
-InvalidRepositoryLocation=Invalid repository location {0}.
-PlatformAdminNotRegistered=PlatformAdmin not registered.
-MalformedArchiveURL=Malformed URL {0} for path {1} in site at {2}.
-io_failedRead=Unable to read repository at {0}.
-repoMan_internalError=Internal error.
-repo_loading = Loading the repository {0}
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/metadata/UpdateSiteMetadataRepository.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/metadata/UpdateSiteMetadataRepository.java
deleted file mode 100644
index ff8b9b2..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/metadata/UpdateSiteMetadataRepository.java
+++ /dev/null
@@ -1,274 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Ray Braithwood (ray@genuitec.com) - fix for bug 220605
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.updatesite.metadata;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.metadata.generator.features.*;
-import org.eclipse.equinox.internal.p2.updatesite.*;
-import org.eclipse.equinox.internal.p2.updatesite.Messages;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository;
-import org.eclipse.equinox.internal.provisional.p2.core.repository.RepositoryEvent;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.query.Query;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.AbstractMetadataRepository;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.SimpleMetadataRepositoryFactory;
-import org.eclipse.osgi.service.resolver.*;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-
-public class UpdateSiteMetadataRepository extends AbstractMetadataRepository {
-
- public static final String TYPE = "org.eclipse.equinox.p2.updatesite.metadataRepository"; //$NON-NLS-1$
- public static final Integer VERSION = new Integer(1);
- private final IMetadataRepository metadataRepository;
- private static final String FEATURE_VERSION_SEPARATOR = "_"; //$NON-NLS-1$
- private static final String PROP_SITE_CHECKSUM = "site.checksum"; //$NON-NLS-1$
-
- public UpdateSiteMetadataRepository(URL location, IProgressMonitor monitor) throws ProvisionException {
- super(Activator.getRepositoryName(location), TYPE, VERSION.toString(), location, null, null, null);
- // todo progress monitoring
- // loading validates before we create repositories
- UpdateSite updateSite = UpdateSite.load(location, null);
- broadcastAssociateSites(updateSite);
-
- BundleContext context = Activator.getBundleContext();
- String stateDirName = Integer.toString(location.toExternalForm().hashCode());
- File bundleData = context.getDataFile(null);
- File stateDir = new File(bundleData, stateDirName);
- URL localRepositoryURL;
- try {
- localRepositoryURL = stateDir.toURL();
- } catch (MalformedURLException e) {
- // unexpected
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, Messages.ErrorCreatingRepository, e));
- }
-
- metadataRepository = initializeMetadataRepository(context, localRepositoryURL, "update site implementation - " + location.toExternalForm(), updateSite); //$NON-NLS-1$
-
- String savedChecksum = (String) metadataRepository.getProperties().get(PROP_SITE_CHECKSUM);
- if (savedChecksum != null && savedChecksum.equals(updateSite.getChecksum()))
- return;
- metadataRepository.removeAll();
- generateMetadata(updateSite);
- metadataRepository.setProperty(PROP_SITE_CHECKSUM, updateSite.getChecksum());
- }
-
- /**
- * Broadcast events for any associated sites for this repository so repository
- * managers are aware of them.
- */
- private void broadcastAssociateSites(UpdateSite baseSite) {
- if (baseSite == null)
- return;
- URLEntry[] sites = baseSite.getSite().getAssociatedSites();
- if (sites == null || sites.length == 0)
- return;
-
- IProvisioningEventBus bus = (IProvisioningEventBus) ServiceHelper.getService(Activator.getBundleContext(), IProvisioningEventBus.SERVICE_NAME);
- if (bus == null)
- return;
- for (int i = 0; i < sites.length; i++) {
- try {
- URL siteLocation = new URL(sites[i].getURL());
- bus.publishEvent(new RepositoryEvent(siteLocation, IRepository.TYPE_METADATA, RepositoryEvent.DISCOVERED, true));
- bus.publishEvent(new RepositoryEvent(siteLocation, IRepository.TYPE_ARTIFACT, RepositoryEvent.DISCOVERED, true));
- } catch (MalformedURLException e) {
- LogHelper.log(new Status(IStatus.WARNING, Activator.ID, "Site has invalid associate site: " + baseSite.getLocation(), e)); //$NON-NLS-1$
- }
- }
-
- }
-
- private void generateMetadata(UpdateSite updateSite) throws ProvisionException {
- SiteModel siteModel = updateSite.getSite();
-
- // we load the features here to ensure that all site features are fully populated with
- // id and version information before looking at category information
- Feature[] features = updateSite.loadFeatures();
-
- SiteCategory[] siteCategories = siteModel.getCategories();
- Map categoryNameToFeatureIUs = new HashMap();
- for (int i = 0; i < siteCategories.length; i++)
- categoryNameToFeatureIUs.put(siteCategories[i].getName(), new HashSet());
-
- SiteFeature[] siteFeatures = siteModel.getFeatures();
- Map featureKeyToCategoryNames = new HashMap();
- for (int i = 0; i < siteFeatures.length; i++) {
- SiteFeature siteFeature = siteFeatures[i];
- String featureKey = siteFeature.getFeatureIdentifier() + FEATURE_VERSION_SEPARATOR + siteFeature.getFeatureVersion();
- featureKeyToCategoryNames.put(featureKey, siteFeature.getCategoryNames());
- }
-
- Properties extraProperties = new Properties();
- extraProperties.put(IInstallableUnit.PROP_PARTIAL_IU, Boolean.TRUE.toString());
- Set allSiteIUs = new HashSet();
- BundleDescriptionFactory bundleDesciptionFactory = initializeBundleDescriptionFactory(Activator.getBundleContext());
-
- for (int i = 0; i < features.length; i++) {
- Feature feature = features[i];
- FeatureEntry[] featureEntries = feature.getEntries();
- for (int j = 0; j < featureEntries.length; j++) {
- FeatureEntry entry = featureEntries[j];
- if (entry.isPlugin() && !entry.isRequires()) {
- Dictionary mockManifest = new Properties();
- mockManifest.put("Manifest-Version", "1.0"); //$NON-NLS-1$ //$NON-NLS-2$
- mockManifest.put("Bundle-ManifestVersion", "2"); //$NON-NLS-1$ //$NON-NLS-2$
- mockManifest.put("Bundle-SymbolicName", entry.getId()); //$NON-NLS-1$
- mockManifest.put("Bundle-Version", entry.getVersion()); //$NON-NLS-1$
- BundleDescription bundleDescription = bundleDesciptionFactory.getBundleDescription(mockManifest, null);
- IArtifactKey key = MetadataGeneratorHelper.createBundleArtifactKey(entry.getId(), entry.getVersion());
- IInstallableUnit[] bundleIUs = MetadataGeneratorHelper.createEclipseIU(bundleDescription, null, entry.isUnpack(), key, extraProperties);
- for (int n = 0; n < bundleIUs.length; n++) {
- allSiteIUs.add(bundleIUs[n]);
- }
- }
- }
-
- IInstallableUnit featureIU = MetadataGeneratorHelper.createFeatureJarIU(feature, true);
- IInstallableUnit groupIU = MetadataGeneratorHelper.createGroupIU(feature, featureIU);
-
- String featureKey = feature.getId() + FEATURE_VERSION_SEPARATOR + feature.getVersion();
- String[] categoryNames = (String[]) featureKeyToCategoryNames.get(featureKey);
- if (categoryNames != null) {
- for (int j = 0; j < categoryNames.length; j++) {
- Set featureIUList = (Set) categoryNameToFeatureIUs.get(categoryNames[j]);
- if (featureIUList != null) {
- featureIUList.add(groupIU);
- }
- }
- }
- allSiteIUs.add(featureIU);
- allSiteIUs.add(groupIU);
- publishSites(feature);
- }
-
- for (int i = 0; i < siteCategories.length; i++) {
- SiteCategory category = siteCategories[i];
- Set featureIUs = (Set) categoryNameToFeatureIUs.get(category.getName());
- IInstallableUnit categoryIU = MetadataGeneratorHelper.createCategoryIU(category, featureIUs, null);
- allSiteIUs.add(categoryIU);
- }
-
- IInstallableUnit[] ius = (IInstallableUnit[]) allSiteIUs.toArray(new IInstallableUnit[allSiteIUs.size()]);
- metadataRepository.addInstallableUnits(ius);
- }
-
- /*(non-Javadoc)
- * @see IMetadataRepositoryFactory#validate(URL, IProgressMonitor)
- */
- public static void validate(URL url, IProgressMonitor monitor) throws ProvisionException {
- UpdateSite.validate(url, monitor);
- }
-
- private IMetadataRepository initializeMetadataRepository(BundleContext context, URL stateDirURL, String repositoryName, UpdateSite updateSite) {
- SimpleMetadataRepositoryFactory factory = new SimpleMetadataRepositoryFactory();
- try {
- return factory.load(stateDirURL, null);
- } catch (ProvisionException e) {
- //fall through and create a new repository
- }
- Map props = new HashMap(5);
- String mirrors = updateSite.getMirrorsURL();
- if (mirrors != null) {
- props.put(IRepository.PROP_MIRRORS_URL, mirrors);
- //set the mirror base URL relative to the real remote repository rather than our local cache
- props.put(IRepository.PROP_MIRRORS_BASE_URL, getLocation().toExternalForm());
- }
- return factory.create(stateDirURL, repositoryName, null, props);
- }
-
- private BundleDescriptionFactory initializeBundleDescriptionFactory(BundleContext context) {
- ServiceReference reference = context.getServiceReference(PlatformAdmin.class.getName());
- if (reference == null)
- throw new IllegalStateException(Messages.PlatformAdminNotRegistered);
- PlatformAdmin platformAdmin = (PlatformAdmin) context.getService(reference);
- if (platformAdmin == null)
- throw new IllegalStateException(Messages.PlatformAdminNotRegistered);
-
- try {
- StateObjectFactory stateObjectFactory = platformAdmin.getFactory();
- return new BundleDescriptionFactory(stateObjectFactory, null);
- } finally {
- context.ungetService(reference);
- }
- }
-
- public Map getProperties() {
- return metadataRepository.getProperties();
- }
-
- public String setProperty(String key, String value) {
- return metadataRepository.setProperty(key, value);
- }
-
- public Collector query(Query query, Collector collector, IProgressMonitor monitor) {
- return metadataRepository.query(query, collector, monitor);
- }
-
- public void removeAll() {
- metadataRepository.removeAll();
- }
-
- public void addInstallableUnits(IInstallableUnit[] installableUnits) {
- metadataRepository.addInstallableUnits(installableUnits);
- }
-
- public boolean removeInstallableUnits(Query query, IProgressMonitor monitor) {
- return metadataRepository.removeInstallableUnits(query, monitor);
- }
-
- public void initialize(RepositoryState state) {
- //nothing to do
- }
-
- /**
- * Broadcast events for any discovery sites associated with the feature
- * so the repository managers add them to their list of known repositories.
- */
- private void publishSites(Feature feature) {
- IProvisioningEventBus bus = (IProvisioningEventBus) ServiceHelper.getService(Activator.getBundleContext(), IProvisioningEventBus.SERVICE_NAME);
- if (bus == null)
- return;
- URLEntry[] discoverySites = feature.getDiscoverySites();
- for (int i = 0; i < discoverySites.length; i++)
- publishSite(feature, bus, discoverySites[i].getURL(), false);
- String updateSite = feature.getUpdateSiteURL();
- if (updateSite != null)
- publishSite(feature, bus, updateSite, true);
- }
-
- /**
- * Broadcast a discovery event for the given repository location.
- */
- private void publishSite(Feature feature, IProvisioningEventBus bus, String locationString, boolean isEnabled) {
- try {
- URL siteLocation = new URL(locationString);
- bus.publishEvent(new RepositoryEvent(siteLocation, IRepository.TYPE_METADATA, RepositoryEvent.DISCOVERED, isEnabled));
- bus.publishEvent(new RepositoryEvent(siteLocation, IRepository.TYPE_ARTIFACT, RepositoryEvent.DISCOVERED, isEnabled));
- } catch (MalformedURLException e) {
- LogHelper.log(new Status(IStatus.WARNING, Activator.ID, "Feature references invalid site: " + feature.getId(), e)); //$NON-NLS-1$
- }
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/metadata/UpdateSiteMetadataRepositoryFactory.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/metadata/UpdateSiteMetadataRepositoryFactory.java
deleted file mode 100644
index 2be0d50..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/metadata/UpdateSiteMetadataRepositoryFactory.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Ray Braithwood (ray@genuitec.com) - fix for bug 220605
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.updatesite.metadata;
-
-import java.net.URL;
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.IMetadataRepositoryFactory;
-
-public class UpdateSiteMetadataRepositoryFactory implements IMetadataRepositoryFactory {
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.IMetadataRepositoryFactory#create(java.net.URL, java.lang.String, java.lang.String, java.util.Map)
- */
- public IMetadataRepository create(URL location, String name, String type, Map properties) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.IMetadataRepositoryFactory#validate(java.net.URL, org.eclipse.core.runtime.IProgressMonitor)
- */
-
- public IStatus validate(URL location, IProgressMonitor monitor) {
- try {
- UpdateSiteMetadataRepository.validate(location, monitor);
- } catch (ProvisionException e) {
- return e.getStatus();
- }
- return Status.OK_STATUS;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.IMetadataRepositoryFactory#load(java.net.URL, org.eclipse.core.runtime.IProgressMonitor)
- */
- public IMetadataRepository load(URL location, IProgressMonitor monitor) throws ProvisionException {
- return new UpdateSiteMetadataRepository(location, monitor);
- }
-}
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.classpath b/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.classpath
deleted file mode 100644
index ce0c7a5..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.0%Foundation-1.0"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.cvsignore b/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.project b/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.project
deleted file mode 100644
index ba657ce..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.equinox.simpleconfigurator.manipulator</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index ffb4d45..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,266 +0,0 @@
-#Wed Jan 23 10:00:33 EST 2008
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.1
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.3
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=true
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=true
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=true
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=false
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index fe84d45..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:59:48 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/META-INF/MANIFEST.MF
deleted file mode 100644
index 35d24b2..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %bundleName
-Bundle-SymbolicName: org.eclipse.equinox.simpleconfigurator.manipulator;singleton:=true
-Bundle-Version: 1.0.2.qualifier
-Bundle-Localization: plugin
-Bundle-Activator: org.eclipse.equinox.internal.simpleconfigurator.manipulator.Activator
-Eclipse-LazyStart: true
-Import-Package: org.eclipse.equinox.internal.frameworkadmin.equinox,
- org.eclipse.equinox.internal.frameworkadmin.utils,
- org.eclipse.equinox.internal.provisional.configuratormanipulator,
- org.eclipse.equinox.internal.provisional.frameworkadmin,
- org.osgi.framework;version="1.3.0",
- org.osgi.service.packageadmin;version="1.2.0",
- org.osgi.service.startlevel;version="1.0.0",
- org.osgi.util.tracker
-Bundle-Vendor: %providerName
-Export-Package: org.eclipse.equinox.internal.simpleconfigurator.manipulator;x-friends:="org.eclipse.equinox.p2.touchpoint.eclipse",
- org.eclipse.equinox.internal.simpleconfigurator.utils;x-internal:=true
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,
- J2SE-1.4
-Require-Bundle: org.eclipse.equinox.common;bundle-version="3.4.0"
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/about.html b/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 2, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/build.properties b/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/build.properties
deleted file mode 100644
index ac72e5e..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- about.html,\
- plugin.properties
-qualifier=context
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/plugin.properties b/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/plugin.properties
deleted file mode 100644
index 62afbdc..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-bundleName= Simple Configurator Manipulator
-providerName= Eclipse.org
-
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/src/org/eclipse/equinox/internal/simpleconfigurator/manipulator/Activator.java b/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/src/org/eclipse/equinox/internal/simpleconfigurator/manipulator/Activator.java
deleted file mode 100644
index 651027e..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/src/org/eclipse/equinox/internal/simpleconfigurator/manipulator/Activator.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.simpleconfigurator.manipulator;
-
-import java.util.Dictionary;
-import java.util.Hashtable;
-import org.eclipse.equinox.internal.provisional.configuratormanipulator.ConfiguratorManipulator;
-import org.eclipse.equinox.internal.simpleconfigurator.utils.SimpleConfiguratorConstants;
-import org.osgi.framework.*;
-import org.osgi.util.tracker.ServiceTracker;
-
-public class Activator implements BundleActivator {
- final static boolean DEBUG = true;
- private static BundleContext context;
- private static ServiceTracker installLocationTracker;
- private ServiceRegistration registration;
- SimpleConfiguratorManipulatorImpl manipulator = null;
-
- static BundleContext getContext() {
- return context;
- }
-
- private void registerConfiguratorManipulator() {
- Dictionary props = new Hashtable();
- props.put(ConfiguratorManipulator.SERVICE_PROP_KEY_CONFIGURATOR_BUNDLESYMBOLICNAME, SimpleConfiguratorConstants.SERVICE_PROP_VALUE_CONFIGURATOR_SYMBOLICNAME);
- props.put(Constants.SERVICE_VENDOR, "Eclipse.org");
- manipulator = new SimpleConfiguratorManipulatorImpl();
- registration = context.registerService(ConfiguratorManipulator.class.getName(), manipulator, props);
- }
-
- public void start(BundleContext bundleContext) throws Exception {
- Activator.context = bundleContext;
- this.registerConfiguratorManipulator();
- }
-
- public void stop(BundleContext bundleContext) throws Exception {
- if (registration != null)
- registration.unregister();
- if (installLocationTracker != null) {
- installLocationTracker.close();
- installLocationTracker = null;
- }
- Activator.context = null;
- }
-}
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/src/org/eclipse/equinox/internal/simpleconfigurator/manipulator/SimpleConfiguratorManipulatorFactoryImpl.java b/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/src/org/eclipse/equinox/internal/simpleconfigurator/manipulator/SimpleConfiguratorManipulatorFactoryImpl.java
deleted file mode 100644
index 3819aac..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/src/org/eclipse/equinox/internal/simpleconfigurator/manipulator/SimpleConfiguratorManipulatorFactoryImpl.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.simpleconfigurator.manipulator;
-
-import org.eclipse.equinox.internal.provisional.configuratormanipulator.ConfiguratorManipulator;
-import org.eclipse.equinox.internal.provisional.configuratormanipulator.ConfiguratorManipulatorFactory;
-
-public class SimpleConfiguratorManipulatorFactoryImpl extends ConfiguratorManipulatorFactory {
-
- protected ConfiguratorManipulator createConfiguratorManipulator() {
- return new SimpleConfiguratorManipulatorImpl();
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/src/org/eclipse/equinox/internal/simpleconfigurator/manipulator/SimpleConfiguratorManipulatorImpl.java b/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/src/org/eclipse/equinox/internal/simpleconfigurator/manipulator/SimpleConfiguratorManipulatorImpl.java
deleted file mode 100644
index 9737137..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/src/org/eclipse/equinox/internal/simpleconfigurator/manipulator/SimpleConfiguratorManipulatorImpl.java
+++ /dev/null
@@ -1,674 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved.
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.simpleconfigurator.manipulator;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.equinox.internal.frameworkadmin.equinox.EquinoxFwConfigFileParser;
-import org.eclipse.equinox.internal.frameworkadmin.utils.Utils;
-import org.eclipse.equinox.internal.provisional.configuratormanipulator.ConfiguratorManipulator;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.eclipse.equinox.internal.simpleconfigurator.utils.SimpleConfiguratorConstants;
-import org.osgi.framework.Constants;
-
-public class SimpleConfiguratorManipulatorImpl implements ConfiguratorManipulator {
- class LocationInfo {
- String[] prerequisiteLocations = null;
- String systemBundleLocation = null;
- String[] systemFragmentedBundleLocations = null;
- }
-
- private final static boolean DEBUG = false;
-
- static String CONFIG_LOCATION = SimpleConfiguratorConstants.CONFIG_LIST;
- private static final String FILE_PROTOCOL = "file:"; //$NON-NLS-1$
-
- private static final BundleInfo[] NULL_BUNDLEINFOS = new BundleInfo[0];
-
- private Set manipulators = new HashSet();
-
- /**
- * Return the ConfiguratorConfigLocation which is determined
- * by the parameters set in Manipulator.
- *
- * @param manipulator
- * @return URL
- */
- private static URL getConfigLocation(Manipulator manipulator) throws IllegalStateException {
- File fwConfigLoc = manipulator.getLauncherData().getFwConfigLocation();
- File baseDir = null;
- if (fwConfigLoc == null) {
- baseDir = manipulator.getLauncherData().getHome();
- if (baseDir == null) {
- if (manipulator.getLauncherData().getLauncher() != null) {
- baseDir = manipulator.getLauncherData().getLauncher().getParentFile();
- } else {
- throw new IllegalStateException("All of fwConfigFile, home, launcher are not set.");
- }
- }
- } else {
- if (fwConfigLoc.exists())
- if (fwConfigLoc.isDirectory())
- baseDir = fwConfigLoc;
- else
- baseDir = fwConfigLoc.getParentFile();
- else {
- // TODO We need to decide whether launcher data configLocation is the location of a file or a directory
- if (fwConfigLoc.getName().endsWith(".ini"))
- baseDir = fwConfigLoc.getParentFile();
- else
- baseDir = fwConfigLoc;
- }
- }
- try {
- baseDir = new File(baseDir, SimpleConfiguratorConstants.CONFIGURATOR_FOLDER);
- File targetFile = new File(baseDir, SimpleConfiguratorConstants.CONFIG_LIST);
- try {
- Utils.createParentDir(targetFile);
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- return null;
- }
- return targetFile.toURL();
- } catch (MalformedURLException e) {
- // Never happen. ignore.
- e.printStackTrace();
- return null;
- }
-
- }
-
- static boolean isPrerequisiteBundles(String location, LocationInfo info) {
- boolean ret = false;
-
- if (info.prerequisiteLocations == null)
- return false;
- for (int i = 0; i < info.prerequisiteLocations.length; i++)
- if (location.equals(info.prerequisiteLocations[i])) {
- ret = true;
- break;
- }
-
- return ret;
- }
-
- static boolean isSystemBundle(String location, LocationInfo info) {
- if (info.systemBundleLocation == null)
- return false;
- if (location.equals(info.systemBundleLocation))
- return true;
- return false;
- }
-
- static boolean isSystemFragmentBundle(String location, LocationInfo info) {
- boolean ret = false;
- if (info.systemFragmentedBundleLocations == null)
- return false;
- for (int i = 0; i < info.systemFragmentedBundleLocations.length; i++)
- if (location.equals(info.systemFragmentedBundleLocations[i])) {
- ret = true;
- break;
- }
- return ret;
- }
-
- private static boolean isTargetConfiguratorBundle(BundleInfo[] bInfos) {
- for (int i = 0; i < bInfos.length; i++) {
- if (isTargetConfiguratorBundle(bInfos[i].getLocation())) {
- return true;
- //TODO confirm that startlevel of configurator bundle must be no larger than beginning start level of fw. However, there is no way to know the start level of cached ones.
- }
- }
- return false;
- }
-
- private static boolean isTargetConfiguratorBundle(String location) {
- final String symbolic = Utils.getPathFromClause(Utils.getManifestMainAttributes(location, Constants.BUNDLE_SYMBOLICNAME));
- return (SimpleConfiguratorConstants.SERVICE_PROP_VALUE_CONFIGURATOR_SYMBOLICNAME.equals(symbolic));
- }
-
- private void algorithm(int initialSl, SortedMap bslToList, BundleInfo configuratorBInfo, List setToInitialConfig, List setToSimpleConfig, LocationInfo info) {
- int configuratorSL = configuratorBInfo.getStartLevel();
-
- Integer sL0 = (Integer) bslToList.keySet().iterator().next();// StartLevel == 0;
- List list0 = (List) bslToList.get(sL0);
- if (sL0.intValue() == 0)
- for (Iterator ite2 = list0.iterator(); ite2.hasNext();) {
- BundleInfo bInfo = (BundleInfo) ite2.next();
- if (isSystemBundle(bInfo.getLocation(), info)) {
- setToSimpleConfig.add(bInfo);
- break;
- }
- }
-
- for (Iterator ite = bslToList.keySet().iterator(); ite.hasNext();) {
- Integer sL = (Integer) ite.next();
- List list = (List) bslToList.get(sL);
-
- if (sL.intValue() < configuratorSL) {
- for (Iterator ite2 = list.iterator(); ite2.hasNext();) {
- BundleInfo bInfo = (BundleInfo) ite2.next();
- if (!isSystemBundle(bInfo.getLocation(), info))
- setToInitialConfig.add(bInfo);
- }
- } else if (sL.intValue() > configuratorSL) {
- for (Iterator ite2 = list.iterator(); ite2.hasNext();) {
- BundleInfo bInfo = (BundleInfo) ite2.next();
- if (isPrerequisiteBundles(bInfo.getLocation(), info) || isSystemFragmentBundle(bInfo.getLocation(), info))
- if (!isSystemBundle(bInfo.getLocation(), info))
- setToInitialConfig.add(bInfo);
- setToSimpleConfig.add(bInfo);
- }
- } else {
- boolean found = false;
- for (Iterator ite2 = list.iterator(); ite2.hasNext();) {
- BundleInfo bInfo = (BundleInfo) ite2.next();
- if (found) {
- if (!isSystemBundle(bInfo.getLocation(), info))
- if (isPrerequisiteBundles(bInfo.getLocation(), info) || isSystemFragmentBundle(bInfo.getLocation(), info))
- setToInitialConfig.add(bInfo);
- setToSimpleConfig.add(bInfo);
- continue;
- }
- if (isTargetConfiguratorBundle(bInfo.getLocation()))
- found = true;
- else if (!isSystemBundle(bInfo.getLocation(), info))
- setToInitialConfig.add(bInfo);
- setToSimpleConfig.add(bInfo);
- }
- }
- }
-
- setToInitialConfig.add(configuratorBInfo);
- }
-
- private boolean checkResolve(BundleInfo bInfo, BundlesState state) {//throws ManipulatorException {
- if (bInfo == null)
- throw new IllegalArgumentException("bInfo is null.");
-
- if (!state.isResolved())
- state.resolve(false);
- // if (DEBUG)
- // System.out.println(state.toString());
-
- if (!state.isResolved(bInfo)) {
- printoutUnsatisfiedConstraints(bInfo, state);
- return false;
- }
- return true;
- }
-
- private boolean divideBundleInfos(Manipulator manipulator, List setToInitialConfig, List setToSimpleConfig, final int initialBSL) throws IOException {
- BundlesState state = manipulator.getBundlesState();
- BundleInfo[] targetBundleInfos = null;
- if (state.isFullySupported()) {
- targetBundleInfos = state.getExpectedState();
- } else {
- targetBundleInfos = manipulator.getConfigData().getBundles();
- }
- BundleInfo configuratorBInfo = null;
- for (int i = 0; i < targetBundleInfos.length; i++) {
- if (isTargetConfiguratorBundle(targetBundleInfos[i].getLocation())) {
- if (targetBundleInfos[i].isMarkedAsStarted()) {
- configuratorBInfo = targetBundleInfos[i];
- break;
- }
- }
- }
- if (configuratorBInfo == null && !manipulators.contains(manipulator)) {
- return false;
- } else if (manipulators.contains(manipulator) && targetBundleInfos.length == 0) {
- // Resulting state will have no bundles - so is an uninstall, including
- // uninstall of the configurator. However, we have seen this manipulator
- // before with a target configurator bundle, so allow uninstall to proceed,
- // but only get one chance.
- manipulators.remove(manipulator);
- } else if (!manipulators.contains(manipulator)) {
- manipulators.add(manipulator);
- }
-
- if (state.isFullySupported()) {
- state.resolve(false);
- }
-
- LocationInfo info = new LocationInfo();
- setSystemBundles(state, info);
- if (configuratorBInfo != null) {
- setPrerequisiteBundles(configuratorBInfo, state, info);
- SortedMap bslToList = getSortedMap(initialBSL, targetBundleInfos);
- algorithm(initialBSL, bslToList, configuratorBInfo, setToInitialConfig, setToSimpleConfig, info);
- }
- return true;
- }
-
- private SortedMap getSortedMap(int initialSl, BundleInfo[] bInfos) {
- SortedMap bslToList = new TreeMap();
- for (int i = 0; i < bInfos.length; i++) {
- Integer sL = new Integer(bInfos[i].getStartLevel());
- if (sL.intValue() == BundleInfo.NO_LEVEL)
- sL = new Integer(initialSl);
- List list = (List) bslToList.get(sL);
- if (list == null) {
- list = new LinkedList();
- bslToList.put(sL, list);
- }
- list.add(bInfos[i]);
- }
- return bslToList;
- }
-
- private BundleInfo[] orderingInitialConfig(List setToInitialConfig) {
- List notToBeStarted = new LinkedList();
- List toBeStarted = new LinkedList();
- for (Iterator ite2 = setToInitialConfig.iterator(); ite2.hasNext();) {
- BundleInfo bInfo = (BundleInfo) ite2.next();
- if (bInfo.isMarkedAsStarted())
- toBeStarted.add(bInfo);
- else
- notToBeStarted.add(bInfo);
- }
- setToInitialConfig.clear();
- setToInitialConfig.addAll(notToBeStarted);
- setToInitialConfig.addAll(toBeStarted);
- return Utils.getBundleInfosFromList(setToInitialConfig);
-
- }
-
- private void printoutUnsatisfiedConstraints(BundleInfo bInfo, BundlesState state) {
- if (DEBUG) {
- StringBuffer sb = new StringBuffer();
- sb.append("Missing constraints:\n");
- String[] missings = state.getUnsatisfiedConstraints(bInfo);
- for (int i = 0; i < missings.length; i++)
- sb.append(" " + missings[i] + "\n");
- System.out.println(sb.toString());
- }
- }
-
- private BundleInfo[] loadConfiguration(URL url, File launcherLocation) throws IOException {
- if (url == null)
- return NULL_BUNDLEINFOS;
-
- try {
- url.openStream();
- } catch (FileNotFoundException e) {
- return NULL_BUNDLEINFOS;
- }
-
- List bundleInfoList = readConfiguration(url, launcherLocation);
- return Utils.getBundleInfosFromList(bundleInfoList);
- }
-
- /**
- * This method is copied from SimpleConfiguratorUtils class.
- */
- public static List readConfiguration(URL url, File base) throws IOException {
- List bundles = new ArrayList();
- try {
- // System.out.println("readConfiguration(URL url):url()=" + url);
- // URL configFileUrl = getConfigFileUrl();
- // URL configFileUrl = Utils.getUrl("file",null,
- // inputFile.getAbsolutePath());
- BufferedReader r = new BufferedReader(new InputStreamReader(url.openStream()));
- // BufferedReader r = new BufferedReader(new FileReader(inputFile));
-
- String line;
- try {
- URL baseUrl = new URL(url, "./");
- while ((line = r.readLine()) != null) {
- if (line.startsWith("#"))
- continue;
- line = line.trim();// symbolicName,version,location,startlevel,expectedState
- if (line.length() == 0)
- continue;
-
- // (expectedState is an integer).
- //System.out.println("line=" + line);
- if (line.startsWith(SimpleConfiguratorConstants.PARAMETER_BASEURL + "=")) {
- String baseUrlSt = line.substring((SimpleConfiguratorConstants.PARAMETER_BASEURL + "=").length());
- if (!baseUrlSt.endsWith("/"))
- baseUrlSt += "/";
- baseUrl = new URL(url, baseUrlSt);
- continue;
- }
- StringTokenizer tok = new StringTokenizer(line, ",", true);
- String symbolicName = tok.nextToken();
- if (symbolicName.equals(","))
- symbolicName = null;
- else
- tok.nextToken(); // ,
-
- String version = tok.nextToken();
- if (version.equals(","))
- version = null;
- else
- tok.nextToken(); // ,
-
- String urlSt = tok.nextToken();
- if (urlSt.equals(",")) {
- if (symbolicName != null && version != null)
- urlSt = symbolicName + "_" + version + ".jar";
- else
- urlSt = null;
- } else
- tok.nextToken(); // ,
- try {
- new URL(urlSt);
- // if (DEBUG)
- // System.out.println("1 urlSt=" + urlSt);
- } catch (MalformedURLException e) {
- urlSt = Utils.getUrlInFull(urlSt, baseUrl).toExternalForm();
- // if (DEBUG)
- // System.out.println("2 urlSt=" + urlSt);
- }
-
- int sl = Integer.parseInt(tok.nextToken().trim());
- tok.nextToken(); // ,
- boolean markedAsStarted = Boolean.valueOf(tok.nextToken()).booleanValue();
- // URL urlBundle = null;
- // try {
- // urlBundle = new URL(urlSt);
- // } catch (MalformedURLException e) {
- // urlBundle = Utils.getFullUrl(urlSt, baseUrl);
- // }
-
- urlSt = makeAbsolute(urlSt, base != null ? base.toURL() : null);
- BundleInfo bInfo = new BundleInfo(symbolicName, version, urlSt, sl, markedAsStarted);
- bundles.add(bInfo);
- // System.out.println("tail line=" + line);
- }
- } finally {
- try {
- r.close();
- } catch (IOException ex) {
- // ignore
- }
- }
- } catch (MalformedURLException e) {
- e.printStackTrace();
- // TODO log something
- // bundleInfos = NULL_BUNDLEINFOS;
- }
- return bundles;
- // bundleInfos = (BundleInfo[]) bundles.toArray(new
- // BundleInfo[bundles.size()]);
- }
-
- public BundleInfo[] save(Manipulator manipulator, boolean backup) throws IOException {
- List setToInitialConfig = new LinkedList();
- List setToSimpleConfig = new LinkedList();
- ConfigData configData = manipulator.getConfigData();
-
- //try {
- if (!divideBundleInfos(manipulator, setToInitialConfig, setToSimpleConfig, configData.getInitialBundleStartLevel()))
- return configData.getBundles();
- //} catch (Exception e) {
- // e.printStackTrace();
- // System.exit(-1);
- //}
- // if (DEBUG) {
- // System.out.println("setToInitialConfig=\n" + SimpleConfiguratorUtils.getListSt(setToInitialConfig));
- // System.out.println("setToSimpleConfig=\n" + SimpleConfiguratorUtils.getListSt(setToSimpleConfig));
- // }
- URL configuratorConfigUrl = getConfigLocation(manipulator);
- if (!configuratorConfigUrl.getProtocol().equals("file"))
- new IllegalStateException("configuratorConfigUrl should start with \"file\".\nconfiguratorConfigUrl=" + configuratorConfigUrl);
- File outputFile = new File(configuratorConfigUrl.getFile());
- saveConfiguration(setToSimpleConfig, outputFile, EquinoxFwConfigFileParser.getOSGiInstallArea(manipulator.getLauncherData()), backup);
- configData.setFwIndependentProp(SimpleConfiguratorConstants.PROP_KEY_CONFIGURL, outputFile.toURL().toExternalForm());
- return orderingInitialConfig(setToInitialConfig);
- }
-
- public static void saveConfiguration(List bundleInfoList, File outputFile, File base, boolean backup) throws IOException {
- if (DEBUG) {
- System.out.println("saveConfiguration(List bundleInfoList, File outputFile, boolean backup): outFile=" + outputFile.getAbsolutePath());
- }
- BufferedWriter bw;
- if (backup)
- if (outputFile.exists()) {
- File dest = Utils.getSimpleDataFormattedFile(outputFile);
- if (!outputFile.renameTo(dest)) {
- throw new IOException("Fail to rename from (" + outputFile + ") to (" + dest + ")");
- }
- }
-
- Collections.sort(bundleInfoList, new Comparator() {
- public int compare(Object o1, Object o2) {
- if (o1 instanceof BundleInfo && o2 instanceof BundleInfo) {
- return ((BundleInfo) o1).getSymbolicName().compareTo(((BundleInfo) o2).getSymbolicName());
- }
- return 0;
- }
- });
-
- if (bundleInfoList.size() > 0) {
- Utils.createParentDir(outputFile);
- bw = new BufferedWriter(new FileWriter(outputFile));
-
- for (Iterator ite = bundleInfoList.iterator(); ite.hasNext();) {
- BundleInfo bInfo = (BundleInfo) ite.next();
- String location = bInfo.getLocation();
-
- if (bInfo.getSymbolicName() == null)
- bw.write(",");
- else
- bw.write(bInfo.getSymbolicName() + ",");
- if (bInfo.getVersion() == null)
- bw.write(",");
- else
- bw.write(bInfo.getVersion() + ",");
-
- location = makeRelative(location, base != null ? base.toURL() : null);
- bw.write(location + ",");
- bw.write(bInfo.getStartLevel() + "," + bInfo.isMarkedAsStarted());
- bw.newLine();
- }
- bw.flush();
- bw.close();
- } else {
- if (outputFile.exists()) {
- outputFile.delete();
- }
- File parentDir = outputFile.getParentFile();
- if (parentDir.exists()) {
- parentDir.delete();
- }
- }
-
- }
-
- private static String makeRelative(IPath toRel, IPath base) {
- if (toRel.getDevice() != null && !toRel.getDevice().equalsIgnoreCase(base.getDevice()))
- return toRel.toOSString();
- int i = base.matchingFirstSegments(toRel);
- if (i == 0) {
- return toRel.toOSString();
- }
- String result = ""; //$NON-NLS-1$
- for (int j = 0; j < (base.segmentCount() - i); j++) {
- result += ".." + IPath.SEPARATOR; //$NON-NLS-1$
- }
- if (i == toRel.segmentCount())
- return "."; //$NON-NLS-1$
- result += toRel.setDevice(null).removeFirstSegments(i).toOSString();
- return result;
- }
-
- public static String makeRelative(String urlString, URL rootURL) {
- // we only traffic in file: URLs
- int index = urlString.indexOf(FILE_PROTOCOL);
- if (index == -1)
- return urlString;
- index = index + 5;
-
- // ensure we have an absolute path to start with
- boolean done = false;
- URL url = null;
- String file = urlString;
- while (!done) {
- try {
- url = new URL(file);
- file = url.getFile();
- } catch (java.net.MalformedURLException e) {
- done = true;
- }
- }
- if (url == null || !new File(url.getFile()).isAbsolute())
- return urlString;
-
- String rootString = rootURL.toExternalForm();
- return urlString.substring(0, index) + makeRelative(new Path(urlString.substring(index)), new Path(rootString.substring(rootString.indexOf(FILE_PROTOCOL) + 5)));
- }
-
- public static String makeAbsolute(String original, String rootPath) {
- IPath path = new Path(original);
- // ensure we have a relative path to start with
- if (path.isAbsolute())
- return original;
- IPath root = new Path(rootPath);
- return root.addTrailingSeparator().append(original.replace(':', '}')).toOSString().replace('}', ':');
- }
-
- /*
- * Make the given path absolute to the specified root, if applicable. If not, then
- * return the path as-is.
- */
- public static String makeAbsolute(String urlString, URL rootURL) {
- // we only traffic in file: URLs
- int index = urlString.indexOf(FILE_PROTOCOL);
- if (index == -1)
- return urlString;
- index = index + 5;
-
- // ensure we have a relative path to start with
- boolean done = false;
- URL url = null;
- String file = urlString;
- while (!done) {
- try {
- url = new URL(file);
- file = url.getFile();
- } catch (java.net.MalformedURLException e) {
- done = true;
- }
- }
- if (url == null || new File(url.getFile()).isAbsolute())
- return urlString;
-
- return urlString.substring(0, index - 5) + makeAbsolute(urlString.substring(index), rootURL.toExternalForm());
- }
-
- void setPrerequisiteBundles(BundleInfo configuratorBundleInfo, BundlesState state, LocationInfo info) {
- if (state.isFullySupported())
- if (!this.checkResolve(configuratorBundleInfo, state)) {
- printoutUnsatisfiedConstraints(configuratorBundleInfo, state);
- return;
- }
- BundleInfo[] prerequisites = state.getPrerequisteBundles(configuratorBundleInfo);
- info.prerequisiteLocations = new String[prerequisites.length];
- for (int i = 0; i < prerequisites.length; i++)
- info.prerequisiteLocations[i] = prerequisites[i].getLocation();
- return;
-
- }
-
- void setSystemBundles(BundlesState state, LocationInfo info) {
- BundleInfo systemBundleInfo = state.getSystemBundle();
- if (systemBundleInfo == null) {
- // TODO Log
- //throw new IllegalStateException("There is no systemBundle.\n");
- return;
- }
- if (state.isFullySupported())
- if (!this.checkResolve(systemBundleInfo, state)) {
- printoutUnsatisfiedConstraints(systemBundleInfo, state);
- return;
- }
- info.systemBundleLocation = systemBundleInfo.getLocation();
- BundleInfo[] fragments = state.getSystemFragmentedBundles();
- info.systemFragmentedBundleLocations = new String[fragments.length];
- for (int i = 0; i < fragments.length; i++)
- info.systemFragmentedBundleLocations[i] = fragments[i].getLocation();
- }
-
- public void updateBundles(Manipulator manipulator) throws IOException {
- if (DEBUG)
- System.out.println("SimpleConfiguratorManipulatorImpl#updateBundles()");
-
- BundlesState bundleState = manipulator.getBundlesState();
-
- if (bundleState == null)
- return;
- if (bundleState.isFullySupported())
- bundleState.resolve(true);
-
- BundleInfo[] currentBInfos = bundleState.getExpectedState();
- if (!isTargetConfiguratorBundle(currentBInfos))
- return;
- Properties properties = new Properties();
- String[] jvmArgs = manipulator.getLauncherData().getJvmArgs();
- for (int i = 0; i < jvmArgs.length; i++)
- if (jvmArgs[i].startsWith("-D")) {
- int index = jvmArgs[i].indexOf("=");
- if (index > 0 && jvmArgs[i].length() > 2) {
- String key = jvmArgs[i].substring(2, index);
- String value = jvmArgs[i].substring(index + 1);
- properties.setProperty(key, value);
- }
- }
-
- Utils.appendProperties(properties, manipulator.getConfigData().getFwIndependentProps());
- boolean exclusiveInstallation = Boolean.valueOf(properties.getProperty(SimpleConfiguratorConstants.PROP_KEY_EXCLUSIVE_INSTALLATION)).booleanValue();
- URL configuratorConfigUrl = getConfigLocation(manipulator);
-
- BundleInfo[] toInstall = this.loadConfiguration(configuratorConfigUrl, EquinoxFwConfigFileParser.getOSGiInstallArea(manipulator.getLauncherData()));
-
- List toUninstall = new LinkedList();
- if (exclusiveInstallation)
- for (int i = 0; i < currentBInfos.length; i++) {
- boolean install = false;
- for (int j = 0; j < toInstall.length; j++)
- if (currentBInfos[i].getLocation().equals(toInstall[j].getLocation())) {
- install = true;
- break;
- }
- if (!install)
- toUninstall.add(currentBInfos[i]);
- }
-
- for (int i = 0; i < toInstall.length; i++) {
- try {
- bundleState.installBundle(toInstall[i]);
- } catch (RuntimeException e) {
- //Ignore
- }
- }
- if (exclusiveInstallation)
- for (Iterator ite = toUninstall.iterator(); ite.hasNext();) {
- BundleInfo bInfo = (BundleInfo) ite.next();
- bundleState.uninstallBundle(bInfo);
- }
-
- bundleState.resolve(true);
- manipulator.getConfigData().setBundles(bundleState.getExpectedState());
- }
-
- public void cleanup(Manipulator manipulator) {
- File outputFile = new File(getConfigLocation(manipulator).getFile());
- outputFile.delete();
-
- if (outputFile.getParentFile().isDirectory())
- outputFile.getParentFile().delete();
- }
-}
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/SimpleConfiguratorConstants.java b/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/SimpleConfiguratorConstants.java
deleted file mode 100644
index 2b0d814..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/SimpleConfiguratorConstants.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.simpleconfigurator.utils;
-
-
-/**
- * Copied from org.eclipse.equinox.simpleconfigurator.
- *
- */
-public class SimpleConfiguratorConstants {
- public static final String PARAMETER_BASEURL = "org.eclipse.equinox.simpleconfigurator.baseUrl";
- public static final String PROP_KEY_EXCLUSIVE_INSTALLATION = "org.eclipse.equinox.simpleconfigurator.exclusiveInstallation";
-
- public static final String LAST_CONFIG_STAMP = "last.config.stamps"; //$NON-NLS-1$
- public static final String CONFIG_LIST = "bundles.info"; //$NON-NLS-1$
- public static final String CONFIGURATOR_FOLDER = "org.eclipse.equinox.simpleconfigurator"; //$NON-NLS-1$
- public static final String CONFIG_INI = "config.ini"; //$NON-NLS-1$
- public static final String PROP_KEY_CONFIGURL = "org.eclipse.equinox.simpleconfigurator.configUrl";
- public static final String TARGET_CONFIGURATOR_NAME = "org.eclipse.equinox.simpleconfigurator";
- public static final String SERVICE_PROP_VALUE_CONFIGURATOR_SYMBOLICNAME = TARGET_CONFIGURATOR_NAME;
-}
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/.classpath b/bundles/org.eclipse.equinox.simpleconfigurator/.classpath
deleted file mode 100644
index 6f3b481..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.1%Foundation-1.1"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/.cvsignore b/bundles/org.eclipse.equinox.simpleconfigurator/.cvsignore
deleted file mode 100644
index e043cc4..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-bin
-build.xml
-javaCompiler...args
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/.externalToolBuilders/Copy built version of simple configurator into metadata generator.launch b/bundles/org.eclipse.equinox.simpleconfigurator/.externalToolBuilders/Copy built version of simple configurator into metadata generator.launch
deleted file mode 100644
index b68ad48..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/.externalToolBuilders/Copy built version of simple configurator into metadata generator.launch
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
-<booleanAttribute key="org.eclipse.ant.ui.ATTR_TARGETS_UPDATED" value="true"/>
-<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.equinox.simpleconfigurator"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="4"/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
-<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
-<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.equinox.simpleconfigurator"/>
-<mapAttribute key="org.eclipse.ui.externaltools.ATTR_ANT_PROPERTIES">
-<mapEntry key="buildDirectory" value="${build_project}/trash"/>
-<mapEntry key="targetFolder" value="${resource_loc:/org.eclipse.equinox.p2.metadata.generator}"/>
-<mapEntry key="eclipse.pdebuild.scripts" value="/D:/eclipse/plugins/org.eclipse.pde.build_3.3.0.v20070312/scripts/"/>
-<mapEntry key="eclipse.running" value="true"/>
-<mapEntry key="thisPlugin" value="${resource_loc:/org.eclipse.equinox.simpleconfigurator}"/>
-<mapEntry key="eclipse.pdebuild.templates" value="/D:/eclipse/plugins/org.eclipse.pde.build_3.3.0.v20070312/templates/"/>
-<mapEntry key="eclipse.pdebuild.home" value="/D:/eclipse/plugins/org.eclipse.pde.build_3.3.0.v20070312/./"/>
-<mapEntry key="eclipse.home" value="D:\eclipse"/>
-<mapEntry key="baseLocation" value="${target_home}"/>
-</mapAttribute>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.equinox.simpleconfigurator/localbuild.xml}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,"/>
-<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/.project b/bundles/org.eclipse.equinox.simpleconfigurator/.project
deleted file mode 100644
index b2ad3e6..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/.project
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.equinox.simpleconfigurator</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
- <triggers>full,incremental,</triggers>
- <arguments>
- <dictionary>
- <key>LaunchConfigHandle</key>
- <value><project>/.externalToolBuilders/Copy built version of simple configurator into metadata generator.launch</value>
- </dictionary>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.simpleconfigurator/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 03ed95e..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,265 +0,0 @@
-#Fri Feb 22 11:15:38 EST 2008
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=true
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=true
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=true
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=false
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.simpleconfigurator/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 5ae244b..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:59:41 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.simpleconfigurator/META-INF/MANIFEST.MF
deleted file mode 100644
index 95fc38c..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,19 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.simpleconfigurator;singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Name: %bundleName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Activator: org.eclipse.equinox.internal.simpleconfigurator.Activator
-Eclipse-LazyStart: true
-Import-Package: org.eclipse.osgi.framework.console;version="1.0.0";resolution:=optional,
- org.eclipse.osgi.service.datalocation;version="1.0.0";resolution:=optional,
- org.eclipse.osgi.service.resolver;version="1.2.0";resolution:=optional,
- org.osgi.framework;version="1.3.0",
- org.osgi.service.packageadmin;version="1.2.0",
- org.osgi.service.startlevel;version="1.0.0",
- org.osgi.util.tracker;version="1.3.0"
-Export-Package: org.eclipse.equinox.internal.provisional.configurator;x-friends:="org.eclipse.equinox.p2.reconciler.dropins,org.eclipse.equinox.p2.console,org.eclipse.equinox.p2.ui"
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
- J2SE-1.4
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/about.html b/bundles/org.eclipse.equinox.simpleconfigurator/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 2, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/build.properties b/bundles/org.eclipse.equinox.simpleconfigurator/build.properties
deleted file mode 100644
index ac72e5e..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- about.html,\
- plugin.properties
-qualifier=context
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/localbuild.xml b/bundles/org.eclipse.equinox.simpleconfigurator/localbuild.xml
deleted file mode 100644
index a5d7fd7..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/localbuild.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0"?>
-<!-- ======================================================================
- Mar 14, 2007 11:17:02 AM
-
- project
- description
-
- Administrator
- ====================================================================== -->
-<project name="project" default="default">
- <description>
- description
- </description>
-
- <!-- =================================
- target: default
- ================================= -->
- <target name="default" description="--> description">
- <echo message="bd is ${buildDirectory}"/>
- <tstamp/>
- <eclipse.buildScript elements="plugin@org.eclipse.equinox.simpleconfigurator"
- buildDirectory="${buildDirectory}"
- configInfo="*,*,*"
- baseLocation="${baseLocation}"
- buildingOSGi="true"
- outputUpdateJars="false"
- pluginpath="${thisPlugin}"
- forceContextQualifier="z${DSTAMP}${TSTAMP}"
- />
- <ant antfile="build.xml" target="build.jars"/>
- <ant antfile="build.xml" target="build.update.jar"/>
- <move todir="${targetFolder}" includeEmptyDirs="no" failonerror="yes">
- <fileset dir="${basedir}">
- <include name="*.jar"/>
- </fileset>
- <regexpmapper from="^(.*)_.*$" to="\1.jar"/>
- </move>
- <ant antfile="build.xml" target="clean"/>
- <delete file="build.xml"/>
- <delete file="javaCompiler...args"/>
- </target>
-
-
-</project>
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/plugin.properties b/bundles/org.eclipse.equinox.simpleconfigurator/plugin.properties
deleted file mode 100644
index 8cbe5d8..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-bundleName= Simple Configurator
-providerName= Eclipse.org
-
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/provisional/configurator/Configurator.java b/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/provisional/configurator/Configurator.java
deleted file mode 100644
index 2291eb6..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/provisional/configurator/Configurator.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.configurator;
-
-import java.io.IOException;
-import java.net.URL;
-
-/**
- * The implementation of this interface will be registered into a service registry
- * by a Configurator Bundle.
- *
- * The client bundle can apply configuration which can be interpreted by referring
- * the specified location to the current running OSGi environment. In addition,
- * the client can expect bundle state in advance .
- *
- * TODO: this interface might not be required to be defined.
- *
- *
- * **********************************************
- * Current Definition of Configurator Bundle:
- *
- * Configurator Bundle will do the following operation at its startup.
- *
- * 1. Create a Configurator object.
- * 2. Register it as a service to the service registry.
- * 3. Get where to read for knowing what kinds of bundles in its implementation dependent way.
- * 4. Call {@link Configurator#applyConfiguration(URL)} with the URL.
- *
- * At its stopping, the service registered will be unregistered.
- *
- * @see ConfiguratorManipulator
- *
- */
-public interface Configurator {
-
- /**
- * Apply configuration read from the specified url to the OSGi
- * environment currently running.
- *
- * @param url URL to be read.
- * @throws IOException - If reading information from the specified url fails.
- */
- void applyConfiguration(URL url) throws IOException;
-
- /**
- * Apply configuration read from the previously used url to the OSGi
- * environment currently running. If it is never used, do nothing.
- *
- * @throws IOException - If reading information from the specified url fails.
- */
- void applyConfiguration() throws IOException;
-
- /**
- * Return the url in use.
- * If it is never used, return null.
- *
- * @return
- */
- URL getUrlInUse();
-}
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/Activator.java b/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/Activator.java
deleted file mode 100644
index 333df29..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/Activator.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.simpleconfigurator;
-
-import java.util.Dictionary;
-import java.util.Hashtable;
-import org.eclipse.equinox.internal.provisional.configurator.Configurator;
-import org.eclipse.equinox.internal.simpleconfigurator.utils.EquinoxUtils;
-import org.eclipse.equinox.internal.simpleconfigurator.utils.SimpleConfiguratorConstants;
-import org.osgi.framework.*;
-
-/**
- * At its start, SimpleConfigurator bundle does the followings.
- *
- * 1. A value will be gotten by @{link BundleContext#getProperty(key)} with
- * {@link SimpleConfiguratorConstants#PROP_KEY_CONFIGURL} as a key.
- * The value will be used for the referal URL. Under the url, there must be a simple
- * bundles list file to be installed with thier start level and flag of marked as started.
- *
- * 2. If the value is null, do nothing any more.
- * 3. Otherwise, retrieve the bundles list from the url and install,
- * set start level of and start bundles, as specified.
- *
- * 4. A value will be gotten by @{link BundleContext#getProperty(key)} with
- * {@link SimpleConfiguratorConstants#PROP_KEY_EXCLUSIVE_INSTALLATION} as a key.
- *
- * 5. If it equals "false", it will do exclusive installation, which means that
- * the bundles will not be listed in the specified url but installed at the time
- * of the method call except SystemBundle will be uninstalled.
- * Otherwise, no uninstallation will not be done.
- *
- */
-public class Activator implements BundleActivator {
- public final static boolean DEBUG = false;
- private ServiceRegistration configuratorRegistration;
- private ServiceRegistration commandRegistration;
-
- public void start(BundleContext context) throws Exception {
- SimpleConfiguratorImpl bundleConfigurator = new SimpleConfiguratorImpl(context, context.getBundle());
- bundleConfigurator.applyConfiguration();
-
- Dictionary props = new Hashtable();
- props.put(Constants.SERVICE_VENDOR, "Eclipse"); //$NON-NLS-1$
- props.put(Constants.SERVICE_PID, SimpleConfiguratorConstants.TARGET_CONFIGURATOR_NAME);
- ServiceFactory configurationFactory = new SimpleConfiguratorFactory(context);
- configuratorRegistration = context.registerService(Configurator.class.getName(), configurationFactory, props);
-
- try {
- if (null != context.getBundle().loadClass("org.eclipse.osgi.framework.console.CommandProvider")) //$NON-NLS-1$
- commandRegistration = EquinoxUtils.registerConsoleCommands(context);
- } catch (ClassNotFoundException e) {
- // CommandProvider is not available
- // Ok -- optional
- }
-
- if (DEBUG)
- System.out.println("registered Configurator"); //$NON-NLS-1$
- }
-
- public void stop(BundleContext context) throws Exception {
- if (configuratorRegistration != null) {
- configuratorRegistration.unregister();
- configuratorRegistration = null;
- }
- if (commandRegistration != null) {
- commandRegistration.unregister();
- commandRegistration = null;
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/ConfigApplier.java b/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/ConfigApplier.java
deleted file mode 100644
index 9404cc1..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/ConfigApplier.java
+++ /dev/null
@@ -1,375 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved.
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.simpleconfigurator;
-
-import java.io.*;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.equinox.internal.simpleconfigurator.utils.*;
-import org.osgi.framework.*;
-import org.osgi.service.packageadmin.PackageAdmin;
-import org.osgi.service.startlevel.StartLevel;
-
-class ConfigApplier {
- private static final String LAST_BUNDLES_TXT = "last.bundles.info"; //$NON-NLS-1$
- private static final String PROP_DEVMODE = "osgi.dev"; //$NON-NLS-1$
-
- private BundleContext manipulatingContext;
- private PackageAdmin adminService = null;
- private StartLevel startLevelService = null;
- private final boolean runningOnEquinox;
- private final boolean inDevMode;
- private boolean checkManifestBeforeInstall = false;
-
- private Bundle callingBundle;
-
- ConfigApplier(BundleContext context, Bundle callingBundle) {
- this.manipulatingContext = context;
- this.callingBundle = callingBundle;
- //String vendor = context.getProperty(Constants.FRAMEWORK_VENDOR);
- //System.out.println("vendor=" + vendor);
- this.runningOnEquinox = "Eclipse".equals(context.getProperty(Constants.FRAMEWORK_VENDOR)); //$NON-NLS-1$
- this.inDevMode = manipulatingContext.getProperty(PROP_DEVMODE) != null;
- ServiceReference packageAdminRef = manipulatingContext.getServiceReference(PackageAdmin.class.getName());
- if (packageAdminRef == null)
- throw new IllegalStateException("No PackageAdmin service is available."); //$NON-NLS-1$
-
- adminService = (PackageAdmin) manipulatingContext.getService(packageAdminRef);
-
- ServiceReference startLevelRef = manipulatingContext.getServiceReference(StartLevel.class.getName());
- if (startLevelRef == null)
- throw new IllegalStateException("No StartLevelService service is available."); //$NON-NLS-1$
- startLevelService = (StartLevel) manipulatingContext.getService(startLevelRef);
-
- }
-
- void install(BundleInfo[] expectedState, URL url, boolean exclusiveMode) {
- HashSet toUninstall = null;
- if (!exclusiveMode) {
- BundleInfo[] lastInstalledBundles = getLastState();
- if (lastInstalledBundles != null) {
- toUninstall = new HashSet(Arrays.asList(lastInstalledBundles));
- toUninstall.removeAll(Arrays.asList(expectedState));
- }
- saveStateAsLast(url);
- }
-
- Collection prevouslyResolved = getResolvedBundles();
- Collection toRefresh = new ArrayList();
- Collection toStart = new ArrayList();
- if (exclusiveMode) {
- toRefresh.addAll(installBundles(expectedState, toStart));
- toRefresh.addAll(uninstallBundles(expectedState, adminService));
- } else {
- toRefresh.addAll(installBundles(expectedState, toStart));
- if (toUninstall != null)
- toRefresh.addAll(uninstallBundles(toUninstall));
- }
- refreshPackages((Bundle[]) toRefresh.toArray(new Bundle[toRefresh.size()]), manipulatingContext);
- if (toRefresh.size() > 0)
- try {
- manipulatingContext.getBundle().loadClass("org.eclipse.osgi.service.resolver.PlatformAdmin"); //$NON-NLS-1$
- // now see if there are any currently resolved bundles with option imports which could be resolved or
- // if there are fragments with additional constraints which conflict with an already resolved host
- Bundle[] additionalRefresh = StateResolverUtils.getAdditionalRefresh(prevouslyResolved, manipulatingContext);
- if (additionalRefresh.length > 0)
- refreshPackages(additionalRefresh, manipulatingContext);
- } catch (ClassNotFoundException cnfe) {
- // do nothing; no resolver package available
- }
- startBundles((Bundle[]) toStart.toArray(new Bundle[toStart.size()]));
- //if time stamps are the same
- // do nothing
- // return
- //if list exists
- // force the list in the fwk
- //else
- // discover bundles in folders and force the list in the fwk
- }
-
- private Collection getResolvedBundles() {
- Collection resolved = new HashSet();
- Bundle[] allBundles = manipulatingContext.getBundles();
- for (int i = 0; i < allBundles.length; i++)
- if ((allBundles[i].getState() & (Bundle.INSTALLED | Bundle.UNINSTALLED)) == 0)
- resolved.add(allBundles[i]);
- return resolved;
- }
-
- private Collection uninstallBundles(HashSet toUninstall) {
- Collection removedBundles = new ArrayList(toUninstall.size());
- for (Iterator iterator = toUninstall.iterator(); iterator.hasNext();) {
- BundleInfo current = (BundleInfo) iterator.next();
- Bundle[] matchingBundles = adminService.getBundles(current.getSymbolicName(), getVersionRange(current.getVersion()));
- for (int j = 0; matchingBundles != null && j < matchingBundles.length; j++) {
- try {
- removedBundles.add(matchingBundles[j]);
- matchingBundles[j].uninstall();
- } catch (BundleException e) {
- //TODO log in debug mode...
- }
- }
- }
- return removedBundles;
- }
-
- private void saveStateAsLast(URL url) {
- InputStream sourceStream = null;
- OutputStream destinationStream = null;
-
- File lastBundlesTxt = getLastBundleTxt();
- try {
- try {
- destinationStream = new FileOutputStream(lastBundlesTxt);
- sourceStream = url.openStream();
- SimpleConfiguratorUtils.transferStreams(sourceStream, destinationStream);
- } finally {
- if (destinationStream != null)
- destinationStream.close();
- if (sourceStream != null)
- sourceStream.close();
- }
- } catch (IOException e) {
- //nothing
- }
- }
-
- private File getLastBundleTxt() {
- return manipulatingContext.getDataFile(LAST_BUNDLES_TXT);
- }
-
- private BundleInfo[] getLastState() {
- File lastBundlesTxt = getLastBundleTxt();
- if (!lastBundlesTxt.isFile())
- return null;
- try {
- return (BundleInfo[]) SimpleConfiguratorUtils.readConfiguration(lastBundlesTxt.toURL()).toArray(new BundleInfo[1]);
- } catch (IOException e) {
- return null;
- }
- }
-
- private ArrayList installBundles(BundleInfo[] finalList, Collection toStart) {
- ArrayList toRefresh = new ArrayList();
- //printSystemBundle();
-
- boolean useReference = true;
- if (manipulatingContext.getProperty(SimpleConfiguratorConstants.PROP_KEY_USE_REFERENCE) == null)
- useReference = true;
- else
- useReference = Boolean.valueOf(manipulatingContext.getProperty(SimpleConfiguratorConstants.PROP_KEY_USE_REFERENCE)).booleanValue();
-
- for (int i = 0; i < finalList.length; i++) {
- if (finalList[i] == null)
- continue;
- //TODO here we do not deal with bundles that don't have a symbolic id
- //TODO Need to handle the case where getBundles return multiple value
-
- String symbolicName = finalList[i].getSymbolicName();
- String version = finalList[i].getVersion();
-
- if (checkManifestBeforeInstall) {
- Dictionary manifest = Utils.getOSGiManifest(finalList[i].getLocation());
- if (manifest == null) {
- Utils.log(1, null, null, "No bundle found at: " + finalList[i].getLocation(), null); //$NON-NLS-1$
- finalList[i] = null;
- continue;
- }
-
- //if (manifest != null)
- try {
- symbolicName = (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME);
- } catch (RuntimeException re) {
- System.err.println("cannot get Manifest :" + finalList[i]); //$NON-NLS-1$
- throw re;
- }
- if (symbolicName != null && symbolicName.indexOf(';') != -1)
- symbolicName = symbolicName.substring(0, symbolicName.indexOf(';')).trim();
-
- version = (String) manifest.get(Constants.BUNDLE_VERSION);
- }
-
- Bundle[] matches = null;
- if (symbolicName != null && version != null)
- matches = adminService.getBundles(symbolicName, getVersionRange(version));
-
- String location = finalList[i].getLocation();
- if (location == null)
- continue;
- if (runningOnEquinox && useReference && location.startsWith("file:")) //$NON-NLS-1$
- location = "reference:" + location; //$NON-NLS-1$
- Bundle current = matches == null ? null : (matches.length == 0 ? null : matches[0]);
- if (current == null) {
- try {
- //TODO Need to eliminate System Bundle.
- // If a system bundle doesn't have a SymbolicName header, like Knopflerfish 4.0.0,
- // it will be installed unfortunately.
- current = manipulatingContext.installBundle(location);
- if (Activator.DEBUG)
- System.out.println("installed bundle:" + finalList[i]); //$NON-NLS-1$
- toRefresh.add(current);
- } catch (BundleException e) {
- if (Activator.DEBUG) {
- System.err.println("Can't install " + symbolicName + '/' + version + " from location " + finalList[i].getLocation()); //$NON-NLS-1$ //$NON-NLS-2$
- e.printStackTrace();
- }
- continue;
- }
- } else if (inDevMode && current.getBundleId() != 0 && current != manipulatingContext.getBundle() && !location.equals(current.getLocation()) && !current.getLocation().startsWith("initial@")) {
- // We do not do this for the system bundle (id==0), the manipulating bundle or any bundle installed from the osgi.bundles list (locations starting with "@initial"
- // The bundle exists; but the location is different. Unintall the current and install the new one (bug 229700)
- try {
- current.uninstall();
- toRefresh.add(current);
- } catch (BundleException e) {
- if (Activator.DEBUG) {
- System.err.println("Can't uninstalll " + symbolicName + '/' + version + " from location " + current.getLocation()); //$NON-NLS-1$ //$NON-NLS-2$
- e.printStackTrace();
- }
- continue;
- }
- try {
- current = manipulatingContext.installBundle(location);
- if (Activator.DEBUG)
- System.out.println("installed bundle:" + finalList[i]); //$NON-NLS-1$
- toRefresh.add(current);
- } catch (BundleException e) {
- if (Activator.DEBUG) {
- System.err.println("Can't install " + symbolicName + '/' + version + " from location " + finalList[i].getLocation()); //$NON-NLS-1$ //$NON-NLS-2$
- e.printStackTrace();
- }
- continue;
- }
- }
- int startLevel = finalList[i].getStartLevel();
- if (startLevel != BundleInfo.NO_LEVEL)
- if (current.getBundleId() != 0) {
- String name = current.getSymbolicName();
- try {
- if (startLevel > 0)
- if (!SimpleConfiguratorConstants.TARGET_CONFIGURATOR_NAME.equals(name))
- startLevelService.setBundleStartLevel(current, startLevel);
- } catch (IllegalArgumentException ex) {
- Utils.log(4, null, null, "Failed to set start level of Bundle:" + finalList[i], ex); //$NON-NLS-1$
- }
- }
- if (finalList[i].isMarkedAsStarted()) {
- toStart.add(current);
- }
- }
- return toRefresh;
- }
-
- private void refreshPackages(Bundle[] bundles, BundleContext context) {
- if (bundles.length == 0)
- return;
- ServiceReference packageAdminRef = context.getServiceReference(PackageAdmin.class.getName());
- PackageAdmin packageAdmin = null;
- if (packageAdminRef != null) {
- packageAdmin = (PackageAdmin) context.getService(packageAdminRef);
- if (packageAdmin == null)
- return;
- }
- final boolean[] flag = new boolean[] {false};
- FrameworkListener listener = new FrameworkListener() {
- public void frameworkEvent(FrameworkEvent event) {
- if (event.getType() == FrameworkEvent.PACKAGES_REFRESHED) {
- synchronized (flag) {
- flag[0] = true;
- flag.notifyAll();
- }
- }
- }
- };
- context.addFrameworkListener(listener);
- packageAdmin.refreshPackages(bundles);
- synchronized (flag) {
- while (!flag[0]) {
- try {
- flag.wait();
- } catch (InterruptedException e) {
- //ignore
- }
- }
- }
- // if (DEBUG) {
- // for (int i = 0; i < bundles.length; i++) {
- // System.out.println(SimpleConfiguratorUtils.getBundleStateString(bundles[i]));
- // }
- // }
- context.removeFrameworkListener(listener);
- context.ungetService(packageAdminRef);
- }
-
- private void startBundles(Bundle[] bundles) {
- for (int i = 0; i < bundles.length; i++) {
- Bundle bundle = bundles[i];
- if (bundle.getState() == Bundle.STARTING && (bundle == callingBundle || bundle == manipulatingContext.getBundle()))
- continue;
-
- try {
- bundle.start();
- if (Activator.DEBUG)
- System.out.println("started Bundle:" + bundle.getSymbolicName() + '(' + bundle.getLocation() + ':' + bundle.getBundleId() + ')'); //$NON-NLS-1$
- } catch (BundleException e) {
- e.printStackTrace();
- // FrameworkLogEntry entry = new FrameworkLogEntry(FrameworkAdaptor.FRAMEWORK_SYMBOLICNAME, NLS.bind(EclipseAdaptorMsg.ECLIPSE_STARTUP_FAILED_START, bundle.getLocation()), 0, e, null);
- // log.log(entry);
- }
- }
- }
-
- /**
- * Uninstall bundles which are not listed on finalList.
- *
- * @param finalList bundles list not to be uninstalled.
- * @param packageAdmin package admin service.
- * @return Collection HashSet of bundles finally installed.
- */
- private Collection uninstallBundles(BundleInfo[] finalList, PackageAdmin packageAdmin) {
- Bundle[] allBundles = manipulatingContext.getBundles();
-
- //Build a set with all the bundles from the system
- Set removedBundles = new HashSet(allBundles.length);
- // configurator.setPrerequisiteBundles(allBundles);
- for (int i = 0; i < allBundles.length; i++) {
- if (allBundles[i].getBundleId() == 0)
- continue;
- removedBundles.add(allBundles[i]);
- }
-
- //Remove all the bundles appearing in the final list from the set of installed bundles
- for (int i = 0; i < finalList.length; i++) {
- if (finalList[i] == null)
- continue;
- Bundle[] toAdd = packageAdmin.getBundles(finalList[i].getSymbolicName(), getVersionRange(finalList[i].getVersion()));
- for (int j = 0; toAdd != null && j < toAdd.length; j++) {
- removedBundles.remove(toAdd[j]);
- }
- }
-
- for (Iterator iter = removedBundles.iterator(); iter.hasNext();) {
- try {
- Bundle bundle = ((Bundle) iter.next());
- bundle.uninstall();
- if (Activator.DEBUG)
- System.out.println("uninstalled Bundle:" + bundle.getSymbolicName() + '(' + bundle.getLocation() + ':' + bundle.getBundleId() + ')'); //$NON-NLS-1$
- } catch (BundleException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
-
- return removedBundles;
- }
-
- private String getVersionRange(String version) {
- return version == null ? null : new StringBuffer().append('[').append(version).append(',').append(version).append(']').toString();
- }
-}
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/SimpleConfiguratorFactory.java b/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/SimpleConfiguratorFactory.java
deleted file mode 100644
index 7e8dbeb..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/SimpleConfiguratorFactory.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.simpleconfigurator;
-
-import org.osgi.framework.*;
-
-public class SimpleConfiguratorFactory implements ServiceFactory {
- private BundleContext context;
-
- public SimpleConfiguratorFactory(BundleContext context) {
- this.context = context;
- }
-
- public Object getService(Bundle bundle, ServiceRegistration registration) {
- return new SimpleConfiguratorImpl(context, bundle);
- }
-
- public void ungetService(Bundle bundle, ServiceRegistration registration, Object service) {
- // nothing to do
- }
-}
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/SimpleConfiguratorImpl.java b/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/SimpleConfiguratorImpl.java
deleted file mode 100644
index c09e4d7..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/SimpleConfiguratorImpl.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved.
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.simpleconfigurator;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.List;
-import org.eclipse.equinox.internal.provisional.configurator.Configurator;
-import org.eclipse.equinox.internal.simpleconfigurator.utils.*;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-
-/*
- * SimpleConfigurator provides ways to install bundles listed in a file
- * accessible by the specified URL and expect states for it in advance without
- * actual application.
- *
- * In every methods of SimpleConfiguration object,
- *
- * 1. A value will be gotten by @{link BundleContext#getProperty(key) with
- * {@link SimpleConfiguratorConstants#PROP_KEY_EXCLUSIVE_INSTALLATION} as a key.
- * 2. If it equals "true", it will do exclusive installation, which means that
- * the bundles will not be listed in the specified url but installed at the time
- * of the method call except SystemBundle will be uninstalled. Otherwise, no
- * uninstallation will not be done.
- */
-public class SimpleConfiguratorImpl implements Configurator {
-
- private static URL configurationURL = null;
- private static Object configurationLock = new Object();
-
- private BundleContext context;
- private ConfigApplier configApplier;
- private Bundle bundle;
-
- public SimpleConfiguratorImpl(BundleContext context, Bundle bundle) {
- this.context = context;
- this.bundle = bundle;
- }
-
- private URL getConfigurationURL() {
- String specifiedURL = context.getProperty(SimpleConfiguratorConstants.PROP_KEY_CONFIGURL);
- if (specifiedURL == null)
- specifiedURL = "file:" + SimpleConfiguratorConstants.CONFIGURATOR_FOLDER + "/" + SimpleConfiguratorConstants.CONFIG_LIST;
-
- try {
- //If it is not a file URL use it as is
- if (!specifiedURL.startsWith("file:"))
- return new URL(specifiedURL);
- } catch (MalformedURLException e) {
- return null;
- }
-
- try {
- // if it is an absolute file URL, use it as is
- boolean done = false;
- URL url = null;
- String file = specifiedURL;
- while (!done) {
- // TODO what is this while loop for? nested file:file:file: urls?
- try {
- url = Utils.buildURL(file);
- file = url.getFile();
- } catch (java.net.MalformedURLException e) {
- done = true;
- }
- }
- if (url != null && new File(url.getFile()).isAbsolute())
- return url;
-
- //if it is an relative file URL, then resolve it against the configuration area
- URL[] configURL = EquinoxUtils.getConfigAreaURL(context);
- if (configURL != null) {
- File userConfig = new File(configURL[0].getFile(), url.getFile());
- if (configURL.length == 1)
- return userConfig.exists() ? userConfig.toURL() : null;
-
- File sharedConfig = new File(configURL[1].getFile(), url.getFile());
- if (!userConfig.exists())
- return sharedConfig.exists() ? sharedConfig.toURL() : null;
-
- if (!sharedConfig.exists())
- return userConfig.toURL();
-
- return (sharedConfig.lastModified() > userConfig.lastModified()) ? sharedConfig.toURL() : userConfig.toURL();
- }
- } catch (MalformedURLException e) {
- return null;
- }
-
- //Last resort
- try {
- return Utils.buildURL(specifiedURL);
- } catch (MalformedURLException e) {
- //Ignore
- }
-
- return null;
- }
-
- public void applyConfiguration(URL url) throws IOException {
- synchronized (configurationLock) {
- if (Activator.DEBUG)
- System.out.println("applyConfiguration() URL=" + url);
- if (url == null)
- return;
- configurationURL = url;
-
- List bundleInfoList = SimpleConfiguratorUtils.readConfiguration(url);
- if (Activator.DEBUG)
- System.out.println("applyConfiguration() bundleInfoList.size()=" + bundleInfoList.size());
- if (bundleInfoList.size() == 0)
- return;
- if (this.configApplier == null)
- configApplier = new ConfigApplier(context, bundle);
- configApplier.install(Utils.getBundleInfosFromList(bundleInfoList), url, isExclusiveInstallation());
- }
- }
-
- private boolean isExclusiveInstallation() {
- String value = context.getProperty(SimpleConfiguratorConstants.PROP_KEY_EXCLUSIVE_INSTALLATION);
- if (value == null || value.trim().length() == 0)
- value = "true";
- return Boolean.valueOf(value).booleanValue();
- }
-
- public void applyConfiguration() throws IOException {
- synchronized (configurationLock) {
- configurationURL = getConfigurationURL();
- applyConfiguration(configurationURL);
- }
- }
-
- public URL getUrlInUse() {
- synchronized (configurationLock) {
- return configurationURL;
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/console/ApplyCommand.java b/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/console/ApplyCommand.java
deleted file mode 100644
index da5f020..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/console/ApplyCommand.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.simpleconfigurator.console;
-
-import java.io.IOException;
-import java.net.URL;
-
-import org.eclipse.equinox.internal.provisional.configurator.Configurator;
-import org.eclipse.osgi.framework.console.CommandInterpreter;
-import org.osgi.framework.BundleContext;
-import org.osgi.util.tracker.ServiceTracker;
-
-/**
- * An OSGi console command to apply a configuration
- */
-public class ApplyCommand {
-
- private URL configURL;
- private CommandInterpreter interpreter;
- private BundleContext context;
-
- public ApplyCommand(CommandInterpreter interpreter, BundleContext context, URL configURL) {
- this.interpreter = interpreter;
- this.context = context;
- this.configURL = configURL;
- }
-
- /**
- * Runs the apply console command
- */
- public void run() {
- ServiceTracker tracker = new ServiceTracker(context, Configurator.class.getName(), null);
- tracker.open();
- Configurator configurator = (Configurator) tracker.getService();
- if (configurator != null) {
- try {
- if (configURL != null)
- configurator.applyConfiguration(configURL);
- else
- configurator.applyConfiguration();
-
- if (configurator.getUrlInUse() == null)
- interpreter.println("Config URL not set.");
- } catch (IOException e) {
- interpreter.println(e.getMessage());
- }
- } else {
- interpreter.println("No configurator registered"); //$NON-NLS-1$
- }
- tracker.close();
- }
-}
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/console/ConfiguratorCommandProvider.java b/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/console/ConfiguratorCommandProvider.java
deleted file mode 100644
index 4800127..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/console/ConfiguratorCommandProvider.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.simpleconfigurator.console;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import org.eclipse.equinox.internal.simpleconfigurator.utils.Utils;
-import org.eclipse.osgi.framework.console.CommandInterpreter;
-import org.eclipse.osgi.framework.console.CommandProvider;
-import org.osgi.framework.BundleContext;
-
-public class ConfiguratorCommandProvider implements CommandProvider {
- public static final String NEW_LINE = System.getProperty("line.separator", "\n"); //$NON-NLS-1$ //$NON-NLS-2$
-
- private BundleContext context;
-
- public ConfiguratorCommandProvider(BundleContext context) {
- this.context = context;
- }
-
- /**
- * Returns the given string as an URL, or <code>null</code> if
- * the string could not be interpreted as an URL.
- */
- private URL toURL(CommandInterpreter interpreter, String urlString) {
- try {
- return Utils.buildURL(urlString);
- } catch (MalformedURLException e) {
- interpreter.println(e.getMessage());
- return null;
- }
- }
-
- /**
- * Apply the current configuration
- * @param configuration URL (optional)
- */
- public void _confapply(CommandInterpreter interpreter) {
- String parameter = interpreter.nextArgument();
- URL configURL = null;
- if (parameter != null)
- configURL = toURL(interpreter, parameter);
-
- new ApplyCommand(interpreter, context, configURL).run();
- }
-
- public String getHelp() {
- StringBuffer help = new StringBuffer();
- help.append(NEW_LINE);
- help.append("---"); //$NON-NLS-1$
- help.append("Configurator Commands"); //$NON-NLS-1$
- help.append("---"); //$NON-NLS-1$
- help.append(NEW_LINE);
- help.append("\tconfapply [<config URL>] - Applies a configuration"); //$NON-NLS-1$
- return help.toString();
- }
-}
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/BundleInfo.java b/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/BundleInfo.java
deleted file mode 100644
index bfefb62..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/BundleInfo.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.simpleconfigurator.utils;
-
-/**
- * This object represents information of a bundle.
- *
- */
-public class BundleInfo {
- public static final int NO_LEVEL = -1;
-
- private String symbolicName = null;
- private String version = null;
- private String location;
-
- private boolean markedAsStarted = false;
- private int startLevel = NO_LEVEL;
- private boolean resolved = false;
-
- public BundleInfo(String symbolic, String version, String location, int startLevel, boolean started) {
- this.symbolicName = symbolic;
- this.version = version;
- this.location = location.trim();
- this.markedAsStarted = started;
- this.startLevel = startLevel;
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#equals(java.lang.Object)
- */
- public boolean equals(Object toCompare) {
- if (toCompare instanceof BundleInfo) {
- BundleInfo info = (BundleInfo) toCompare;
- //if (info.symbolicName.equals(symbolicName) && info.version.equals(version) && (info.url == null || url == null ? true : info.url.equals(url)))
- if (info.symbolicName != null && info.version != null && symbolicName != null && version != null) {
- if (info.symbolicName.equals(symbolicName) && info.version.equals(version) && (info.location == null || location == null ? true : info.location.equals(location)))
- return true;
- } else {
- return (info.location == null || location == null ? false : info.location.equals(location));
- }
- }
- return false;
- }
-
- public String getLocation() {
- return location;
- }
-
- public int getStartLevel() {
- return startLevel;
- }
-
- public String getSymbolicName() {
- return symbolicName;
- }
-
- public String getVersion() {
- return version;
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#hashCode()
- */
- public int hashCode() {
- int result = symbolicName == null ? 0 : symbolicName.hashCode();
- result = result + (version == null ? 0 : version.hashCode());
- result = result + (location == null ? 0 : location.hashCode());
- return result;
- }
-
- public boolean isMarkedAsStarted() {
- return markedAsStarted;
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#toString()
- */
- public String toString() {
- StringBuffer buffer = new StringBuffer();
- buffer.append("BundleInfo("); //$NON-NLS-1$
- if (symbolicName != null)
- buffer.append(symbolicName);
- buffer.append(", "); //$NON-NLS-1$
- if (version != null)
- buffer.append(version);
- buffer.append(", "); //$NON-NLS-1$
- buffer.append("location="); //$NON-NLS-1$
- buffer.append(location);
- buffer.append(", startLevel="); //$NON-NLS-1$
- buffer.append(startLevel);
- buffer.append(", toBeStarted="); //$NON-NLS-1$
- buffer.append(markedAsStarted);
- buffer.append(", resolved="); //$NON-NLS-1$
- buffer.append(resolved);
- buffer.append(')');
- return buffer.toString();
- }
-}
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/EquinoxUtils.java b/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/EquinoxUtils.java
deleted file mode 100644
index ad5dc6f..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/EquinoxUtils.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved.
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.simpleconfigurator.utils;
-
-import java.net.URL;
-import org.eclipse.equinox.internal.simpleconfigurator.console.ConfiguratorCommandProvider;
-import org.eclipse.osgi.framework.console.CommandProvider;
-import org.eclipse.osgi.service.datalocation.Location;
-import org.osgi.framework.*;
-import org.osgi.util.tracker.ServiceTracker;
-
-public class EquinoxUtils {
-
- public static URL[] getConfigAreaURL(BundleContext context) {
- Filter filter = null;
- try {
- filter = context.createFilter(Location.CONFIGURATION_FILTER);
- } catch (InvalidSyntaxException e) {
- // should not happen
- }
- ServiceTracker configLocationTracker = new ServiceTracker(context, filter, null);
- configLocationTracker.open();
- try {
- Location configLocation = (Location) configLocationTracker.getService();
- if (configLocation == null)
- return null;
-
- URL baseURL = configLocation.getURL();
- if (configLocation.getParentLocation() != null && configLocation.getURL() != null) {
- if (baseURL == null)
- return new URL[] {configLocation.getParentLocation().getURL()};
- else
- return new URL[] {baseURL, configLocation.getParentLocation().getURL()};
- }
- if (baseURL != null)
- return new URL[] {baseURL};
-
- return null;
- } finally {
- configLocationTracker.close();
- }
- }
-
- public static ServiceRegistration registerConsoleCommands(BundleContext context) {
- return context.registerService(CommandProvider.class.getName(), new ConfiguratorCommandProvider(context), null);
- }
-}
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/SimpleConfiguratorConstants.java b/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/SimpleConfiguratorConstants.java
deleted file mode 100644
index b36f656..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/SimpleConfiguratorConstants.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.simpleconfigurator.utils;
-
-public class SimpleConfiguratorConstants {
- /**
- * If BundleContext#getProperty(PROP_KEY_EXCLUSIVE_INSTALLATION) equals "true" ignoring case,
- * Configurator.applyConfiguration(url) will uninstall the installed bundles which are not
- * listed in the simpleconfigurator config file after install bundles listed.
- * Otherwise, it never uninstall any bundles.
- *
- * Default: false
- */
- public static final String PROP_KEY_EXCLUSIVE_INSTALLATION = "org.eclipse.equinox.simpleconfigurator.exclusiveInstallation"; //$NON-NLS-1$
-
- /**
- * If BundleContext#getProperty(PROP_KEY_USE_REFERENCE) does not equal "false" ignoring case,
- * when a SimpleConfigurator installs a bundle, "reference:" is added to its bundle location in order to avoid
- * caching its bundle jar. Otherwise, it will add nothing to any bundle location.
- *
- * Default: true
- */
- public static final String PROP_KEY_USE_REFERENCE = "org.eclipse.equinox.simpleconfigurator.useReference"; //$NON-NLS-1$
-
- /**
- * BundleContext#getProperty(PROP_KEY_CONFIGURL) is used for SimpleConfigurator to do life cycle control of bundles.
- * The file specified by the returned url is read by SimpleConfigurator and do life cycle control according to it.
- * If improper value or null is returned, SimpleConfigurator doesn't do it.
- *
- * Default: null
- */
- public static final String PROP_KEY_CONFIGURL = "org.eclipse.equinox.simpleconfigurator.configUrl"; //$NON-NLS-1$
-
- public static final String CONFIG_LIST = "bundles.info"; //$NON-NLS-1$
- public static final String CONFIGURATOR_FOLDER = "org.eclipse.equinox.simpleconfigurator"; //$NON-NLS-1$
-
- public static final String TARGET_CONFIGURATOR_NAME = "org.eclipse.equinox.simpleconfigurator"; //$NON-NLS-1$
-
- public static final String PARAMETER_BASEURL = "org.eclipse.equinox.simpleconfigurator.baseUrl"; //$NON-NLS-1$
-
-}
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/SimpleConfiguratorUtils.java b/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/SimpleConfiguratorUtils.java
deleted file mode 100644
index 6a83fac..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/SimpleConfiguratorUtils.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.simpleconfigurator.utils;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-
-public class SimpleConfiguratorUtils {
-
- public static List readConfiguration(URL url) throws IOException {
- List bundles = new ArrayList();
- try {
- BufferedReader r = new BufferedReader(new InputStreamReader(url.openStream()));
-
- String line;
- try {
- URL baseUrl = new URL(url, "./"); //$NON-NLS-1$
- while ((line = r.readLine()) != null) {
- if (line.startsWith("#")) //$NON-NLS-1$
- continue;
- line = line.trim();// symbolicName,version,location,startlevel,expectedState
- if (line.length() == 0)
- continue;
-
- // (expectedState is an integer).
- if (line.startsWith(SimpleConfiguratorConstants.PARAMETER_BASEURL + "=")) { //$NON-NLS-1$
- String baseUrlSt = line.substring((SimpleConfiguratorConstants.PARAMETER_BASEURL + "=").length()); //$NON-NLS-1$
- if (!baseUrlSt.endsWith("/")) //$NON-NLS-1$
- baseUrlSt += "/"; //$NON-NLS-1$
- baseUrl = new URL(url, baseUrlSt);
- continue;
- }
- StringTokenizer tok = new StringTokenizer(line, ",", true); //$NON-NLS-1$
- String symbolicName = tok.nextToken();
- if (symbolicName.equals(",")) //$NON-NLS-1$
- symbolicName = null;
- else
- tok.nextToken(); // ,
-
- String version = tok.nextToken();
- if (version.equals(",")) //$NON-NLS-1$
- version = null;
- else
- tok.nextToken(); // ,
-
- String urlSt = tok.nextToken();
- if (urlSt.equals(",")) { //$NON-NLS-1$
- if (symbolicName != null && version != null)
- urlSt = symbolicName + "_" + version + ".jar"; //$NON-NLS-1$ //$NON-NLS-2$
- else
- urlSt = null;
- } else
- tok.nextToken(); // ,
- try {
- Utils.buildURL(urlSt);
- } catch (MalformedURLException e) {
- urlSt = Utils.getUrlInFull(urlSt, baseUrl).toExternalForm();
- }
-
- int sl = Integer.parseInt(tok.nextToken().trim());
- tok.nextToken(); // ,
- boolean markedAsStarted = Boolean.valueOf(tok.nextToken()).booleanValue();
- // URL urlBundle = null;
- // try {
- // urlBundle = Utils.buildURL(urlSt);
- // } catch (MalformedURLException e) {
- // urlBundle = Utils.getFullUrl(urlSt, baseUrl);
- // }
-
- BundleInfo bInfo = new BundleInfo(symbolicName, version, urlSt, sl, markedAsStarted);
- bundles.add(bInfo);
- }
- } finally {
- try {
- r.close();
- } catch (IOException ex) {
- // ignore
- }
- }
- } catch (MalformedURLException e) {
- e.printStackTrace();
- // TODO log something
- // bundleInfos = NULL_BUNDLEINFOS;
- }
- return bundles;
- }
-
- public static void transferStreams(InputStream source, OutputStream destination) throws IOException {
- source = new BufferedInputStream(source);
- destination = new BufferedOutputStream(destination);
- try {
- byte[] buffer = new byte[8192];
- while (true) {
- int bytesRead = -1;
- if ((bytesRead = source.read(buffer)) == -1)
- break;
- destination.write(buffer, 0, bytesRead);
- }
- } finally {
- try {
- source.close();
- } catch (IOException e) {
- // ignore
- }
- try {
- destination.close();
- } catch (IOException e) {
- // ignore
- }
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/StateResolverUtils.java b/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/StateResolverUtils.java
deleted file mode 100644
index 0b1b5f9..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/StateResolverUtils.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.simpleconfigurator.utils;
-
-import java.util.*;
-import org.eclipse.osgi.service.resolver.*;
-import org.osgi.framework.*;
-
-public class StateResolverUtils {
-
- public static Bundle[] getAdditionalRefresh(Collection currentResolved, BundleContext context) {
- ServiceReference ref = context.getServiceReference(PlatformAdmin.class.getName());
- if (ref == null)
- return new Bundle[0];
- PlatformAdmin platformAdmin = (PlatformAdmin) context.getService(ref);
- if (platformAdmin == null)
- return new Bundle[0];
- try {
- State state = platformAdmin.getState(false);
- BundleDescription[] bundles = state.getBundles();
- HashSet results = new HashSet(bundles.length);
- getAdditionRefresh(bundles, state, currentResolved, results, context);
- return (Bundle[]) results.toArray(new Bundle[results.size()]);
- } finally {
- context.ungetService(ref);
- }
- }
-
- private static void getAdditionRefresh(BundleDescription[] bundleDescriptions, State state, Collection currentResolved, Set results, BundleContext context) {
- bundles: for (int i = 0; i < bundleDescriptions.length; i++) {
- Bundle bundle = context.getBundle(bundleDescriptions[i].getBundleId());
- if (bundle == null)
- continue bundles;
- // look for a fragment which adds a conflicted constraint to an already resolved host
- if (!bundleDescriptions[i].isResolved() && bundleDescriptions[i].getHost() != null) {
- ResolverError[] errors = state.getResolverErrors(bundleDescriptions[i]);
- for (int j = 0; j < errors.length; j++) {
- if ((errors[j].getType() & ResolverError.FRAGMENT_CONFLICT) != 0) {
- BundleDescription[] possibleHosts = state.getBundles(bundleDescriptions[i].getHost().getName());
- for (int k = 0; k < possibleHosts.length; k++) {
- Bundle hostBundle = context.getBundle(possibleHosts[k].getBundleId());
- if (hostBundle != null && currentResolved.contains(hostBundle) && bundleDescriptions[i].getHost().isSatisfiedBy(possibleHosts[k]))
- results.add(hostBundle);
- }
- }
- }
- continue bundles;
- }
- if (!currentResolved.contains(bundle) || !bundleDescriptions[i].isResolved())
- continue bundles;
- // look for optional imports which are unresolved but are resolvable
- ImportPackageSpecification[] imports = bundleDescriptions[i].getImportPackages();
- for (int j = 0; j < imports.length; j++)
- if (ImportPackageSpecification.RESOLUTION_OPTIONAL.equals(imports[j].getDirective(Constants.RESOLUTION_DIRECTIVE)) && !imports[j].isResolved() && state.getStateHelper().isResolvable(imports[j])) {
- results.add(bundle);
- continue bundles;
- }
- // look for optional requires which are unresolved but are resolvable
- BundleSpecification[] requires = bundleDescriptions[i].getRequiredBundles();
- for (int j = 0; j < requires.length; j++)
- if (requires[j].isOptional() && !requires[j].isResolved() && state.getStateHelper().isResolvable(requires[j])) {
- results.add(bundle);
- continue bundles;
- }
- }
- }
-}
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/Utils.java b/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/Utils.java
deleted file mode 100644
index bb0b921..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/Utils.java
+++ /dev/null
@@ -1,233 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved.
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.simpleconfigurator.utils;
-
-import java.io.*;
-import java.net.*;
-import java.util.*;
-import java.util.jar.*;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-import org.eclipse.equinox.internal.simpleconfigurator.Activator;
-
-/*
- * This class was copied from org.eclipse.equinox.internal.frameworkadmin.utils
- * package of org.eclipse.equinox.frameworkadmin plugin on March 3 2007.
- *
- * The reason why it was copied is to make simpleconfigurator dependent on any
- * bundles(org.eclipse.equinox.framework).
- */
-
-public class Utils {
- private final static String PATH_SEP = "/"; //$NON-NLS-1$
-
- public static URL checkFullUrl(URL url, String urlName) throws IllegalArgumentException {//throws ManipulatorException {
- if (url == null)
- throw new IllegalArgumentException(urlName + " is null");
- if (!url.getProtocol().endsWith("file"))
- return url;
- File file = new File(url.getFile());
- if (!file.isAbsolute())
- throw new IllegalArgumentException(urlName + "(" + url + ") does not have absolute path");
- if (file.getAbsolutePath().startsWith(PATH_SEP))
- return url;
- try {
- return getUrl("file", null, PATH_SEP + file.getAbsolutePath());
- } catch (MalformedURLException e) {
- throw new IllegalArgumentException(urlName + "(" + "file:" + PATH_SEP + file.getAbsolutePath() + ") is not fully quallified");
- }
- }
-
- public static void deleteDir(File file) throws IOException {
- if (file.isFile()) {
- if (!file.delete())
- throw new IOException("Fail to delete File(" + file.getAbsolutePath() + ")");
- return;
- }
- File[] children = file.listFiles();
- for (int i = 0; i < children.length; i++) {
- deleteDir(children[i]);
- }
- if (!file.delete())
- throw new IOException("Fail to delete Dir(" + file.getAbsolutePath() + ")");
- return;
- }
-
- public static BundleInfo[] getBundleInfosFromList(List list) {
- if (list == null)
- return new BundleInfo[0];
- BundleInfo[] ret = new BundleInfo[list.size()];
- list.toArray(ret);
- return ret;
- }
-
- public static Dictionary getOSGiManifest(String location) {
- if (location.startsWith("file:") && !location.endsWith(".jar"))
- return basicLoadManifest(new File(location.substring("file:".length())));
-
- try {
- URL url = new URL("jar:" + location + "!/");
- JarURLConnection jarConnection = (JarURLConnection) url.openConnection();
- Manifest manifest = jarConnection.getManifest();
- Attributes attributes = manifest.getMainAttributes();
- Hashtable table = new Hashtable();
- for (java.util.Iterator ite = attributes.keySet().iterator(); ite.hasNext();) {
-
- String key = ite.next().toString();
- // While table contains non OSGiManifest, it doesn't matter.
- table.put(key, attributes.getValue(key));
- }
- return table;
- } catch (MalformedURLException e1) {
- if (Activator.DEBUG) {
- System.err.println("location=" + location);
- e1.printStackTrace();
- }
- } catch (IOException e) {
- if (Activator.DEBUG) {
- System.err.println("location=" + location);
- e.printStackTrace();
- }
- }
- return null;
- }
-
- //Return a dictionary representing a manifest. The data may result from plugin.xml conversion
- private static Dictionary basicLoadManifest(File bundleLocation) {
- InputStream manifestStream = null;
- ZipFile jarFile = null;
- try {
- String fileExtention = bundleLocation.getName();
- fileExtention = fileExtention.substring(fileExtention.lastIndexOf('.') + 1);
- if ("jar".equalsIgnoreCase(fileExtention) && bundleLocation.isFile()) { //$NON-NLS-1$
- jarFile = new ZipFile(bundleLocation, ZipFile.OPEN_READ);
- ZipEntry manifestEntry = jarFile.getEntry(JarFile.MANIFEST_NAME);
- if (manifestEntry != null) {
- manifestStream = jarFile.getInputStream(manifestEntry);
- }
- } else {
- manifestStream = new BufferedInputStream(new FileInputStream(new File(bundleLocation, JarFile.MANIFEST_NAME)));
- }
- } catch (IOException e) {
- //ignore
- }
- Dictionary manifest = null;
-
- //It is not a manifest, but a plugin or a fragment
-
- if (manifestStream != null) {
- try {
- Manifest m = new Manifest(manifestStream);
- manifest = manifestToProperties(m.getMainAttributes());
- } catch (IOException ioe) {
- return null;
- } finally {
- try {
- manifestStream.close();
- } catch (IOException e1) {
- //Ignore
- }
- try {
- if (jarFile != null)
- jarFile.close();
- } catch (IOException e2) {
- //Ignore
- }
- }
- }
- return manifest;
- }
-
- private static Properties manifestToProperties(Attributes d) {
- Iterator iter = d.keySet().iterator();
- Properties result = new Properties();
- while (iter.hasNext()) {
- Attributes.Name key = (Attributes.Name) iter.next();
- result.put(key.toString(), d.get(key));
- }
- return result;
- }
-
- public static URL getUrl(String protocol, String host, String file) throws MalformedURLException {// throws ManipulatorException {
- file = Utils.replaceAll(file, File.separator, "/");
- return new URL(protocol, host, file);
- }
-
- public static URL getUrlInFull(String path, URL from) throws MalformedURLException {//throws ManipulatorException {
- Utils.checkFullUrl(from, "from");
- path = Utils.replaceAll(path, File.separator, "/");
- String fromSt = Utils.removeLastCh(from.toExternalForm(), '/');
- if (path.startsWith("/")) {
- String fileSt = from.getFile();
- return Utils.buildURL(fromSt.substring(0, fromSt.lastIndexOf(fileSt) - 1) + path);
- }
- return Utils.buildURL(fromSt + "/" + path);
- }
-
- public static String removeLastCh(String target, char ch) {
- while (target.charAt(target.length() - 1) == ch) {
- target = target.substring(0, target.length() - 1);
- }
- return target;
- }
-
- public static String replaceAll(String st, String oldSt, String newSt) {
- int index = -1;
- while ((index = st.indexOf(oldSt)) != -1) {
- st = st.substring(0, index) + newSt + st.substring(index + oldSt.length());
- }
- return st;
- }
-
- public static void log(int level, Object obj, String method, String message, Throwable e) {
- String msg = "";
- if (method == null) {
- if (obj != null)
- msg = "(" + obj.getClass().getName() + ")";
- } else if (obj == null)
- msg = "[" + method + "]" + message;
- else
- msg = "[" + method + "](" + obj.getClass().getName() + ")";
- msg += message;
-
-// if (LogService logService = Activator.getLogService();
-// if (logService != null) {
-// logService.log(level, msg, e);
-// } else {
- String levelSt = null;
- if (level == 1)
- levelSt = "DEBUG";
- else if (level == 2)
- levelSt = "INFO";
- else if (level == 3)
- levelSt = "WARNING";
- else if (level == 4) {
- levelSt = "ERROR";
-// useLog = true;
- }
-// if (useLog) {
- System.err.println("[" + levelSt + "]" + msg);
- if (e != null)
- e.printStackTrace();
-// }
- }
-
- public static URL buildURL(String spec) throws MalformedURLException {
- if (spec == null)
- throw new NullPointerException("URL spec is null."); //$NON-NLS-1$
- // Construct the URL carefully so as to preserve UNC paths etc.
- if (spec.startsWith("file:")) { //$NON-NLS-1$
- // need to do this for UNC paths
- File file = new File(spec.substring(5));
- if (file.isAbsolute())
- return file.toURL();
- }
- return new URL(spec);
- }
-}
diff --git a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.agent.feature/.project b/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.agent.feature/.project
deleted file mode 100644
index 7d1eaed..0000000
--- a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.agent.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.equinox.p2.agent.feature</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.FeatureBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.FeatureNature</nature>
- </natures>
-</projectDescription>
diff --git a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.agent.feature/build.properties b/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.agent.feature/build.properties
deleted file mode 100644
index d88e78e..0000000
--- a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.agent.feature/build.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = feature.xml
diff --git a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.agent.feature/feature.xml b/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.agent.feature/feature.xml
deleted file mode 100644
index f972a01..0000000
--- a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.agent.feature/feature.xml
+++ /dev/null
@@ -1,222 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
- id="org.eclipse.equinox.p2.agent.feature"
- label="Equinox p2 Agent"
- version="1.0.1.qualifier">
-
- <description url="http://www.example.com/description">
- [Enter Feature Description here.]
- </description>
-
- <copyright url="http://www.example.com/copyright">
- [Enter Copyright Description here.]
- </copyright>
-
- <license url="http://www.example.com/license">
- [Enter License Description here.]
- </license>
-
- <plugin
- id="org.eclipse.equinox.p2.director"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.p2.core"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.p2.engine"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.p2.jarprocessor"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.p2.metadata"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.p2.metadata.repository"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.p2.artifact.repository"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ecf"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ecf.filetransfer"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ecf.identity"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.p2.exemplarysetup"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.p2.touchpoint.eclipse"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.p2.touchpoint.natives"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.frameworkadmin"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.simpleconfigurator"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.frameworkadmin.equinox"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.p2.console"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ecf.provider.filetransfer"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.simpleconfigurator.manipulator"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.p2.ui"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.p2.ui.admin"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.p2.ui.admin.rcp"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.p2.updatechecker"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.p2.garbagecollector"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.p2.metadata.generator"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.p2.updatesite"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.sat4j.core"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.sat4j.pb"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.security"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
-</feature>
diff --git a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.director.feature/.project b/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.director.feature/.project
deleted file mode 100644
index 8c3f5e3..0000000
--- a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.director.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.equinox.p2.director.feature</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.FeatureBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.FeatureNature</nature>
- </natures>
-</projectDescription>
diff --git a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.director.feature/build.properties b/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.director.feature/build.properties
deleted file mode 100644
index d88e78e..0000000
--- a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.director.feature/build.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = feature.xml
diff --git a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.director.feature/feature.xml b/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.director.feature/feature.xml
deleted file mode 100644
index 0c03ee4..0000000
--- a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.director.feature/feature.xml
+++ /dev/null
@@ -1,187 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
- id="org.eclipse.equinox.p2.director.feature"
- label="Equinox p2 Director Application"
- version="1.0.1.qualifier">
-
- <description url="http://www.example.com/description">
- [Enter Feature Description here.]
- </description>
-
- <copyright url="http://www.example.com/copyright">
- [Enter Copyright Description here.]
- </copyright>
-
- <license url="http://www.example.com/license">
- [Enter License Description here.]
- </license>
-
- <plugin
- id="org.eclipse.equinox.p2.director"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.p2.director.app"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.p2.core"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.p2.engine"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.p2.jarprocessor"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.p2.metadata"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.p2.metadata.repository"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.p2.artifact.repository"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ecf"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ecf.filetransfer"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ecf.identity"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.p2.exemplarysetup"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.p2.touchpoint.eclipse"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.p2.touchpoint.natives"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.frameworkadmin"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.simpleconfigurator"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.frameworkadmin.equinox"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.p2.console"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ecf.provider.filetransfer"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.simpleconfigurator.manipulator"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.p2.garbagecollector"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.sat4j.core"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.sat4j.pb"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.security"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
-</feature>
diff --git a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/.project b/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/.project
deleted file mode 100644
index f062146..0000000
--- a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.equinox.p2.generator.feature</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.FeatureBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.FeatureNature</nature>
- </natures>
-</projectDescription>
diff --git a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/build.properties b/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/build.properties
deleted file mode 100644
index 32d1ed1..0000000
--- a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/build.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = feature.xml
-customBuildCallbacks=customBuildCallbacks.xml
-customBuildCallbacks.inheritall=true
diff --git a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/customBuildCallbacks.xml b/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/customBuildCallbacks.xml
deleted file mode 100644
index d04cc19..0000000
--- a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/customBuildCallbacks.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<!-- ===================================================================== -->
-<!-- Custom targets called from a project's generated build.xml -->
-<!-- Set customBuildCallbacks=<path/to/this/file> in your build.properties.-->
-<!-- ===================================================================== -->
-<project name="Build specific targets and properties" default="noDefault">
-
- <!-- ===================================================================== -->
- <!-- Default target -->
- <!-- ===================================================================== -->
- <target name="noDefault">
- <echo message="This file must be called with explicit targets" />
- </target>
-
- <!-- ===================================================================== -->
- <!-- Steps to do before the target gather.bin.parts -->
- <!-- Available parameters : -->
- <!-- destination.temp.folder - the directory plugins will be collected to -->
- <!-- feature.directory - the directory containing the resulting feature -->
- <!-- ===================================================================== -->
- <target name="pre.gather.bin.parts">
- </target>
-
- <!-- ===================================================================== -->
- <!-- Steps to do after the target gather.bin.parts -->
- <!-- Available parameters : -->
- <!-- destination.temp.folder - the directory plugins will be collected to -->
- <!-- feature.directory - the directory containing the resulting feature -->
- <!-- ===================================================================== -->
- <target name="post.gather.bin.parts">
- <!-- load the properties file to get the bundle versions -->
- <property file="${buildDirectory}/finalPluginsVersions.properties"/>
- <!-- zip up the simple.configurator into the generator bundle -->
- <zip
- basedir="${destination.temp.folder}/org.eclipse.equinox.simpleconfigurator_${org.eclipse.equinox.simpleconfigurator}"
- destfile="${destination.temp.folder}/org.eclipse.equinox.p2.metadata.generator_${org.eclipse.equinox.p2.metadata.generator}/org.eclipse.equinox.simpleconfigurator.jar">
- </zip>
- </target>
-
-</project>
diff --git a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/feature.xml b/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/feature.xml
deleted file mode 100644
index 3fa8af8..0000000
--- a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/feature.xml
+++ /dev/null
@@ -1,187 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
- id="org.eclipse.equinox.p2.generator.feature"
- label="Equinox p2 Generator Application"
- version="1.0.1.qualifier">
-
- <description url="http://www.example.com/description">
- [Enter Feature Description here.]
- </description>
-
- <copyright url="http://www.example.com/copyright">
- [Enter Copyright Description here.]
- </copyright>
-
- <license url="http://www.example.com/license">
- [Enter License Description here.]
- </license>
-
- <plugin
- id="org.eclipse.equinox.p2.artifact.repository"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.p2.console"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.p2.core"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.p2.director"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.p2.engine"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.p2.exemplarysetup"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.p2.jarprocessor"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.p2.metadata"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.p2.metadata.generator"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.p2.metadata.repository"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.p2.touchpoint.eclipse"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.p2.touchpoint.natives"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ecf"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ecf.filetransfer"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ecf.identity"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ecf.provider.filetransfer"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.frameworkadmin"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.frameworkadmin.equinox"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.simpleconfigurator"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.simpleconfigurator.manipulator"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.p2.garbagecollector"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.sat4j.core"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.sat4j.pb"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.security"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
-</feature>