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

Sprout from master 2007-11-03 12:54:18 UTC Jeff McAffer <jeff> 'change validateSteps to checkStatus'
Cherrypick from master 2007-10-26 21:54:11 UTC Dave Stevenson <dstevenso> 'Initial delivery of SAX XML Writer/Parser framework for XStream replacement. The metadata and artifact repository writers/parsers are included, but not currently used.':
    bundles/org.eclipse.equinox.p2.metadata.generator/Metadata Generator SDK.launch
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/src/org/eclipse/equinox/frameworkadmin/equinox/internal/Activator.java
    bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/frameworkadmin/equinox/internal/EclipseLauncherImpl.java
    bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/frameworkadmin/equinox/internal/EclipseLauncherParser.java
    bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/frameworkadmin/equinox/internal/EquinoxBundlesState.java
    bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/frameworkadmin/equinox/internal/EquinoxConstants.java
    bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/frameworkadmin/equinox/internal/EquinoxFrameworkAdminFactoryImpl.java
    bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/frameworkadmin/equinox/internal/EquinoxFwAdminImpl.java
    bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/frameworkadmin/equinox/internal/EquinoxFwConfigFileParser.java
    bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/frameworkadmin/equinox/internal/EquinoxManipulatorImpl.java
    bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/frameworkadmin/equinox/internal/Log.java
    bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/frameworkadmin/equinox/internal/utils/EclipseVersion.java
    bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/frameworkadmin/equinox/internal/utils/FileUtils.java
    bundles/org.eclipse.equinox.frameworkadmin.test/.classpath
    bundles/org.eclipse.equinox.frameworkadmin.test/.project
    bundles/org.eclipse.equinox.frameworkadmin.test/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.frameworkadmin.test/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.frameworkadmin.test/.settings/org.eclipse.pde.core.prefs
    bundles/org.eclipse.equinox.frameworkadmin.test/Framework Admin Test.launch
    bundles/org.eclipse.equinox.frameworkadmin.test/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.frameworkadmin.test/build.properties
    bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/bundle_1/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/org.eclipse.equinox.simpleconfigurator.jar
    bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/org.eclipse.osgi.jar
    bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/internal/test/AbstractFwkAdminTest.java
    bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/internal/test/Activator.java
    bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/internal/test/Bug196525.java
    bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/internal/test/CleanupTest.java
    bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/internal/test/FwkAdminAndSimpleConfiguratorTest.java
    bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/internal/test/RelativePathTest.java
    bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/internal/test/SimpleConfiguratorComingAndGoing.java
    bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/internal/test/SimpleConfiguratorTest.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/src/org/eclipse/equinox/configuratormanipulator/ConfiguratorManipulator.java
    bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/configuratormanipulator/ConfiguratorManipulatorFactory.java
    bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/configuratormanipulator/ExtendedFrameworkAdminFactory.java
    bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/frameworkadmin/BundleInfo.java
    bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/frameworkadmin/BundlesState.java
    bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/frameworkadmin/ConfigData.java
    bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/frameworkadmin/FrameworkAdmin.java
    bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/frameworkadmin/FrameworkAdminFactory.java
    bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/frameworkadmin/FrameworkAdminRuntimeException.java
    bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/frameworkadmin/LauncherData.java
    bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/frameworkadmin/Manipulator.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/test/org/eclipse/incubator/configurator/util/UtilsTest.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/.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/messages.properties
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/ProvisionException.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/eventbus/ProvisioningEventBus.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/eventbus/ProvisioningListener.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/eventbus/SynchronousProvisioningListener.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/ArrayUtils.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/FileUtils.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/Headers.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/LogHelper.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/Messages.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/MultiStatus.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/MultiStatusUtil.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/OrderedProperties.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/ServiceHelper.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/TwoTierMap.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/UnmodifiableProperties.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/Utils.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/XMLConstants.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/XMLParser.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/XMLUtils.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/XMLWriter.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/messages.properties
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/location/AgentLocation.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/repository/IRepository.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/repository/RepositoryCreationException.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/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/.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/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/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/.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/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/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/OperationGenerator.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/RequirementBasedFilter.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/rollback/FormerState.java
    bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/p2/director/IDirector.java
    bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/p2/director/IPlanner.java
    bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/p2/director/NewDependencyExpander.java
    bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/p2/director/ProvisioningPlan.java
    bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/p2/director/SimpleDirector.java
    bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/p2/director/SimplePlanner.java
    bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/p2/director/TrackedHashSet.java
    bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/p2/director/director.txt
    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/p2/directorywatcher/Activator.java
    bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/p2/directorywatcher/ConfigFileListener.java
    bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/p2/directorywatcher/JARFileListener.java
    bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/p2/directorywatcher/ProvisioningListener.java
    bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/p2/directorywatcher/DirectoryWatcher.java
    bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/p2/directorywatcher/IDirectoryChangeListener.java
    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/CommonDef.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/Messages.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/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/p2/engine/BeginOperationEvent.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/CommitOperationEvent.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/DefaultPhaseSet.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/Engine.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/EngineSession.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/IProfileRegistry.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/InstallableUnitEvent.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/InstructionParser.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/Memento.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/Operand.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/ParameterizedProvisioningAction.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/Phase.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/PhaseSet.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/Profile.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/ProfileEvent.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/ProvisioningAction.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/ProvisioningConfigurationException.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/RollbackOperationEvent.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/SimpleProfileRegistry.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/Touchpoint.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/TransactionEvent.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/phases/Collect.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/phases/Configure.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/phases/Install.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/phases/Messages.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/phases/Sizing.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/phases/Unconfigure.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/phases/Uninstall.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/phases/messages.properties
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/installregistry/IInstallRegistry.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/installregistry/IProfileInstallRegistry.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/installregistry/InstallRegistry.java
    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.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/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/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/p2/installer/IInstallOperation.java
    bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/p2/installer/InstallAdvisor.java
    bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/p2/installer/InstallDescription.java
    bundles/org.eclipse.equinox.p2.installer/testInstall.properties
    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/equinox/p2/jarprocessor/IProcessStep.java
    bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/p2/jarprocessor/JarProcessor.java
    bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/p2/jarprocessor/JarProcessorExecutor.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/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/JarURLRepositoryTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/optimizer/AllTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/optimizer/PackRepositoryTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/Adder.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/AllTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/ByteShifter.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/Counter.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/MD5Verifier.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/Multiplier.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/ProcessingStepHandlerTest.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/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/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/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/InstallRegistryTest.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/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/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/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/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/MultipleIUAndFragmentTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/OldTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/RecommendationTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/ResolutionHelperTest.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/testData/enginerepo.jar
    bundles/org.eclipse.equinox.p2.tests/testData/enginerepo/artifacts.xml
    bundles/org.eclipse.equinox.p2.tests/testData/enginerepo/content.xml
    bundles/org.eclipse.equinox.p2.tests/testData/enginerepo/plugins/org.eclipse.equinox.prov.engine_0.1.0.200709241631.jar
    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.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/ProvTools - compare repos.launch
    bundles/org.eclipse.equinox.p2.tools/ProvTools - list profile.launch
    bundles/org.eclipse.equinox.p2.tools/about.html
    bundles/org.eclipse.equinox.p2.tools/build.properties
    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/p2/tools/MetadataCompareApplication.java
    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/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/Util.java
    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/messages.properties
    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/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.gif
    bundles/org.eclipse.equinox.p2.ui/icons/wizban/config_wiz.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/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/src/org/eclipse/equinox/internal/p2/ui/ApplyProfileChangesDialog.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/ProvisioningEventManager.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/StaticContentProvider.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/p2/ui/ColocatedRepositoryInfo.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/ColocatedRepositoryUtil.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/IProfileChooser.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/IProvisioningListener.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/IRepositoryManipulator.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/ProvUI.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/ProvUIActivator.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/ProvUIImages.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/ProvisioningOperationResult.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/ProvisioningOperationRunner.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/actions/InstallAction.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/actions/ProfileModificationAction.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/actions/ProvisioningAction.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/actions/RollbackAction.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/actions/UninstallAction.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/actions/UpdateAction.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/AddColocatedRepositoryDialog.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/AddRepositoryDialog.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/ColocatedRepositoryManipulatorGroup.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/ColocatedRepositoryPropertyPage.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/IUGroup.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/IUPropertiesGroup.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/IUPropertyPage.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/InstallDialog.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/ProfileModificationDialog.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/RepositoryGroup.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/RepositoryPropertyPage.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/UninstallDialog.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/UpdateAndInstallGroup.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/UpdateDialog.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/UpdateInstallDialog.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/AllArtifactRepositories.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/AllMetadataRepositories.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/AllProfiles.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/ArtifactElement.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/ArtifactRepositoryContentProvider.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/AvailableIUContentProvider.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/AvailableIUElement.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/AvailableUpdateElement.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/InstalledIUElement.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/MetadataRepositoryContentProvider.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/ProfileContentProvider.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/ProfileFactory.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/ProvElement.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/AddArtifactRepositoryOperation.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/AddColocatedRepositoryOperation.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/AddMetadataRepositoryOperation.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/AddProfileOperation.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/DownloadPhaseSet.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/InstallAndConfigurePhaseSet.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/InstallOperation.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/ProfileModificationOperation.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/ProfileOperation.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/ProvisioningOperation.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/ProvisioningUtil.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/RemoveArtifactRepositoryOperation.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/RemoveColocatedRepositoryOperation.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/RemoveMetadataRepositoryOperation.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/RemoveProfilesOperation.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/RepositoryOperation.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/SizingPhaseSet.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/UndoableProvisioningOperation.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/ColocatedRepositoryLabelProvider.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/IUCapabilityFilter.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/IUColumnConfig.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/IUDetailsLabelProvider.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/IUDragAdapter.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/IUGroupFilter.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/IUProfilePropertyFilter.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/IUPropertyFilter.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/InstallIUDropAdapter.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/InternalRepositoryFilter.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/ProvElementLabelProvider.java
    bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/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/p2/updatechecker/IUpdateListener.java
    bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/p2/updatechecker/UpdateChecker.java
    bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/p2/updatechecker/UpdateEvent.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/utils/SimpleConfiguratorConstants.java
    bundles/org.eclipse.equinox.simpleconfigurator.manipulator/src/org/eclipse/equinox/simpleconfigurator/manipulator/internal/Activator.java
    bundles/org.eclipse.equinox.simpleconfigurator.manipulator/src/org/eclipse/equinox/simpleconfigurator/manipulator/internal/SimpleConfiguratorManipulatorFactoryImpl.java
    bundles/org.eclipse.equinox.simpleconfigurator.manipulator/src/org/eclipse/equinox/simpleconfigurator/manipulator/internal/SimpleConfiguratorManipulatorImpl.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/configurator/Configurator.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/Utils.java
    bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/simpleconfigurator/internal/Activator.java
    bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/simpleconfigurator/internal/ConfigApplier.java
    bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/simpleconfigurator/internal/SimpleConfiguratorImpl.java
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/.classpath b/bundles/org.eclipse.equinox.frameworkadmin.equinox/.classpath
deleted file mode 100644
index 751c8f2..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"/>
-	<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 8658089..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,341 +0,0 @@
-#Fri Oct 12 16:18:58 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=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.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 13b37cc..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,27 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: FrameworkAdmin Service for Equinox (Incubation)
-Bundle-SymbolicName: org.eclipse.equinox.frameworkadmin.equinox
-Bundle-Version: 0.1.0.qualifier
-Bundle-Activator: org.eclipse.equinox.frameworkadmin.equinox.internal.Activator
-Bundle-Vendor: Eclipse.org
-Bundle-Localization: plugin
-Import-Package: org.eclipse.core.runtime.adaptor,
- org.eclipse.core.runtime.internal.adaptor,
- org.eclipse.equinox.configuratormanipulator,
- org.eclipse.equinox.frameworkadmin,
- org.eclipse.equinox.internal.frameworkadmin.utils,
- 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.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.frameworkadmin.equinox.internal;x-internal:=true,
- org.eclipse.equinox.frameworkadmin.equinox.internal.utils;x-internal:=true
-Require-Bundle: org.eclipse.equinox.common
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 (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-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 9cbab3c..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               about.html
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/frameworkadmin/equinox/internal/Activator.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/frameworkadmin/equinox/internal/Activator.java
deleted file mode 100644
index 3c6e165..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/frameworkadmin/equinox/internal/Activator.java
+++ /dev/null
@@ -1,97 +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.frameworkadmin.equinox.internal;
-
-import java.util.Dictionary;
-import java.util.Hashtable;
-import org.eclipse.equinox.frameworkadmin.FrameworkAdmin;
-import org.eclipse.equinox.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/frameworkadmin/equinox/internal/EclipseLauncherImpl.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/frameworkadmin/equinox/internal/EclipseLauncherImpl.java
deleted file mode 100644
index 6f93246..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/frameworkadmin/equinox/internal/EclipseLauncherImpl.java
+++ /dev/null
@@ -1,97 +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.frameworkadmin.equinox.internal;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.LinkedList;
-import java.util.List;
-import org.eclipse.equinox.frameworkadmin.*;
-import org.eclipse.equinox.internal.frameworkadmin.utils.SimpleBundlesState;
-import org.eclipse.equinox.internal.frameworkadmin.utils.Utils;
-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/frameworkadmin/equinox/internal/EclipseLauncherParser.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/frameworkadmin/equinox/internal/EclipseLauncherParser.java
deleted file mode 100644
index 1492753..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/frameworkadmin/equinox/internal/EclipseLauncherParser.java
+++ /dev/null
@@ -1,270 +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.frameworkadmin.equinox.internal;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.equinox.frameworkadmin.LauncherData;
-import org.eclipse.equinox.frameworkadmin.equinox.internal.utils.FileUtils;
-import org.eclipse.equinox.internal.frameworkadmin.utils.Utils;
-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);
-			String path = "";
-			if (relative)
-				path = Utils.getRelativePath(launcherData.getFwConfigLocation(), outputFile.getParentFile());
-			else
-				path = launcherData.getFwConfigLocation().getAbsolutePath();
-			lines.add(path);
-		}
-
-		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.startsWith("-vmargs")) {
-				vmArgsFlag = true;
-				continue;
-			}
-			if (line.startsWith(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.startsWith(EquinoxConstants.OPTION_CLEAN)) {
-				clean = true;
-				needToUpdate = true;
-				continue;
-			} else if (line.startsWith(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.startsWith(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();
-			boolean resolveNextLine = false;
-			while ((line = br.readLine()) != null) {
-				if (resolveNextLine) {
-					line = EquinoxManipulatorImpl.makeAbsolute(line, launcherData.getLauncher().getParentFile().getAbsolutePath());
-					resolveNextLine = false;
-				} else {
-					resolveNextLine = needsPathResolution(line);
-				}
-				list.add(line);
-			}
-			String[] lines = new String[list.size()];
-			list.toArray(lines);
-			this.parseCmdLine(launcherData, lines);
-		} finally {
-			if (br != null)
-				br.close();
-		}
-		Log.log(LogService.LOG_INFO, "Launcher Config file(" + launcherConfigFile.getAbsolutePath() + ") is read successfully.");
-
-	}
-
-	private boolean needsPathResolution(String entry) {
-		if (EquinoxConstants.OPTION_CONFIGURATION.equalsIgnoreCase(entry))
-			return true;
-		if ("--launcher.library".equalsIgnoreCase(entry))
-			return true;
-		if (EquinoxConstants.OPTION_STARTUP.equalsIgnoreCase(entry))
-			return true;
-		if (EquinoxConstants.OPTION_FW.equalsIgnoreCase(entry))
-			return true;
-		return false;
-	}
-
-	public void save(LauncherData 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);
-			boolean resolveNextLine = false;
-			for (int i = 0; i < lines.length; i++) {
-				if (resolveNextLine) {
-					lines[i] = EquinoxManipulatorImpl.makeRelative(lines[i], launcherData.getLauncher().getParentFile().getAbsolutePath() + File.separator);
-					resolveNextLine = false;
-				} else {
-					resolveNextLine = needsPathResolution(lines[i]);
-				}
-				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();
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/frameworkadmin/equinox/internal/EquinoxBundlesState.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/frameworkadmin/equinox/internal/EquinoxBundlesState.java
deleted file mode 100644
index f74f48f..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/frameworkadmin/equinox/internal/EquinoxBundlesState.java
+++ /dev/null
@@ -1,802 +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.frameworkadmin.equinox.internal;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.core.runtime.internal.adaptor.EclipseEnvironmentInfo;
-import org.eclipse.equinox.frameworkadmin.*;
-import org.eclipse.equinox.frameworkadmin.equinox.internal.utils.FileUtils;
-import org.eclipse.equinox.internal.frameworkadmin.utils.SimpleBundlesState;
-import org.eclipse.equinox.internal.frameworkadmin.utils.Utils;
-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 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++) {
-			String bundleLocation = bundleInfos[i].getLocation();
-			if (bundleLocation.startsWith(EquinoxConstants.REFERENCE)) {
-				bundleLocation = bundleLocation.substring(EquinoxConstants.REFERENCE.length());
-			}
-			if (bundleLocation.startsWith("file:")) {
-				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()));
-					}
-				}
-			}
-		}
-		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 boolean isSystemBundle(BundleInfo bundleInfo) {
-		String bundleLocation = bundleInfo.getLocation();
-		if (bundleLocation.startsWith(EquinoxConstants.REFERENCE))
-			bundleLocation = bundleLocation.substring(EquinoxConstants.REFERENCE.length());
-		if (bundleLocation.startsWith("file:")) {
-			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 true;
-		}
-
-		return false;
-	}
-
-	// "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;
-
-	/**
-	 * 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) {
-		File fwJar = getSystemBundleFromBundleInfos(configData);
-		if (fwJar == null) {
-			fwJar = getFwJar(launcherData, configData, false);
-			if (fwJar == null) {
-				throw new IllegalStateException("Framework JAR location has not been set");
-			}
-			if (launcherData.getFwJar() != null) {
-				launcherData.setFwJar(fwJar);
-			}
-
-			configData.setBundles(null);
-
-			// Used to always add a system bundle to new state,
-			// but caused uninstall problems. see bugzilla 191610
-			// try {
-			// BundleInfo systemBundleInfo = new
-			// BundleInfo(fwJar.toURL().toExternalForm(), 0, true, 0);
-			// configData.addBundle(systemBundleInfo);
-			// } catch (MalformedURLException e) {
-			// // Nothing to do because never happens.
-			// e.printStackTrace();
-			// }
-
-			for (int i = 0; i < bInfos.length; i++)
-				configData.addBundle(bInfos[i]);
-		} else {
-			//			if (this.getFwJar() == null) {
-			this.setFwJar(fwJar);
-			//			}
-		}
-
-		// composeState(bInfos, properties, null);
-		// resolve(true);
-		// if (getSystemBundle() == null) {
-		// File fwJar = getFwJar(launcherData, configData);
-		// if (fwJar == null)
-		// throw new IllegalStateException("fwJar cannot be set.");
-		// launcherData.setFwJar(fwJar);
-		//
-		// BundleInfo[] newBInfos = new BundleInfo[bInfos.length + 1];
-		// try {
-		// newBInfos[0] = new BundleInfo(fwJar.toURL().toExternalForm(), 0,
-		// true, 0);
-		// } catch (MalformedURLException e) {
-		// // Nothign to do because never happens.
-		// e.printStackTrace();
-		// }
-		// System.arraycopy(bInfos, 0, newBInfos, 1, bInfos.length);
-		// configData.setBundles(newBInfos);
-		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();
-		BundleDescription[] cachedInstalledBundles = null;
-		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);
-		flagNewState = true;
-		cachedInstalledBundles = new BundleDescription[0];
-		if (props == null) {
-			this.manipulator.getConfigData().setBundles(infos);
-			return false;
-		}
-		setPlatformPropertiesToState(props);
-		setPlatformProperties(state);
-
-		// remove initial bundle which were installed but not listed in
-		// fwConfigFileBInfos.
-		// bundleList.addAll(Arrays.asList(cachedInstalledBundles));
-		for (int i = 0; i < cachedInstalledBundles.length; i++) {
-			if (cachedInstalledBundles[i].getLocation().startsWith("initial@")) {
-				String location = FileUtils.getRealLocation(manipulator, cachedInstalledBundles[i].getLocation(), true);
-				boolean found = false;
-				for (int j = 0; j < bInfos.length; j++) {
-					if (bInfos[j].getLocation().equals(location)) {
-						found = true;
-						break;
-					}
-				}
-				if (!found)
-					state.removeBundle(cachedInstalledBundles[i].getBundleId());
-			}
-		}
-
-		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])) {
-					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) {
-				Log.log(LogService.LOG_ERROR, this, "composeExpectedState()", "BundleInfo:" + bInfos[j], e);
-				e.printStackTrace();
-				throw e;
-			}
-		}
-		return true;
-	}
-
-	public BundleInfo convert(BundleDescription toConvert) {
-		boolean markedAsStarted = false;
-		int sl = BundleInfo.NO_LEVEL;
-
-		String location = null;
-		// This algorithm is not sophisticated.
-		if (toConvert.getBundleId() == 0 && EquinoxConstants.FW_SYMBOLIC_NAME.equals(toConvert.getSymbolicName())) {
-			// Converting the System Bundle
-			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();
-			}
-		} else {
-			location = FileUtils.getEclipseRealLocation(manipulator, toConvert.getLocation());
-			BundleInfo[] originalBInfos = manipulator.getConfigData().getBundles();
-			// if (DEBUG)
-			// System.out.println("toConvert=" + location);
-			boolean found = false;
-			for (int i = 0; i < originalBInfos.length; i++) {
-				// if (DEBUG)
-				// System.out.println("originalBInfos[" + i + "]=" +
-				// originalBInfos[i].getLocation());
-				if (originalBInfos[i].getLocation().equals(location)) {
-					markedAsStarted = originalBInfos[i].isMarkedAsStarted();
-					sl = getStartLevel(originalBInfos[i].getStartLevel());
-					found = true;
-					break;
-				}
-			}
-			if (!found) {
-				// TODO current equinox impl has no way to get the start level
-				// info persistently stored.
-				markedAsStarted = false;
-				sl = BundleInfo.NO_LEVEL;
-			}
-		}
-		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[] result = new BundleInfo[bundles.length];
-		for (int i = 0; i < bundles.length; i++) {
-			result[i] = convert(bundles[i]);
-		}
-		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();
-		BundleDescription bundle = state.getBundleByLocation(bInfo.getLocation());
-		ImportPackageSpecification[] imports = bundle.getImportPackages();
-		for (int i = 0; i < imports.length; i++) {
-			BaseDescription supplier = imports[i].getSupplier();
-			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 ? convert(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) {
-		BundleDescription description = state.getBundleByLocation(bInfo.getLocation());
-		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);
-		boolean found = false;
-
-		BundleDescription[] currentInstalledBundles = state.getBundles();
-		String newLocation = FileUtils.getRealLocation(manipulator, bInfo.getLocation(), true);
-		Dictionary manifest = Utils.getOSGiManifest(newLocation);
-		String newSymbolicName = (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME);
-		int position = newSymbolicName.indexOf(";");
-		if (position >= 0)
-			newSymbolicName = newSymbolicName.substring(0, position).trim();
-		String newVersion = (String) manifest.get(Constants.BUNDLE_VERSION);
-		for (int i = 0; i < currentInstalledBundles.length; i++) {
-			String location = FileUtils.getRealLocation(manipulator, currentInstalledBundles[i].getLocation(), true);
-			if (newLocation.equals(location)) {
-				found = true;
-				break;
-			}
-			String symbolicName = currentInstalledBundles[i].getSymbolicName();
-			String version = currentInstalledBundles[i].getVersion().toString();
-			if (newSymbolicName.equals(symbolicName) && newVersion.equals(version)) {
-				found = true;
-				break;
-			}
-		}
-		if (!found) {
-			BundleDescription newBundleDescription = null;
-			try {
-				bInfo.setBundleId(++maxId);
-				newBundleDescription = soFactory.createBundleDescription(state, Utils.getOSGiManifest(newLocation), newLocation, bInfo.getBundleId());
-				state.addBundle(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) {
-		BundleDescription description = state.getBundleByLocation(bInfo.getLocation());
-		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 targetLocation = bInfo.getLocation();
-		BundleDescription[] currentInstalledBundles = state.getBundles();
-		for (int i = 0; i < currentInstalledBundles.length; i++) {
-			String location = currentInstalledBundles[i].getLocation();
-			// TODO Is handling "reference:" needed ?
-			// if(location.startsWith("reference:"))
-			// location = location.substring("reference:".length());
-			if (targetLocation.equals(location)) {
-				id = currentInstalledBundles[i].getBundleId();
-				break;
-			}
-		}
-		if (id != DEFAULT_TIMESTAMP) {
-
-			try {
-				BundleDescription bundleDescription = soFactory.createBundleDescription(state, Utils.getOSGiManifest(bInfo.getLocation()), bInfo.getLocation(), id);
-				state.removeBundle(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);
-			}
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/frameworkadmin/equinox/internal/EquinoxConstants.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/frameworkadmin/equinox/internal/EquinoxConstants.java
deleted file mode 100644
index bc77d05..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/frameworkadmin/equinox/internal/EquinoxConstants.java
+++ /dev/null
@@ -1,55 +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.frameworkadmin.equinox.internal;
-
-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$
-
-	// 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_BUNDLES_EXTRADATA = "osgi.bundles.extraData"; //$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 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/frameworkadmin/equinox/internal/EquinoxFrameworkAdminFactoryImpl.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/frameworkadmin/equinox/internal/EquinoxFrameworkAdminFactoryImpl.java
deleted file mode 100644
index 95d688e..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/frameworkadmin/equinox/internal/EquinoxFrameworkAdminFactoryImpl.java
+++ /dev/null
@@ -1,22 +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.frameworkadmin.equinox.internal;
-
-import org.eclipse.equinox.configuratormanipulator.ConfiguratorManipulatorFactory;
-import org.eclipse.equinox.frameworkadmin.FrameworkAdmin;
-import org.eclipse.equinox.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/frameworkadmin/equinox/internal/EquinoxFwAdminImpl.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/frameworkadmin/equinox/internal/EquinoxFwAdminImpl.java
deleted file mode 100644
index 8b831b3..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/frameworkadmin/equinox/internal/EquinoxFwAdminImpl.java
+++ /dev/null
@@ -1,115 +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.frameworkadmin.equinox.internal;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Dictionary;
-import org.eclipse.equinox.configuratormanipulator.ConfiguratorManipulator;
-import org.eclipse.equinox.configuratormanipulator.ConfiguratorManipulatorFactory;
-import org.eclipse.equinox.frameworkadmin.*;
-import org.eclipse.equinox.frameworkadmin.equinox.internal.utils.EclipseVersion;
-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 false;
-		}
-		// 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 true;
-	}
-
-	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/frameworkadmin/equinox/internal/EquinoxFwConfigFileParser.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/frameworkadmin/equinox/internal/EquinoxFwConfigFileParser.java
deleted file mode 100644
index 3c6ce36..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/frameworkadmin/equinox/internal/EquinoxFwConfigFileParser.java
+++ /dev/null
@@ -1,469 +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.frameworkadmin.equinox.internal;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.equinox.frameworkadmin.*;
-import org.eclipse.equinox.frameworkadmin.equinox.internal.utils.FileUtils;
-import org.eclipse.equinox.internal.frameworkadmin.utils.Utils;
-import org.osgi.framework.BundleContext;
-import org.osgi.service.log.LogService;
-
-public class EquinoxFwConfigFileParser {
-	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_BUNDLES_EXTRA_DATA = "osgi.bundles.extraData"; //$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 final String[] URLS = new String[] { //
-	KEY_OSGI_FRAMEWORK, //
-			KEY_ORG_ECLIPSE_EQUINOX_SIMPLECONFIGURATOR_CONFIGURL, //
-			KEY_ECLIPSE_PROV_DATA_AREA};
-
-	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:")) {
-			if (USE_REFERENCE_STRING != null && USE_REFERENCE_STRING.equals("false"))
-				useReference = false;
-		}
-
-		try {
-			new URL(location);
-		} catch (MalformedURLException e) {
-			Log.log(LogService.LOG_ERROR, "EquinoxFwConfigFileParser.getCommandLine():bundleInfo=" + bundleInfo, e);
-			//			Never happen. ignore.
-		}
-		if (useReference)
-			if (!location.startsWith("reference:"))
-				location = "reference:" + location;
-
-		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");
-		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()));
-
-		if (fwJar != null) {
-			URL fwJarUrl = null;
-			try {
-				fwJarUrl = fwJar.toURL();
-			} catch (MalformedURLException e) {
-				// Never happens
-				e.printStackTrace();
-			}
-			String fwJarSt = fwJarUrl.toExternalForm();
-			// TODO I just added this "if" stmt because we were seeing an extra slash
-			// appearing in the resulting URL. was this the right thing to do? the indexes 
-			// seem off in the loop below. (I'm on linux if that makes a difference)
-			//			if (!fwJarSt.startsWith("file:")) {
-			//				if (fwJarSt.length() > 5 && fwJarSt.charAt(4) != '/') {
-			//					fwJarSt = "file:/" + fwJarUrl.getFile();
-			//				}
-			//			}
-			props.setProperty(EquinoxConstants.PROP_OSGI_FW, fwJarSt /* fwJar.getAbsolutePath() */);
-		}
-
-		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());
-			}
-		}
-
-		if (bInfos != null) {
-			StringBuffer sb = new StringBuffer();
-			for (int i = 0; i < bInfos.length; i++) {
-				normalizeLocation(bInfos[i]);
-				sb.append(getCommandLine(bInfos[i], null));
-				if (i + 1 < bInfos.length)
-					sb.append(",");
-			}
-			props.setProperty(EquinoxConstants.PROP_BUNDLES, sb.toString());
-			setOSGiBundlesExtraData(props, bInfos);
-
-		}
-		props = Utils.appendProperties(props, configData.getFwIndependentProps());
-
-		props = Utils.appendProperties(props, configData.getFwDependentProps());
-		//props.setProperty(EquinoxConstants.AOL, EquinoxConstants.AOL);
-		return props;
-	}
-
-	private static String getExtraDataCommandLine(BundleInfo bundleInfo, final URL baseUrl) {
-		StringBuffer sb = new StringBuffer();
-		sb.append(bundleInfo.getLocation()).append(',').append(bundleInfo.getSymbolicName()).append(',').append(bundleInfo.getVersion());
-		return sb.toString();
-	}
-
-	private static boolean getMarkedAsStartedFormat(String msg, String original) {
-		if (msg == null)
-			return false;
-		msg = msg.trim();
-		if (msg.equals("start")) {
-			return true;
-		}
-		if (!msg.equals(""))
-			new IllegalArgumentException("Invalid Format =" + original);
-		return false;
-	}
-
-	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:")) {
-				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, ",");
-			for (int i = 0; i < bInfoStrings.length; i++) {
-				String token = bInfoStrings[i].trim();
-				token = FileUtils.getRealLocation(manipulator, token, false);
-				int index = 0;
-				while (true) {
-					if (token.charAt(index) == ' ')
-						index++;
-					else
-						break;
-				}
-				if (index != 0)
-					token = token.substring(index);
-
-				int indexI = token.indexOf("@");
-				if (indexI == -1) {
-					String location = FileUtils.getEclipseRealLocation(manipulator, token);
-					configData.addBundle(new BundleInfo(location));
-					//	configData.installingBundlesList.add(new BundleInfo(this.convertUrl(bInfoStrings[i])));
-					continue;
-				}
-				String location = token.substring(0, indexI);
-				location = FileUtils.getEclipseRealLocation(manipulator, location);
-				//					URL url = this.convertUrl(bInfoStrings[i].substring(0, indexI));
-				String slAndFlag = token.substring(indexI + "@".length());
-				boolean markedAsStarted = false;
-				int startLevel = -1;
-				int indexJ = slAndFlag.indexOf(":");
-				if (indexJ == -1) {
-					markedAsStarted = getMarkedAsStartedFormat(slAndFlag, token);
-					configData.addBundle(new BundleInfo(location, markedAsStarted));
-					continue;
-				} else if (indexJ == 0) {
-					markedAsStarted = getMarkedAsStartedFormat(slAndFlag.substring(indexJ + ":".length()), token);
-					configData.addBundle(new BundleInfo(location, startLevel, markedAsStarted));
-					continue;
-				}
-				startLevel = Integer.parseInt(slAndFlag.substring(0, indexJ));
-				markedAsStarted = getMarkedAsStartedFormat(slAndFlag.substring(indexJ + ":".length()), bInfoStrings[i]);
-				configData.addBundle(new BundleInfo(location, startLevel, markedAsStarted));
-			}
-		}
-	}
-
-	private static void setOSGiBundlesExtraData(Properties props, BundleInfo[] bInfos) {
-		StringBuffer sb = new StringBuffer();
-		for (int i = 0; i < bInfos.length; i++) {
-			normalizeLocation(bInfos[i]);
-			sb.append(getExtraDataCommandLine(bInfos[i], null));
-			if (i + 1 < bInfos.length)
-				sb.append(",");
-		}
-		props.setProperty(EquinoxConstants.PROP_BUNDLES_EXTRADATA, sb.toString());
-
-	}
-
-	/**
-	 * 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("inputFile:" + inputFile + " must not be a directory.");
-
-		//Initialize data structures
-		ConfigData configData = manipulator.getConfigData();
-		LauncherData launcherData = manipulator.getLauncherData();
-		configData.initialize();
-
-		//Load properties
-		Properties props = new Properties();
-		InputStream is = null;
-		try {
-			is = new FileInputStream(inputFile);
-			props.load(is);
-		} finally {
-			try {
-				is.close();
-			} catch (IOException e) {
-				e.printStackTrace();
-			}
-			is = null;
-		}
-
-		//Start figuring out stuffs 
-		URL rootURL = launcherData.getLauncher().getParentFile().toURL();
-
-		//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), rootURL));
-			String fwJarString = props.getProperty(EquinoxConstants.PROP_OSGI_FW);
-			if (fwJarString != null) {
-				fwJar = new File(new URL(fwJarString).getFile());
-				launcherData.setFwJar(fwJar);
-				configData.addBundle(new BundleInfo(fwJarString));
-			}
-		}
-
-		props = makeAbsolute(props, rootURL, fwJar);
-		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, "Config file(" + inputFile.getAbsolutePath() + ") is read successfully.");
-	}
-
-	private static Properties makeRelative(Properties props, URL rootURL, File fwJar) 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()));
-		}
-
-		for (int i = 0; i < URLS.length; i++) {
-			String url = props.getProperty(URLS[i]);
-			if (url != null)
-				props.put(URLS[i], EquinoxManipulatorImpl.makeRelative(url, rootURL));
-		}
-
-		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.makeRelative(value, parent.toURL()));
-		}
-
-		String extra = props.getProperty(KEY_OSGI_BUNDLES_EXTRA_DATA);
-		if (extra != null) {
-			StringBuffer buffer = new StringBuffer();
-			for (StringTokenizer tokenizer = new StringTokenizer(extra, ","); tokenizer.hasMoreTokens();) {
-				String token = tokenizer.nextToken();
-				String absolute = EquinoxManipulatorImpl.makeRelative(token, rootURL);
-				buffer.append(absolute);
-				buffer.append(',');
-				buffer.append(tokenizer.nextToken());
-				buffer.append(',');
-				buffer.append(tokenizer.nextToken());
-				if (tokenizer.hasMoreTokens())
-					buffer.append(',');
-			}
-			props.setProperty(KEY_OSGI_BUNDLES_EXTRA_DATA, buffer.toString());
-		}
-		return props;
-	}
-
-	private static Properties makeAbsolute(Properties props, URL rootURL, File fwJar) 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()));
-		}
-
-		for (int i = 0; i < URLS.length; i++) {
-			String url = props.getProperty(URLS[i]);
-			if (url != null)
-				props.put(URLS[i], EquinoxManipulatorImpl.makeAbsolute(url, rootURL));
-		}
-
-		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()));
-		}
-
-		String extra = props.getProperty(KEY_OSGI_BUNDLES_EXTRA_DATA);
-		if (extra != null) {
-			StringBuffer buffer = new StringBuffer();
-			for (StringTokenizer tokenizer = new StringTokenizer(extra, ","); tokenizer.hasMoreTokens();) {
-				String token = tokenizer.nextToken();
-				String absolute = EquinoxManipulatorImpl.makeAbsolute(token, rootURL);
-				buffer.append(absolute);
-				buffer.append(',');
-				buffer.append(tokenizer.nextToken());
-				buffer.append(',');
-				buffer.append(tokenizer.nextToken());
-				if (tokenizer.hasMoreTokens())
-					buffer.append(',');
-			}
-			props.setProperty(KEY_OSGI_BUNDLES_EXTRA_DATA, buffer.toString());
-		}
-
-		return props;
-	}
-
-	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);
-		if (fwJar != null)
-			launcherData.setFwJar(fwJar);
-		File outputFile = launcherData.getFwConfigLocation();
-		if (outputFile.exists()) {
-			if (outputFile.isFile()) {
-				if (!outputFile.getName().equals(EquinoxConstants.CONFIG_INI))
-					throw new IllegalStateException("launcherData.getFwConfigLocation() is a File but its name doesn't equal " + 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("Fail to mkdir (" + outputFile + ")");
-				outputFile = new File(outputFile, EquinoxConstants.CONFIG_INI);
-			}
-		}
-		String header = "This properties were written by " + this.getClass().getName();
-
-		Properties configProps = getConfigProps(bInfos, configData, launcherData, relative, fwJar);
-		if (configProps == null || configProps.size() == 0) {
-			Log.log(LogService.LOG_WARNING, this, "saveFwConfig() ", "configProps is empty");
-			return;
-		}
-		Utils.createParentDir(outputFile);
-
-		if (DEBUG)
-			Utils.printoutProperties(System.out, "configProps", configProps);
-
-		if (backup)
-			if (outputFile.exists()) {
-				File dest = Utils.getSimpleDataFormattedFile(outputFile);
-				if (!outputFile.renameTo(dest))
-					throw new IOException("Fail to rename from (" + outputFile + ") to (" + dest + ")");
-				Log.log(LogService.LOG_INFO, this, "saveFwConfig()", "Succeed to rename from (" + outputFile + ") to (" + dest + ")");
-			}
-
-		FileOutputStream out = null;
-		try {
-			out = new FileOutputStream(outputFile);
-			configProps = makeRelative(configProps, launcherData.getLauncher().getParentFile().toURL(), fwJar);
-			configProps.store(out, header);
-			Log.log(LogService.LOG_INFO, "FwConfig is saved successfully into:" + outputFile);
-		} finally {
-			try {
-				out.flush();
-				out.close();
-			} catch (IOException e) {
-				e.printStackTrace();
-			}
-			out = null;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/frameworkadmin/equinox/internal/EquinoxManipulatorImpl.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/frameworkadmin/equinox/internal/EquinoxManipulatorImpl.java
deleted file mode 100644
index 952ed7c..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/frameworkadmin/equinox/internal/EquinoxManipulatorImpl.java
+++ /dev/null
@@ -1,676 +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.frameworkadmin.equinox.internal;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.equinox.configuratormanipulator.ConfiguratorManipulator;
-import org.eclipse.equinox.frameworkadmin.*;
-import org.eclipse.equinox.frameworkadmin.equinox.internal.utils.FileUtils;
-import org.eclipse.equinox.internal.frameworkadmin.utils.SimpleBundlesState;
-import org.eclipse.equinox.internal.frameworkadmin.utils.Utils;
-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);
-	LauncherData launcherData = new LauncherData(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]);
-			if (bundles[i].getBundleId() == 0) // SystemBundle
-				bInfos[i] = new BundleInfo(fwJarLocation, startLevel.getBundleStartLevel(bundles[i]), startLevel.isBundlePersistentlyStarted(bundles[i]), bundles[i].getBundleId());
-			else
-				bInfos[i] = new BundleInfo(FileUtils.getRealLocation(this, bundles[i].getLocation(), true), startLevel.getBundleStartLevel(bundles[i]), startLevel.isBundlePersistentlyStarted(bundles[i]), bundles[i].getBundleId());
-		}
-		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.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)
-		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();
-		}
-
-		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 void setConfiguratorManipulator() {
-		if (context == null) {
-			this.configuratorManipulator = this.fwAdmin.getConfiguratorManipulator();
-			return;
-		}
-		ServiceReference[] references = cmTracker.getServiceReferences();
-
-		int count = cmTracker.getTrackingCount();
-		if (count == this.trackingCount && configuratorManipulator != null)
-			return;
-		this.trackingCount = count;
-
-		BundleInfo[] bInfos = configData.getBundles();
-		int initialBSL = configData.getInitialBundleStartLevel();
-		bInfos = Utils.sortBundleInfos(bInfos, initialBSL);
-		//int index = -1;	
-		configuratorManipulator = null;
-		if (references == null)
-			return;
-		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.getManifestMainAttributes(location, Constants.BUNDLE_SYMBOLICNAME))) {
-					configuratorManipulator = (ConfiguratorManipulator) cmTracker.getService(references[j]);
-					break;
-				}
-			if (configuratorManipulator != null)
-				break;
-		}
-	}
-
-	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);
-	}
-
-	/*
-	 * 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.
-	 */
-	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;
-		int index = commonPrefixEnd(original, rootPath, 0, 0);
-		return index == 0 ? original : original.substring(index);
-	}
-
-	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();
-		int common = commonPrefixEnd(urlString, rootString, index, rootString.indexOf(FILE_PROTOCOL) + 5);
-		if (common == 0)
-			return urlString;
-		return urlString.substring(0, index) + urlString.substring(common);
-	}
-
-	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(path).toOSString();
-	}
-
-	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;
-
-		String pre = urlString.substring(0, index - 5);
-		String post = urlString.substring(index);
-		return pre + rootURL.toExternalForm() + post;
-	}
-
-	/*
-	 * Look at the given strings and return the index of the first character which isn't the same.
-	 * 
-	 * Method similar to one from SimpleConfigurationManipulatorImpl.
-	 */
-	private static int commonPrefixEnd(String path, String root, int startIndex, int rootStart) {
-		if (startIndex > path.length() || rootStart > root.length())
-			return 0;
-		int index = startIndex;
-		int rootIndex = rootStart;
-		while (index < path.length() + startIndex && rootIndex < root.length() && path.charAt(index) == root.charAt(rootIndex)) {
-			index++;
-			rootIndex++;
-		}
-		return rootIndex == root.length() ? index : 0;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/frameworkadmin/equinox/internal/Log.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/frameworkadmin/equinox/internal/Log.java
deleted file mode 100644
index 548c02d..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/frameworkadmin/equinox/internal/Log.java
+++ /dev/null
@@ -1,90 +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.frameworkadmin.equinox.internal;
-
-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() {
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/frameworkadmin/equinox/internal/utils/EclipseVersion.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/frameworkadmin/equinox/internal/utils/EclipseVersion.java
deleted file mode 100644
index 7c0a4c5..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/frameworkadmin/equinox/internal/utils/EclipseVersion.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.frameworkadmin.equinox.internal.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/frameworkadmin/equinox/internal/utils/FileUtils.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/frameworkadmin/equinox/internal/utils/FileUtils.java
deleted file mode 100644
index 7b2f914..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/frameworkadmin/equinox/internal/utils/FileUtils.java
+++ /dev/null
@@ -1,148 +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.frameworkadmin.equinox.internal.utils;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import org.eclipse.equinox.frameworkadmin.LauncherData;
-import org.eclipse.equinox.frameworkadmin.Manipulator;
-import org.eclipse.equinox.frameworkadmin.equinox.internal.EquinoxConstants;
-
-public class FileUtils {
-
-	public static String getEclipseRealLocation(final Manipulator manipulator, final String location) {
-		try {
-			new URL(location);
-			return location;
-		} catch (MalformedURLException e) {
-			// just ignore.
-		}
-		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.test/.classpath b/bundles/org.eclipse.equinox.frameworkadmin.test/.classpath
deleted file mode 100644
index ce73933..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/.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.frameworkadmin.test/.project b/bundles/org.eclipse.equinox.frameworkadmin.test/.project
deleted file mode 100644
index 3f88654..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.frameworkadmin.test</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.test/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.frameworkadmin.test/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 49bd7f9..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,261 +0,0 @@
-#Thu Oct 25 11:22:43 EDT 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.compliance=1.4
-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.frameworkadmin.test/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.frameworkadmin.test/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index ac0fd9e..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,9 +0,0 @@
-#Wed Oct 24 10:14:02 EDT 2007
-eclipse.preferences.version=1
-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/>
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.frameworkadmin.test/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index c231f4e..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Wed Oct 24 10:11:19 EDT 2007
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/Framework Admin Test.launch b/bundles/org.eclipse.equinox.frameworkadmin.test/Framework Admin Test.launch
deleted file mode 100644
index 3bb29dc..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/Framework Admin Test.launch
+++ /dev/null
@@ -1,41 +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="false"/>
-<stringAttribute key="deselected_workspace_plugins" value="org.eclipse.equinox.p2.ui.admin.rcp,org.eclipse.equinox.p2.selfhosting,org.eclipse.equinox.p2.ui.admin,org.eclipse.equinox.p2.metadata.generator,ConfiguratorKicker,org.eclipse.equinox.p2.ui,org.eclipse.equinox.p2.updatechecker,TestFwkAdmin,org.eclipse.ecf,org.eclipse.equinox.p2.repositoryoptimizer,org.eclipse.equinox.p2.tools,org.eclipse.ecf.identity,org.eclipse.equinox.p2.engine,org.eclipse.equinox.p2.target,org.eclipse.equinox.p2.metadata.repository,src_testBundle1,org.eclipse.equinox.p2.ui.sdk,org.eclipse.equinox.p2.touchpoint.natives,org.apache.xml.resolver,org.eclipse.equinox.p2.console,org.eclipse.equinox.p2.director.app,org.eclipse.equinox.p2.directorywatcher,org.eclipse.equinox.p2.metadata,zzTest,org.eclipse.equinox.p2.artifact.repository,org.apache.xerces,org.eclipse.equinox.prov.shared,test.fwkAdmin,org.eclipse.equinox.prov.reconciler,org.eclipse.equinox.p2.exemplarysetup,org.eclipse.equinox.p2.director,org.eclipse.pde.build,org.eclipse.equinox.prov.shared.test,org.eclipse.equinox.p2.touchpoint.eclipse,org.eclipse.ecf.filetransfer,org.eclipse.core.tests.runtime,org.eclipse.equinox.p2.tests,org.eclipse.ecf.provider.filetransfer,org.eclipse.equinox.p2.compatibility,org.eclipse.equinox.p2.download,testprovidedcapabilities,org.eclipse.equinox.p2.updatechecker.app,org.eclipse.equinox.p2.jarprocessor"/>
-<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.frameworkadmin.test"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="4"/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value="=org.eclipse.equinox.frameworkadmin.test"/>
-<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.junit3"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value=""/>
-<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.frameworkadmin.test"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<stringAttribute key="product" value="org.eclipse.equinox.p2.director.app.product"/>
-<stringAttribute key="selected_target_plugins" value="com.ibm.icu,javax.servlet,org.eclipse.ant.core,org.eclipse.core.commands,org.eclipse.core.contenttype,org.eclipse.core.databinding,org.eclipse.core.expressions,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.auth,org.eclipse.core.variables,org.eclipse.equinox.app,org.eclipse.equinox.common,org.eclipse.equinox.preferences,org.eclipse.help,org.eclipse.jdt.junit.runtime,org.eclipse.jface,org.eclipse.jface.databinding,org.eclipse.jface.text,org.eclipse.osgi,org.eclipse.osgi.services,org.eclipse.pde.junit.runtime,org.eclipse.swt,org.eclipse.swt.win32.win32.x86,org.eclipse.text,org.eclipse.ui,org.eclipse.ui.forms,org.eclipse.ui.ide,org.eclipse.ui.views,org.eclipse.ui.win32,org.eclipse.ui.workbench,org.eclipse.update.core.win32,org.eclipse.update.ui"/>
-<stringAttribute key="templateConfig" value="${target_home}\configuration\config.ini"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfig" value="true"/>
-<booleanAttribute key="useDefaultConfigArea" value="false"/>
-<booleanAttribute key="useProduct" value="false"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.frameworkadmin.test/META-INF/MANIFEST.MF
deleted file mode 100644
index 3b2565d..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,14 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Test Plug-in for Framework Admin
-Bundle-SymbolicName: org.eclipse.equinox.frameworkadmin.test
-Bundle-Version: 1.0.0
-Require-Bundle: org.junit;bundle-version="3.8.0",
- org.eclipse.core.runtime,
- org.eclipse.equinox.frameworkadmin
-Bundle-Activator: org.eclipse.equinox.frameworkadmin.internal.test.Activator
-Import-Package: org.eclipse.equinox.p2.core.helpers,
- org.osgi.framework;version="1.4.0"
-Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
- J2SE-1.4
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/build.properties b/bundles/org.eclipse.equinox.frameworkadmin.test/build.properties
deleted file mode 100644
index ed4145b..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               dataFile/
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/bundle_1/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/bundle_1/META-INF/MANIFEST.MF
deleted file mode 100644
index 3a535b6..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/bundle_1/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,5 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Bundle 1
-Bundle-SymbolicName: bundle_1
-Bundle-Version: 1.0.0
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/org.eclipse.equinox.simpleconfigurator.jar b/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/org.eclipse.equinox.simpleconfigurator.jar
deleted file mode 100644
index 8a631d8..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/org.eclipse.equinox.simpleconfigurator.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/org.eclipse.osgi.jar b/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/org.eclipse.osgi.jar
deleted file mode 100644
index 20ca269..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/org.eclipse.osgi.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/internal/test/AbstractFwkAdminTest.java b/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/internal/test/AbstractFwkAdminTest.java
deleted file mode 100644
index 6e0cc88..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/internal/test/AbstractFwkAdminTest.java
+++ /dev/null
@@ -1,147 +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.frameworkadmin.internal.test;
-
-import java.io.*;
-import junit.framework.TestCase;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.equinox.frameworkadmin.FrameworkAdmin;
-import org.osgi.framework.*;
-import org.osgi.util.tracker.ServiceTracker;
-
-public abstract class AbstractFwkAdminTest extends TestCase {
-	private ServiceTracker fwAdminTracker;
-
-	public AbstractFwkAdminTest(String name) {
-		super(name);
-	}
-
-	public FrameworkAdmin getEquinoxFrameworkAdmin() throws BundleException {
-		final String FILTER_OBJECTCLASS = "(" + Constants.OBJECTCLASS + "=" + FrameworkAdmin.class.getName() + ")";
-		final String filterFwName = "(" + FrameworkAdmin.SERVICE_PROP_KEY_FW_NAME + "=Equinox)";
-		final String filterLauncherName = "(" + FrameworkAdmin.SERVICE_PROP_KEY_LAUNCHER_NAME + "=Eclipse.exe)";
-		final String filterFwAdmin = "(&" + FILTER_OBJECTCLASS + filterFwName + filterLauncherName + ")";
-
-		String FWK_ADMIN_EQ = "org.eclipse.equinox.frameworkadmin.equinox";
-		Bundle b = Platform.getBundle(FWK_ADMIN_EQ);
-		if (b == null)
-			throw new IllegalStateException("Bundle: " + FWK_ADMIN_EQ + " is required for this test");
-		b.start();
-
-		if (fwAdminTracker == null) {
-			Filter filter;
-			try {
-				filter = Activator.getContext().createFilter(filterFwAdmin);
-				fwAdminTracker = new ServiceTracker(Activator.getContext(), filter, null);
-				fwAdminTracker.open();
-			} catch (InvalidSyntaxException e) {
-				// never happens
-				e.printStackTrace();
-			}
-		}
-		return (FrameworkAdmin) fwAdminTracker.getService();
-	}
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-		if (fwAdminTracker != null) {
-			fwAdminTracker.close();
-		}
-	}
-
-	public void assertIsFile(File file) {
-		if (!file.exists())
-			fail("File: " + file.toString() + " can't be found.");
-		if (!file.isFile())
-			fail("File: " + file.toString() + " is expected to be a file.");
-	}
-
-	public void assertIsDirectory(File file) {
-		if (!file.exists())
-			fail("Directory: " + file.toString() + " can't be found.");
-		if (!file.isDirectory())
-			fail("Directory: " + file.toString() + " is expected to be a directory.");
-	}
-
-	public void assertNothing(File file) {
-		if (file.exists())
-			fail("No file or directory should be there: " + file);
-	}
-
-	public void assertNotContent(File file, String search) {
-		if (!file.exists())
-			fail("File: " + file.toString() + " can't be found.");
-		try {
-			BufferedReader reader = null;
-			try {
-				reader = new BufferedReader(new FileReader(file));
-				while (reader.ready()) {
-					String line = reader.readLine();
-					if (line.indexOf(search) >= 0)
-						fail("The string: " + search + " was not expected in this file: " + file.getAbsolutePath());
-				}
-			} finally {
-				if (reader != null)
-					reader.close();
-			}
-		} catch (FileNotFoundException e) {
-			//ignore, caught before
-		} catch (IOException e) {
-			fail("String: " + search + " not found in " + file.getAbsolutePath());
-		}
-	}
-
-	public void assertContent(File file, String search) {
-		if (!file.exists())
-			fail("File: " + file.toString() + " can't be found.");
-		try {
-			BufferedReader reader = null;
-			try {
-				reader = new BufferedReader(new FileReader(file));
-				while (reader.ready()) {
-					String line = reader.readLine();
-					if (line.indexOf(search) >= 0)
-						return;
-				}
-			} finally {
-				if (reader != null)
-					reader.close();
-			}
-		} catch (FileNotFoundException e) {
-			//ignore, caught before
-		} catch (IOException e) {
-			fail("String: " + search + " not found in " + file.getAbsolutePath());
-		}
-		fail("String:" + search + " not found");
-	}
-
-	public void startSimpleConfiguratormManipulator() {
-		final String SIMPLECONFIGURATOR_MANIPULATOR = "org.eclipse.equinox.simpleconfigurator.manipulator";
-		Bundle manipulatorBundle = Platform.getBundle(SIMPLECONFIGURATOR_MANIPULATOR);
-		if (manipulatorBundle == null)
-			fail("Bundle: " + SIMPLECONFIGURATOR_MANIPULATOR + " is required for this test");
-		try {
-			manipulatorBundle.start();
-		} catch (BundleException e) {
-			fail("Exception while starting up " + SIMPLECONFIGURATOR_MANIPULATOR + ' ' + e.getMessage());
-		}
-	}
-
-	public void stopSimpleConfiguratormManipulator() {
-		final String SIMPLECONFIGURATOR_MANIPULATOR = "org.eclipse.equinox.simpleconfigurator.manipulator";
-		Bundle manipulatorBundle = Platform.getBundle(SIMPLECONFIGURATOR_MANIPULATOR);
-		if (manipulatorBundle == null)
-			return;
-		try {
-			manipulatorBundle.stop();
-		} catch (BundleException e) {
-			fail("Exception while starting up " + SIMPLECONFIGURATOR_MANIPULATOR + ' ' + e.getMessage());
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/internal/test/Activator.java b/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/internal/test/Activator.java
deleted file mode 100644
index 37588a5..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/internal/test/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.frameworkadmin.internal.test;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-	private static BundleContext ctx;
-
-	public void start(BundleContext context) throws Exception {
-		ctx = context; 
-
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		ctx = null;
-	}
-
-	public static BundleContext getContext() {
-		return ctx;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/internal/test/Bug196525.java b/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/internal/test/Bug196525.java
deleted file mode 100644
index d8ce795..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/internal/test/Bug196525.java
+++ /dev/null
@@ -1,93 +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.frameworkadmin.internal.test;
-
-import java.io.File;
-import java.io.IOException;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.equinox.frameworkadmin.*;
-import org.osgi.framework.BundleException;
-
-public class Bug196525 extends AbstractFwkAdminTest {
-	private File installFolder = null;
-	private File configurationFolder = null;
-	private String launcherName = "eclipse";
-	private File bundleTXT;
-	private File configINI;
-
-	public Bug196525(String name) {
-		super(name);
-	}
-
-	protected void setUp() throws Exception {
-		startSimpleConfiguratormManipulator();
-		//create a configuration with osgi and simpleconfigurator in it
-
-		FrameworkAdmin fwkAdmin = getEquinoxFrameworkAdmin();
-		Manipulator manipulator = fwkAdmin.getManipulator();
-
-		installFolder = Activator.getContext().getDataFile(Bug196525.class.getName());
-		configurationFolder = new File(installFolder, "configuration");
-
-		bundleTXT = new File(configurationFolder, "org.eclipse.equinox.simpleconfigurator/bundles.txt");
-		configINI = new File(configurationFolder, "config.ini");
-
-		LauncherData launcherData = manipulator.getLauncherData();
-		launcherData.setFwConfigLocation(configurationFolder);
-		launcherData.setLauncher(new File(installFolder, launcherName));
-		try {
-			manipulator.load();
-		} catch (IllegalStateException e) {
-			//TODO We ignore the framework JAR location not set exception
-		}
-
-		BundleInfo osgiBi = new BundleInfo("org.eclipse.osgi", "3.3.1", FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/org.eclipse.osgi.jar")).toExternalForm(), 0, true);
-		BundleInfo configuratorBi = new BundleInfo("org.eclipse.equinox.simpleconfigurator", "1.0.0", FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/org.eclipse.equinox.simpleconfigurator.jar")).toExternalForm(), 1, true);
-
-		manipulator.getConfigData().addBundle(osgiBi);
-		manipulator.getConfigData().addBundle(configuratorBi);
-
-		manipulator.save(false);
-	}
-
-	public void testConfigContent() throws IllegalStateException, FrameworkAdminRuntimeException, IOException, BundleException {
-		FrameworkAdmin fwkAdmin = getEquinoxFrameworkAdmin();
-		Manipulator manipulator = fwkAdmin.getManipulator();
-
-		File installFolder = Activator.getContext().getDataFile(Bug196525.class.getName());
-		File configurationFolder = new File(installFolder, "configuration");
-		String launcherName = "eclipse";
-
-		LauncherData launcherData = manipulator.getLauncherData();
-		launcherData.setFwConfigLocation(configurationFolder);
-		launcherData.setLauncher(new File(installFolder, launcherName));
-		try {
-			manipulator.load();
-		} catch (IllegalStateException e) {
-			//TODO We ignore the framework JAR location not set exception
-		}
-
-		BundleInfo bundle1Bi = new BundleInfo("bundle_1", "1.0.0", FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/bundle_1")).toExternalForm(), 2, true);
-
-		manipulator.getConfigData().addBundle(bundle1Bi);
-
-		manipulator.save(false);
-
-		assertContent(bundleTXT, "org.eclipse.osgi");
-		assertContent(configINI, "org.eclipse.osgi");
-		assertContent(bundleTXT, "org.eclipse.equinox.simpleconfigurator");
-		assertContent(configINI, "org.eclipse.equinox.simpleconfigurator");
-		assertContent(bundleTXT, "bundle_1");
-	}
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/internal/test/CleanupTest.java b/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/internal/test/CleanupTest.java
deleted file mode 100644
index c932909..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/internal/test/CleanupTest.java
+++ /dev/null
@@ -1,103 +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.frameworkadmin.internal.test;
-
-import java.io.File;
-import java.io.IOException;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.equinox.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.frameworkadmin.Manipulator;
-
-public class CleanupTest extends FwkAdminAndSimpleConfiguratorTest {
-
-	public CleanupTest(String name) {
-		super(name);
-	}
-
-	Manipulator m = null;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		m = createMinimalConfiguration(CleanupTest.class.getName());
-	}
-
-	public void testSimpleConfiguratorRemoval() {
-		BundleInfo[] bis = m.getConfigData().getBundles();
-		for (int i = 0; i < bis.length; i++) {
-			if (bis[i].getSymbolicName().equals("org.eclipse.equinox.simpleconfigurator"))
-				m.getConfigData().removeBundle(bis[i]);
-		}
-		try {
-			m.save(false);
-		} catch (IOException e) {
-			fail("Error while saving");
-		}
-		assertNothing(new File(getConfigurationFolder(), "org.eclipse.equinox.simpleconfigurator"));
-		assertIsDirectory(getConfigurationFolder());
-
-		//Now remove osgi
-		bis = m.getConfigData().getBundles();
-		for (int i = 0; i < bis.length; i++) {
-			if (bis[i].getSymbolicName().equals("org.eclipse.osgi"))
-				m.getConfigData().removeBundle(bis[i]);
-		}
-		try {
-			m.save(false);
-		} catch (IOException e) {
-			fail("Error while saving");
-		}
-		assertNothing(getConfigurationFolder());
-		assertNothing(new File(getInstallFolder(), getLauncherName() + ".ini"));
-	}
-
-	public void testOSGiRemoval() {
-		BundleInfo[] bis = m.getConfigData().getBundles();
-		for (int i = 0; i < bis.length; i++) {
-			if (bis[i].getSymbolicName().equals("org.eclipse.osgi"))
-				m.getConfigData().removeBundle(bis[i]);
-		}
-		try {
-			m.save(false);
-		} catch (IOException e) {
-			fail("Error while saving");
-		}
-		assertIsDirectory(new File(getConfigurationFolder(), "org.eclipse.equinox.simpleconfigurator"));
-		assertIsDirectory(getConfigurationFolder());
-		assertNotContent(new File(getConfigurationFolder(), "org.eclipse.equinox.simpleconfigurator/bundles.txt"), "org.eclipse.osgi");
-
-		bis = m.getConfigData().getBundles();
-		for (int i = 0; i < bis.length; i++) {
-			if (bis[i].getSymbolicName().equals("org.eclipse.equinox.simpleconfigurator"))
-				m.getConfigData().removeBundle(bis[i]);
-		}
-		try {
-			m.save(false);
-		} catch (IOException e) {
-			fail("Error while saving");
-		}
-		assertNothing(getConfigurationFolder());
-		assertNothing(new File(getInstallFolder(), getLauncherName() + ".ini"));
-	}
-
-	public void testWithMutipleBundles() throws IOException {
-		BundleInfo bi = new BundleInfo(FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/bundle_1")).toExternalForm(), 2);
-		m.getConfigData().addBundle(bi);
-		m.save(false);
-
-		BundleInfo[] bis = m.getConfigData().getBundles();
-		for (int i = 0; i < bis.length; i++) {
-			if (bis[i].getSymbolicName().equals("org.eclipse.equinox.simpleconfigurator"))
-				m.getConfigData().removeBundle(bis[i]);
-		}
-		m.save(false);
-
-		assertNothing(getBundleTxt());
-		assertContent(getConfigIni(), "bundle_1");
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/internal/test/FwkAdminAndSimpleConfiguratorTest.java b/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/internal/test/FwkAdminAndSimpleConfiguratorTest.java
deleted file mode 100644
index 03afcca..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/internal/test/FwkAdminAndSimpleConfiguratorTest.java
+++ /dev/null
@@ -1,86 +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.frameworkadmin.internal.test;
-
-import java.io.File;
-import java.io.IOException;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.equinox.frameworkadmin.*;
-
-public abstract class FwkAdminAndSimpleConfiguratorTest extends AbstractFwkAdminTest {
-	private File installFolder;
-	private File configurationFolder;
-	private String launcherName;
-
-	public FwkAdminAndSimpleConfiguratorTest(String name) {
-		super(name);
-	}
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		startSimpleConfiguratormManipulator();
-	}
-
-	protected Manipulator createMinimalConfiguration(String workArea) throws Exception {
-		FrameworkAdmin fwkAdmin = getEquinoxFrameworkAdmin();
-		Manipulator manipulator = fwkAdmin.getManipulator();
-
-		installFolder = Activator.getContext().getDataFile(workArea);
-		configurationFolder = new File(installFolder, "configuration");
-		launcherName = "eclipse";
-
-		LauncherData launcherData = manipulator.getLauncherData();
-		launcherData.setFwConfigLocation(configurationFolder);
-		launcherData.setLauncher(new File(installFolder, launcherName));
-		try {
-			manipulator.load();
-		} catch (IllegalStateException e) {
-			//TODO We ignore the framework JAR location not set exception
-		}
-
-		BundleInfo osgiBi = new BundleInfo("org.eclipse.osgi", "3.3.1", FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/org.eclipse.osgi.jar")).toExternalForm(), 0, true);
-		BundleInfo configuratorBi = new BundleInfo("org.eclipse.equinox.simpleconfigurator", "1.0.0", FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/org.eclipse.equinox.simpleconfigurator.jar")).toExternalForm(), 1, true);
-
-		manipulator.getConfigData().addBundle(osgiBi);
-		manipulator.getConfigData().addBundle(configuratorBi);
-
-		try {
-			manipulator.save(false);
-		} catch (IOException e) {
-			fail("Error while persisting");
-		} catch (FrameworkAdminRuntimeException e) {
-			fail("Error while persisting");
-		}
-		return manipulator;
-	}
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-	}
-
-	public File getInstallFolder() {
-		return installFolder;
-	}
-
-	public File getConfigurationFolder() {
-		return configurationFolder;
-	}
-
-	public File getBundleTxt() {
-		return new File(configurationFolder, "org.eclipse.equinox.simpleconfigurator/bundles.txt");
-	}
-
-	public File getConfigIni() {
-		return new File(configurationFolder, "config.ini");
-	}
-
-	public String getLauncherName() {
-		return launcherName;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/internal/test/RelativePathTest.java b/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/internal/test/RelativePathTest.java
deleted file mode 100644
index 4c5e51d..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/internal/test/RelativePathTest.java
+++ /dev/null
@@ -1,82 +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.frameworkadmin.internal.test;
-
-import java.io.*;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.equinox.frameworkadmin.*;
-import org.eclipse.equinox.p2.core.helpers.FileUtils;
-
-public class RelativePathTest extends FwkAdminAndSimpleConfiguratorTest {
-	public RelativePathTest(String name) throws Exception {
-		super(name);
-	}
-
-	public void testRelativePaths() throws Exception {
-		File installFolder = Activator.getContext().getDataFile(RelativePathTest.class.getName());
-
-		//First we copy some jars into a well
-		File osgiJar = new File(installFolder, "plugins/org.eclipse.osgi.jar");
-		osgiJar.getParentFile().mkdirs();
-		File scJar = new File(installFolder, "plugins/org.eclipse.equinox.simpleconfigurator.jar");
-
-		FileUtils.copyStream(Activator.getContext().getBundle().getEntry("dataFile/org.eclipse.osgi.jar").openStream(), true, new FileOutputStream(osgiJar), true);
-		FileUtils.copyStream(Activator.getContext().getBundle().getEntry("dataFile/org.eclipse.equinox.simpleconfigurator.jar").openStream(), true, new FileOutputStream(scJar), true);
-
-		FrameworkAdmin fwkAdmin = getEquinoxFrameworkAdmin();
-		Manipulator manipulator = fwkAdmin.getManipulator();
-
-		File configurationFolder = new File(installFolder, "configuration");
-		String launcherName = "eclipse";
-
-		LauncherData launcherData = manipulator.getLauncherData();
-		launcherData.setFwConfigLocation(configurationFolder);
-		launcherData.setLauncher(new File(installFolder, launcherName));
-		try {
-			manipulator.load();
-		} catch (IllegalStateException e) {
-			//TODO We ignore the framework JAR location not set exception
-		}
-
-		BundleInfo osgiBi = new BundleInfo("org.eclipse.osgi", "3.3.1", osgiJar.toURL().toExternalForm(), 0, true);
-		BundleInfo configuratorBi = new BundleInfo("org.eclipse.equinox.simpleconfigurator", "1.0.0", scJar.toURL().toExternalForm(), 1, true);
-		manipulator.getConfigData().addBundle(osgiBi);
-		manipulator.getConfigData().addBundle(configuratorBi);
-		try {
-			manipulator.save(false);
-		} catch (IOException e) {
-			fail("Error while persisting");
-		} catch (FrameworkAdminRuntimeException e) {
-			fail("Error while persisting");
-		}
-
-		//":path.jar" is a  poor man approach to test relative paths 
-		assertNotContent(new File(configurationFolder, "config.ini"), installFolder.getAbsolutePath());
-		assertNotContent(new File(configurationFolder, "org.eclipse.equinox.simpleconfigurator/bundles.txt"), installFolder.getAbsolutePath());
-		assertContent(new File(configurationFolder, "config.ini"), ":org.eclipse.equinox.simpleconfigurator.jar");
-		assertContent(new File(configurationFolder, "org.eclipse.equinox.simpleconfigurator/bundles.txt"), ":plugins/org.eclipse.equinox.simpleconfigurator.jar");
-		assertContent(new File(configurationFolder, "org.eclipse.equinox.simpleconfigurator/bundles.txt"), ":plugins/org.eclipse.osgi.jar");
-
-		BundleInfo bi = new BundleInfo(FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/bundle_1")).toExternalForm(), 2);
-		manipulator.getConfigData().addBundle(bi);
-		manipulator.save(false);
-		assertContent(new File(configurationFolder, "org.eclipse.equinox.simpleconfigurator/bundles.txt"), FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/bundle_1")).toExternalForm());
-
-		Manipulator newManipulator = fwkAdmin.getManipulator();
-		LauncherData newLauncherData = newManipulator.getLauncherData();
-		newLauncherData.setFwConfigLocation(configurationFolder);
-		newLauncherData.setLauncher(new File(installFolder, launcherName));
-		try {
-			manipulator.load();
-		} catch (IllegalStateException e) {
-			//TODO We ignore the framework JAR location not set exception
-		}
-
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/internal/test/SimpleConfiguratorComingAndGoing.java b/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/internal/test/SimpleConfiguratorComingAndGoing.java
deleted file mode 100644
index 3c0aa7b..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/internal/test/SimpleConfiguratorComingAndGoing.java
+++ /dev/null
@@ -1,64 +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.frameworkadmin.internal.test;
-
-import java.io.File;
-import java.io.IOException;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.equinox.frameworkadmin.*;
-import org.osgi.framework.BundleException;
-
-public class SimpleConfiguratorComingAndGoing extends FwkAdminAndSimpleConfiguratorTest {
-	Manipulator m = null;
-
-	public SimpleConfiguratorComingAndGoing(String name) {
-		super(name);
-	}
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		m = createMinimalConfiguration(SimpleConfiguratorComingAndGoing.class.getName());
-	}
-
-	public void testWithMutipleBundles() throws IOException, BundleException {
-		BundleInfo bi = new BundleInfo(FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/bundle_1")).toExternalForm(), 2);
-		m.getConfigData().addBundle(bi);
-		m.save(false);
-
-		BundleInfo[] bis = m.getConfigData().getBundles();
-		for (int i = 0; i < bis.length; i++) {
-			if (bis[i].getSymbolicName().equals("org.eclipse.equinox.simpleconfigurator"))
-				m.getConfigData().removeBundle(bis[i]);
-		}
-		m.save(false);
-
-		assertNothing(getBundleTxt());
-		assertContent(getConfigIni(), "bundle_1");
-		assertContent(getConfigIni(), "org.eclipse.osgi");
-
-		FrameworkAdmin fwkAdmin = getEquinoxFrameworkAdmin();
-		Manipulator newManipulator = fwkAdmin.getManipulator();
-
-		LauncherData launcherData = newManipulator.getLauncherData();
-		launcherData.setFwConfigLocation(getConfigurationFolder());
-		launcherData.setLauncher(new File(getInstallFolder(), getLauncherName()));
-		try {
-			newManipulator.load();
-		} catch (IllegalStateException e) {
-			//TODO We ignore the framework JAR location not set exception
-		}
-
-		newManipulator.getConfigData().addBundle(new BundleInfo(FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/org.eclipse.equinox.simpleconfigurator.jar")).toExternalForm(), 1, true));
-		newManipulator.save(false);
-
-		assertContent(getBundleTxt(), "org.eclipse.osgi");
-		assertContent(getBundleTxt(), "bundle_1");
-		assertContent(getBundleTxt(), "org.eclipse.equinox.simpleconfigurator");
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/internal/test/SimpleConfiguratorTest.java b/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/internal/test/SimpleConfiguratorTest.java
deleted file mode 100644
index ecaecb1..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/internal/test/SimpleConfiguratorTest.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.frameworkadmin.internal.test;
-
-import java.io.File;
-import java.io.IOException;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.equinox.frameworkadmin.*;
-import org.osgi.framework.BundleException;
-
-public class SimpleConfiguratorTest extends AbstractFwkAdminTest {
-
-	public SimpleConfiguratorTest(String name) {
-		super(name);
-	}
-
-	public void testConfigFiles() throws IllegalStateException, FrameworkAdminRuntimeException, IOException, BundleException {
-		startSimpleConfiguratormManipulator();
-		FrameworkAdmin fwkAdmin = getEquinoxFrameworkAdmin();
-		Manipulator manipulator = fwkAdmin.getManipulator();
-
-		File installFolder = Activator.getContext().getDataFile(SimpleConfiguratorTest.class.getName());
-		File configurationFolder = new File(installFolder, "configuration");
-		String launcherName = "eclipse";
-
-		LauncherData launcherData = manipulator.getLauncherData();
-		launcherData.setFwConfigLocation(configurationFolder);
-		launcherData.setLauncher(new File(installFolder, launcherName));
-		try {
-			manipulator.load();
-		} catch (IllegalStateException e) {
-			//TODO We ignore the framework JAR location not set exception
-		}
-
-		BundleInfo osgiBi = new BundleInfo("org.eclipse.osgi", "3.3.1", FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/org.eclipse.osgi.jar")).toExternalForm(), 0, true);
-		BundleInfo configuratorBi = new BundleInfo("org.eclipse.equinox.simpleconfigurator", "1.0.0", FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/org.eclipse.equinox.simpleconfigurator.jar")).toExternalForm(), 1, true);
-
-		manipulator.getConfigData().addBundle(osgiBi);
-		manipulator.getConfigData().addBundle(configuratorBi);
-
-		manipulator.save(false);
-
-		File bundleTXT = new File(configurationFolder, "org.eclipse.equinox.simpleconfigurator/bundles.txt");
-		File configINI = new File(configurationFolder, "config.ini");
-		assertContent(bundleTXT, "org.eclipse.osgi");
-		assertContent(configINI, "org.eclipse.osgi");
-		assertContent(bundleTXT, "org.eclipse.equinox.simpleconfigurator");
-		assertContent(configINI, "org.eclipse.equinox.simpleconfigurator");
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/.classpath b/bundles/org.eclipse.equinox.frameworkadmin/.classpath
deleted file mode 100644
index 6bd36e3..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="src" path="test"/>
-	<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 d44a959..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,13 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: FrameworkAdmin Service IF (Incubation)
-Bundle-SymbolicName: org.eclipse.equinox.frameworkadmin
-Bundle-Version: 0.1.0.qualifier
-Bundle-Vendor: Eclipse.org
-Import-Package: org.osgi.framework;version="1.3.0",
- org.osgi.service.startlevel;version="1.0.0"
-Export-Package: org.eclipse.equinox.configuratormanipulator,
- org.eclipse.equinox.frameworkadmin,
- org.eclipse.equinox.internal.frameworkadmin.utils;x-friends:="org.eclipse.equinox.frameworkadmin.equinox"
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,
- CDC-1.1/Foundation-1.1
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 (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-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 9cbab3c..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               about.html
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/configuratormanipulator/ConfiguratorManipulator.java b/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/configuratormanipulator/ConfiguratorManipulator.java
deleted file mode 100644
index c386d04..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/configuratormanipulator/ConfiguratorManipulator.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.configuratormanipulator;
-
-import java.io.File;
-import java.io.IOException;
-
-import org.eclipse.equinox.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;
-
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/configuratormanipulator/ConfiguratorManipulatorFactory.java b/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/configuratormanipulator/ConfiguratorManipulatorFactory.java
deleted file mode 100644
index a630a7a..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/configuratormanipulator/ConfiguratorManipulatorFactory.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.configuratormanipulator;
-
-import org.eclipse.equinox.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/configuratormanipulator/ExtendedFrameworkAdminFactory.java b/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/configuratormanipulator/ExtendedFrameworkAdminFactory.java
deleted file mode 100644
index fa8c126..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/configuratormanipulator/ExtendedFrameworkAdminFactory.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.eclipse.equinox.configuratormanipulator;
-///*******************************************************************************
-// * 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.configurator;
-//
-//import org.eclipse.equinox.frameworkadmin.FrameworkAdmin;
-//import org.eclipse.equinox.frameworkadmin.FrameworkAdminFactory;
-//
-//// This class is used for only method 1 to support ConfiguratorManipulator from a Java program 
-//
-//public abstract class ExtendedFrameworkAdminFactory extends FrameworkAdminFactory {
-//
-//	abstract protected FrameworkAdmin createFrameworkAdmin(String configuratorManipulatorFactoryName) throws InstantiationException, IllegalAccessException, ClassNotFoundException;
-//
-//	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/frameworkadmin/BundleInfo.java b/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/frameworkadmin/BundleInfo.java
deleted file mode 100644
index b48e516..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/frameworkadmin/BundleInfo.java
+++ /dev/null
@@ -1,190 +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.frameworkadmin;
-
-/**
- * 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) {
-		this.location = location.trim();
-	}
-
-	public BundleInfo(String location, boolean started) {
-		this.location = location.trim();
-		this.markedAsStarted = started;
-	}
-
-	public BundleInfo(String location, int startLevel) {
-		this.location = location.trim();
-		this.startLevel = startLevel;
-	}
-
-	public BundleInfo(String location, int startLevel, boolean started) {
-		this.location = location.trim();
-		this.startLevel = startLevel;
-		this.markedAsStarted = started;
-	}
-
-	public BundleInfo(String location, int startLevel, boolean started, long bundleId) {
-		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;
-		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 : info.location.equalsIgnoreCase(location)))
-					return true;
-			} else {
-				return (info.location == null || location == null ? false : info.location.equals(location));
-			}
-		}
-		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 : location.toLowerCase().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(", ");
-		if (version != null)
-			buffer.append(version);
-		buffer.append(", ");
-		buffer.append("location=");
-		buffer.append(location);
-		buffer.append(", startLevel="); //$NON-NLS-1$
-		buffer.append(startLevel);
-		buffer.append(", toBeStarted=");
-		buffer.append(markedAsStarted);
-		buffer.append(", resolved=");
-		buffer.append(resolved);
-		buffer.append(", id=");
-		buffer.append(this.bundleId);//		buffer.append(',').append(manifest == null ? "no manifest" : "manifest available");
-		buffer.append(',').append(manifest==null?"no manifest" : "manifest available");
-		buffer.append(')');
-		return buffer.toString();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/frameworkadmin/BundlesState.java b/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/frameworkadmin/BundlesState.java
deleted file mode 100644
index c72c116..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/frameworkadmin/BundlesState.java
+++ /dev/null
@@ -1,142 +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.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/frameworkadmin/ConfigData.java b/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/frameworkadmin/ConfigData.java
deleted file mode 100644
index 92a7096..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/frameworkadmin/ConfigData.java
+++ /dev/null
@@ -1,206 +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.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/frameworkadmin/FrameworkAdmin.java b/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/frameworkadmin/FrameworkAdmin.java
deleted file mode 100644
index b50c71d..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/frameworkadmin/FrameworkAdmin.java
+++ /dev/null
@@ -1,109 +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.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/frameworkadmin/FrameworkAdminFactory.java b/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/frameworkadmin/FrameworkAdminFactory.java
deleted file mode 100644
index d423eca..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/frameworkadmin/FrameworkAdminFactory.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package org.eclipse.equinox.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.frameworkadmin.frameworkAdminFactory");
-	//		if (className == null)
-	//			throw new ClassNotFoundException("System property keyed by \"org.eclipse.equinox.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/frameworkadmin/FrameworkAdminRuntimeException.java b/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/frameworkadmin/FrameworkAdminRuntimeException.java
deleted file mode 100644
index 2ceaddf..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/frameworkadmin/FrameworkAdminRuntimeException.java
+++ /dev/null
@@ -1,58 +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.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/frameworkadmin/LauncherData.java b/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/frameworkadmin/LauncherData.java
deleted file mode 100644
index c92c4b1..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/frameworkadmin/LauncherData.java
+++ /dev/null
@@ -1,225 +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.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/frameworkadmin/Manipulator.java b/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/frameworkadmin/Manipulator.java
deleted file mode 100644
index 27c4473..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/frameworkadmin/Manipulator.java
+++ /dev/null
@@ -1,202 +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.frameworkadmin;
-
-import java.io.File;
-import java.io.IOException;
-
-import org.eclipse.equinox.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.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 d177ab4..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/frameworkadmin/utils/SimpleBundlesState.java
+++ /dev/null
@@ -1,330 +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.frameworkadmin.utils;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.util.*;
-
-import org.eclipse.equinox.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.frameworkadmin.BundlesState#getPrerequisteBundles(org.eclipse.equinox.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);
-		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 a82f81c..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/frameworkadmin/utils/Utils.java
+++ /dev/null
@@ -1,567 +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.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.equinox.frameworkadmin.BundleInfo;
-
-public class Utils {
-	private final static String PATH_SEP = "/";
-	private static final String[] EMPTY_STRING_ARRAY = new String[] {};
-
-	/**
-	 * 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 {
-			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;
-	}
-
-	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.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();
-			//			Set set = attributes.keySet();
-			Hashtable table = new Hashtable();
-			for (java.util.Iterator ite = attributes.keySet().iterator(); ite.hasNext();) {
-				//				Object obj =  ite.next();
-				//System.out.println(obj.getClass().getName());
-
-				String key = (String) ite.next().toString();
-				// While table contains non OSGiManifest, it doesn't matter.
-				table.put(key, attributes.getValue(key));
-				//	System.out.println("key=" + key + " value=" + value);
-			}
-			//	System.out.println("");
-			return table;
-		} catch (MalformedURLException e1) {
-			// TODO log
-			System.err.println("location=" + location);
-			e1.printStackTrace();
-		} catch (IOException e) {
-			// TODO log
-			System.err.println("location=" + location);
-			e.printStackTrace();
-		}
-		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/test/org/eclipse/incubator/configurator/util/UtilsTest.java b/bundles/org.eclipse.equinox.frameworkadmin/test/org/eclipse/incubator/configurator/util/UtilsTest.java
deleted file mode 100644
index 73c5424..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/test/org/eclipse/incubator/configurator/util/UtilsTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-///**
-// * 
-// */
-//package org.eclipse.incubator.configurator.util;
-//
-//import java.net.MalformedURLException;
-//import java.net.URL;
-//
-//import junit.framework.*;
-//
-//import org.eclipse.equinox.internal.frameworkadmin.utils.*;
-//
-///**
-// * @author iyamasak
-// *
-// */
-//public class UtilsTest extends TestCase {
-//
-//	/**
-//	 * @param name
-//	 */
-//	public UtilsTest(String name) {
-//		super(name);
-//	}
-//
-//	/* (non-Javadoc)
-//	 * @see junit.framework.TestCase#setUp()
-//	 */
-//	protected void setUp() throws Exception {
-//		super.setUp();
-//	}
-//
-//	/* (non-Javadoc)
-//	 * @see junit.framework.TestCase#tearDown()
-//	 */
-//	protected void tearDown() throws Exception {
-//		super.tearDown();
-//	}
-//
-//	//	/**
-//	//	 * Test method for {@link org.eclipse.configMan.internal.util.Utils#getUrl(java.lang.String, java.lang.String, java.lang.String)}.
-//	//	 */
-//	//	public void testGetUrl() {
-//	//		fail("Not yet implemented");
-//	//	}
-//
-//	/**
-//	 * Test method for {@link Utils#getRelativePath(java.net.URL, java.net.URL)}.
-//	 */
-//	public void testGetRelativePath() {
-//		//URL target;
-//		//URL from;
-//		try {
-//			URL target = new URL("http", "www.ntt.co.jp", "dir1/dir2/target.html");
-//			URL from = new URL("http", "www.ntt.co.jp", "dir1/dir3/dir4/from.html");
-//			String expected = "../../../dir2/target.html";
-//			String ret = Utils.getRelativePath(target, from);
-//			assertEquals(expected, ret);
-//
-//			expected = "../../dir3/dir4/from.html";
-//			ret = Utils.getRelativePath(from, target);
-//			assertEquals(expected, ret);
-//
-//			try {
-//				target = new URL("http", "www.ntt.co.jp", "dir1/dir2/target.html");
-//				from = new URL("http", "www.ibm.com", "dir1/dir3/dir4/from.html");
-//				ret = Utils.getRelativePath(target, from);
-//				fail("IllegalArgumentException must be thrown");
-//			} catch (IllegalArgumentException e) {
-//
-//			}
-//			try {
-//				target = new URL("file", null, "dir2/target.html");
-//				from = new URL("http", "www.ntt.co.jp", "dir1/dir3/dir4/from.html");
-//				ret = Utils.getRelativePath(target, from);
-//				fail("IllegalArgumentException must be thrown");
-//			} catch (IllegalArgumentException e) {
-//
-//			}
-//		} catch (MalformedURLException e) {
-//			e.printStackTrace();
-//
-//		}
-//
-//	}
-//
-//	/**
-//	 * Test method for {@link Utils#replaceAll(java.lang.String, java.lang.String, java.lang.String)}.
-//	 */
-//	public void testReplaceAll() {
-//		String st = "tere/eerere//ty/d";
-//		String expected = "tere\\eerere\\\\ty\\d";
-//		String oldSt = "/";
-//		String newSt = "\\";
-//		String ret = Utils.replaceAll(st, oldSt, newSt);
-//		assertEquals(expected, ret);
-//	}
-//
-//	/**
-//	 * Test method for {@link Utils#getTokens(java.lang.String, java.lang.String)}.
-//	 */
-//	public void testGetTokens() {
-//		String st = "/AAAA/BB//CC/D/";
-//		String[] expected = {"AAAA", "BB", "CC", "D"};
-//		String delim = "/";
-//		String[] ret = Utils.getTokens(st, delim);
-//		assertEquals("lengths must equal.", ret.length, expected.length);
-//		for (int i = 0; i < ret.length; i++)
-//			assertEquals("each elements must equal.", expected[i], ret[i]);
-//	}
-//
-//	/**
-//	 * Test method for {@link Utils#removeLastCh(String target, char ch)}.
-//	 */
-//	public void testRemoveLastCh() {
-//		String target = "ddddaaaaaaaa";
-//		String expected = "dddd";
-//		char ch = 'a';
-//		String ret = Utils.removeLastCh(target, ch);
-//		assertEquals(expected, ret);
-//	}
-//}
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 74aedc2..0000000
--- a/bundles/org.eclipse.equinox.p2.console/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,30 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.console
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 0.1.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.configurator,
- org.eclipse.equinox.p2.artifact.repository,
- org.eclipse.equinox.p2.core,
- org.eclipse.equinox.p2.core.helpers,
- org.eclipse.equinox.p2.core.location,
- org.eclipse.equinox.p2.core.repository,
- org.eclipse.equinox.p2.director,
- org.eclipse.equinox.p2.engine,
- org.eclipse.equinox.p2.installregistry,
- org.eclipse.equinox.p2.metadata,
- org.eclipse.equinox.p2.metadata.repository,
- org.eclipse.equinox.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 9adac30..0000000
--- a/bundles/org.eclipse.equinox.p2.console/Provisioning console.launch
+++ /dev/null
@@ -1,19 +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"/>
-<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.registry@default:default,org.eclipse.osgi@:,org.eclipse.osgi.services@default:default"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfigArea" value="false"/>
-<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: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.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@1:true,org.eclipse.equinox.simpleconfigurator.manipulator@default:default,org.mozilla.rhino@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 (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-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 8c04f5e..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 (Incubation)
-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 2d36bc8..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 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, 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.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 93e3c61..0000000
--- a/bundles/org.eclipse.equinox.p2.console/src/org/eclipse/equinox/internal/p2/console/ProvCommandProvider.java
+++ /dev/null
@@ -1,357 +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.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.p2.artifact.repository.*;
-import org.eclipse.equinox.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.engine.IProfileRegistry;
-import org.eclipse.equinox.p2.engine.Profile;
-import org.eclipse.equinox.p2.metadata.*;
-import org.eclipse.equinox.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.p2.query.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 {
-	public static final String NEW_LINE = System.getProperty("line.separator", "\n"); //$NON-NLS-1$ //$NON-NLS-2$
-	private static final String IU_KIND_NAMESPACE = "org.eclipse.equinox.p2.type";
-
-	//	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 _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);
-	}
-
-	/**
-	 * 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(Profile.PROP_INSTALL_FOLDER, location);
-		props.setProperty(Profile.PROP_FLAVOR, flavor);
-		if (environments != null)
-			props.setProperty(Profile.PROP_ENVIRONMENTS, environments);
-
-		ProvisioningHelper.addProfile(profileId, props);
-	}
-
-	/**
-	 * Lists the known metadata repositories, or the contents of a given
-	 * metadata repository.
-	 * 
-	 * @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("*"))
-			repoURL = toURL(interpreter, urlString);
-		IInstallableUnit[] units = sort(ProvisioningHelper.getInstallableUnits(repoURL, 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) {
-			IMetadataRepository[] repositories = ProvisioningHelper.getMetadataRepositories();
-			if (repositories == null)
-				return;
-			for (int i = 0; i < repositories.length; i++)
-				interpreter.println(repositories[i].getLocation());
-			return;
-		}
-		URL repoURL = toURL(interpreter, urlString);
-		if (repoURL == null)
-			return;
-		IInstallableUnit[] units = sort(ProvisioningHelper.getInstallableUnits(repoURL, 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());
-		IMetadataRepository[] repositories;
-		if (urlString == null) {
-			repositories = ProvisioningHelper.getMetadataRepositories();
-			if (repositories == null)
-				return;
-		} else {
-			URL repoURL = toURL(interpreter, urlString);
-			if (repoURL == null)
-				return;
-			IMetadataRepository repo = null;
-			repo = ProvisioningHelper.getMetadataRepository(repoURL);
-			if (repo == null)
-				return;
-			repositories = new IMetadataRepository[] {repo};
-		}
-		RequiredCapability requirement = new RequiredCapability(IU_KIND_NAMESPACE, "group", null, null, false, false);
-		IInstallableUnit[] units = sort(Query.query(repositories, null, null, new RequiredCapability[] {requirement}, false, 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) {
-			IArtifactRepository[] repositories = ProvisioningHelper.getArtifactRepositories();
-			if (repositories == null)
-				return;
-			for (int i = 0; i < repositories.length; i++)
-				interpreter.println(repositories[i].getLocation());
-			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("*"))
-			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) {
-			Profile[] profiles = ProvisioningHelper.getProfiles();
-			for (int i = 0; i < profiles.length; i++)
-				interpreter.println(profiles[i].getProfileId());
-			return;
-		}
-		// determine which profile is to be listed
-		Profile target = null;
-		if (profileId.equals("this"))
-			profileId = IProfileRegistry.SELF;
-		target = ProvisioningHelper.getProfile(profileId);
-		if (target == null)
-			return;
-
-		// list the profile contents
-		IInstallableUnit[] result = sort(Query.query(new Profile[] {target}, id, new VersionRange(range), null, false, null));
-		for (int i = 0; i < result.length; i++)
-			interpreter.println(result[i]);
-	}
-
-	private IInstallableUnit[] sort(IInstallableUnit[] units) {
-		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 InstallableUnit} 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 InstallableUnit} 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 8197091..0000000
--- a/bundles/org.eclipse.equinox.p2.console/src/org/eclipse/equinox/internal/p2/console/ProvisioningHelper.java
+++ /dev/null
@@ -1,294 +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.console;
-
-import java.io.IOException;
-import java.net.URL;
-import java.util.Iterator;
-import java.util.Properties;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.configurator.Configurator;
-import org.eclipse.equinox.p2.artifact.repository.IArtifactRepository;
-import org.eclipse.equinox.p2.artifact.repository.IArtifactRepositoryManager;
-import org.eclipse.equinox.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.p2.director.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.p2.metadata.repository.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.query.CompoundIterator;
-import org.eclipse.equinox.p2.query.Query;
-import org.eclipse.osgi.service.environment.EnvironmentInfo;
-import org.eclipse.osgi.service.resolver.VersionRange;
-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");
-		IMetadataRepository repository = manager.loadRepository(location, null);
-		if (repository != null)
-			return repository;
-
-		// for convenience create and add a repo here
-		// TODO need to get rid o fthe factory method.
-		String repositoryName = location + " - metadata"; //$NON-NLS-1$
-		IMetadataRepository result = manager.createRepository(location, repositoryName, "org.eclipse.equinox.p2.metadata.repository.simpleRepository"); //$NON-NLS-1$
-		return result;
-	}
-
-	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");
-		return manager.getRepository(location);
-	}
-
-	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");
-		IMetadataRepository repo = manager.getRepository(location);
-		if (repo != null)
-			manager.removeRepository(repo);
-	}
-
-	public static IArtifactRepository addArtifactRepository(URL location) {
-		IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.class.getName());
-		if (manager == null)
-			// TODO log here
-			return null;
-		IArtifactRepository repository = manager.loadRepository(location, null);
-		if (repository != null)
-			return repository;
-
-		// could not load a repo at that location so create one as a convenience
-		String repositoryName = location + " - artifacts"; //$NON-NLS-1$
-		return manager.createRepository(location, repositoryName, "org.eclipse.equinox.p2.artifact.repository.simpleRepository"); //$NON-NLS-1$
-	}
-
-	public static void removeArtifactRepository(URL location) {
-		IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.class.getName());
-		if (manager == null)
-			// TODO log here
-			return;
-		IArtifactRepository[] repos = manager.getKnownRepositories();
-		for (int i = 0; i < repos.length; i++) {
-			IArtifactRepository repo = repos[i];
-			if (repo.getLocation().equals(location)) {
-				manager.removeRepository(repo);
-				return;
-			}
-		}
-	}
-
-	public static Profile addProfile(String profileId, Properties properties) {
-		IProfileRegistry profileRegistry = (IProfileRegistry) ServiceHelper.getService(Activator.getContext(), IProfileRegistry.class.getName());
-		if (profileRegistry == null)
-			return null;
-		Profile profile = profileRegistry.getProfile(profileId);
-		if (profile != null)
-			return profile;
-
-		profile = new Profile(profileId);
-
-		for (Iterator it = properties.keySet().iterator(); it.hasNext();) {
-			String key = (String) it.next();
-			profile.setValue(key, properties.getProperty(key));
-		}
-
-		if (profile.getValue(Profile.PROP_ENVIRONMENTS) == null) {
-			EnvironmentInfo info = (EnvironmentInfo) ServiceHelper.getService(Activator.getContext(), EnvironmentInfo.class.getName());
-			if (info != null)
-				profile.setValue(Profile.PROP_ENVIRONMENTS, "osgi.os=" + info.getOS() + ",osgi.ws=" + info.getWS() + ",osgi.arch=" + info.getOSArch());
-			else
-				profile.setValue(Profile.PROP_ENVIRONMENTS, "");
-		}
-
-		profileRegistry.addProfile(profile);
-		return profile;
-	}
-
-	public static void removeProfile(String profileId) {
-		IProfileRegistry profileRegistry = (IProfileRegistry) ServiceHelper.getService(Activator.getContext(), IProfileRegistry.class.getName());
-		if (profileRegistry == null)
-			return;
-		Profile profile = profileRegistry.getProfile(profileId);
-		if (profile != null)
-			profileRegistry.removeProfile(profile);
-	}
-
-	public static Profile[] getProfiles() {
-		IProfileRegistry profileRegistry = (IProfileRegistry) ServiceHelper.getService(Activator.getContext(), IProfileRegistry.class.getName());
-		if (profileRegistry == null)
-			return new Profile[0];
-		return profileRegistry.getProfiles();
-	}
-
-	public static Profile 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 with the given id and version
-	 * specifications in the given metadata repository.  <code>null</code>
-	 * can be used to indicate wildcards for any of the arguments.
-	 * 
-	 * @param location The location of the metdata repo to search.  <code>null</code> indicates
-	 *        search all known repos.
-	 * @param id The id of the IUs to find. <code>null</code> indicates
-	 *        wildcard.
-	 * @param range The version range of the IUs to find. <code>null</code>
-	 *        indicates wildcard.
-	 * @return The IUs that match the query
-	 */
-	public static IInstallableUnit[] getInstallableUnits(URL location, String id, VersionRange range, IProgressMonitor progress) {
-		IMetadataRepository[] repositories = null;
-		if (location == null)
-			repositories = getMetadataRepositories();
-		else
-			repositories = new IMetadataRepository[] {getMetadataRepository(location)};
-		Iterator i = Query.getIterator(repositories, id, range, null, false);
-		return CompoundIterator.asArray(i, progress);
-	}
-
-	/**
-	 * Returns the installable units with the given id and version
-	 * specifications.
-	 * 
-	 * @param profileId The profile to search
-	 * @param id The id of the IUs to find. <code>null</code> indicates
-	 *        wildcard.
-	 * @param range The version range of the IUs to find. <code>null</code>
-	 *        indicates wildcard.
-	 * @return The IUs that match the query
-	 */
-	public static IInstallableUnit[] getInstallableUnits(String profileId, String id, VersionRange range, IProgressMonitor progress) {
-		Profile[] profiles = null;
-		if (profileId == null)
-			profiles = getProfiles();
-		else
-			profiles = new Profile[] {getProfile(profileId)};
-		Iterator i = Query.getIterator(profiles, id, range, null, false);
-		return CompoundIterator.asArray(i, progress);
-	}
-
-	public static IMetadataRepository[] getMetadataRepositories() {
-		IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(Activator.getContext(), IMetadataRepositoryManager.class.getName());
-		if (manager == null)
-			// TODO log here
-			return null;
-		IMetadataRepository[] repos = manager.getKnownRepositories();
-		if (repos.length > 0)
-			return repos;
-		return null;
-	}
-
-	/**
-	 * Install the described IU
-	 */
-	public static IStatus install(String unitId, String version, Profile profile, IProgressMonitor progress) throws ProvisionException {
-		IMetadataRepository[] repos = getMetadataRepositories();
-		if (repos == null || profile == null)
-			return null;
-		// search for a matching IU in the known repositories
-		IInstallableUnit toInstall = null;
-		Version unitVersion = new Version(version);
-		outer: for (int i = 0; i < repos.length; i++) {
-			IInstallableUnit[] ius = repos[i].getInstallableUnits(progress);
-			for (int j = 0; j < ius.length; j++) {
-				if (unitId.equals(ius[j].getId()) && unitVersion.equals(ius[j].getVersion())) {
-					toInstall = ius[j];
-					break outer;
-				}
-			}
-		}
-		if (toInstall == null) {
-			StringBuffer error = new StringBuffer();
-			error.append("Installable unit not found: " + unitId + ' ' + unitVersion + '\n');
-			error.append("Repositories searched:\n");
-			for (int i = 0; i < repos.length; i++)
-				error.append(repos[i].getLocation() + "\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.");
-
-		Engine engine = (Engine) ServiceHelper.getService(Activator.getContext(), Engine.class.getName());
-		if (engine == null)
-			throw new ProvisionException("No director service found.");
-		ProvisioningPlan result = planner.getInstallPlan(new IInstallableUnit[] {toInstall}, profile, progress);
-		if (!result.getStatus().isOK())
-			return result.getStatus();
-
-		return engine.perform(profile, new DefaultPhaseSet(), result.getOperands(), progress);
-	}
-
-	/**
-	 * Uninstall the described IU
-	 */
-	public static IStatus uninstall(String unitId, String version, Profile 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 IArtifactRepository[] getArtifactRepositories() {
-		IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.class.getName());
-		if (manager == null)
-			// TODO log here
-			return null;
-		IArtifactRepository[] repos = manager.getKnownRepositories();
-		if (repos.length > 0)
-			return repos;
-		return null;
-	}
-
-	public static IArtifactRepository getArtifactRepository(URL repoURL) {
-		IArtifactRepository[] repositories = getArtifactRepositories();
-		if (repositories == null)
-			return null;
-		for (int i = 0; i < repositories.length; i++)
-			if (repoURL.equals(repositories[i].getLocation()))
-				return repositories[i];
-		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/.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 f25fc6b..0000000
--- a/bundles/org.eclipse.equinox.p2.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,30 +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: 0.1.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.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-internal:=true,
- org.eclipse.equinox.p2.core,
- org.eclipse.equinox.p2.core.eventbus,
- org.eclipse.equinox.p2.core.helpers,
- org.eclipse.equinox.p2.core.location,
- org.eclipse.equinox.p2.core.repository,
- org.eclipse.equinox.spi.p2.core.repository
-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 (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-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 61ba03d..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 (Incubation)
-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 2936289..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/Activator.java
+++ /dev/null
@@ -1,182 +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 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.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 Location 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 OSGI_INSTALL_AREA = "osgi.install.area"; //$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 Location 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);
-		// handle ../ entries in the middle of the location
-		location = new Path(location).toOSString();
-		String trimmedLocation = location.trim();
-		if (trimmedLocation.equalsIgnoreCase(NONE))
-			return null;
-		if (trimmedLocation.equalsIgnoreCase(NO_DEFAULT))
-			return new BasicLocation(property, null, readOnly);
-		if (trimmedLocation.startsWith(VAR_USER_HOME)) {
-			String base = substituteVar(location, VAR_USER_HOME, PROP_USER_HOME);
-			location = new File(base).getAbsolutePath();
-		} else if (trimmedLocation.startsWith(VAR_USER_DIR)) {
-			String base = substituteVar(location, VAR_USER_DIR, PROP_USER_DIR);
-			location = new File(base).getAbsolutePath();
-		} else if (trimmedLocation.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.setURL(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(OSGI_INSTALL_AREA) + 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(new String[] {Location.class.getName(), AgentLocation.class.getName()}, 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 54fb9fc..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/BasicLocation.java
+++ /dev/null
@@ -1,222 +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.File;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import org.eclipse.equinox.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() throws IOException {
-			// 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 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;
-	}
-
-	public synchronized boolean setURL(URL value, boolean lock) throws IllegalStateException {
-		//		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 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;
-		}
-	}
-
-	/**
-	 * TODO: This method was added in Eclipse 3.4 - We need to stop implementing the OSGi interface,
-	 * and then this stub method can be removed.
-	 */
-	public Location createLocation(Location parent, URL defaultValue, boolean readonly) {
-		return null;
-	}
-
-	/**
-	 * TODO: This method was added in Eclipse 3.4 - We need to stop implementing the OSGi interface,
-	 * and then this stub method can be removed.
-	 */
-	public boolean isLocked() throws IOException {
-		return false;
-	}
-}
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 330db1c..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/Locker_JavaNio.java
+++ /dev/null
@@ -1,66 +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.*;
-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 {
-			fileLock = raFile.getChannel().tryLock();
-		} 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 ba110d0..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/Messages.java
+++ /dev/null
@@ -1,30 +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$
-	public static final String ECLIPSE_CANNOT_CHANGE_LOCATION = null;
-
-	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/messages.properties b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/messages.properties
deleted file mode 100644
index f6ae633..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/messages.properties
+++ /dev/null
@@ -1,10 +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.core/src/org/eclipse/equinox/p2/core/ProvisionException.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/ProvisionException.java
deleted file mode 100644
index 8f2a19e..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/ProvisionException.java
+++ /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
- *******************************************************************************/
-package org.eclipse.equinox.p2.core;
-
-public class ProvisionException extends Exception {
-	private static final long serialVersionUID = 1L;
-
-	public ProvisionException(String message) {
-		super(message);
-	}
-
-	public ProvisionException(Throwable e) {
-		super(e);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/eventbus/ProvisioningEventBus.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/eventbus/ProvisioningEventBus.java
deleted file mode 100644
index e754ea6..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/eventbus/ProvisioningEventBus.java
+++ /dev/null
@@ -1,81 +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.core.eventbus;
-
-import java.util.EventObject;
-import org.eclipse.osgi.framework.eventmgr.*;
-
-//TODO Need to clean up the lifecycle of this class
-public class ProvisioningEventBus implements EventDispatcher {
-	private EventListeners syncListeners = new EventListeners();
-	private EventListeners asyncListeners = new EventListeners();
-	private EventManager eventManager = new EventManager("Provisioning Event Dispatcher"); //$NON-NLS-1$
-
-	public void addListener(ProvisioningListener toAdd) {
-		if (toAdd instanceof SynchronousProvisioningListener) {
-			synchronized (syncListeners) {
-				syncListeners.addListener(toAdd, toAdd);
-			}
-		} else {
-			synchronized (asyncListeners) {
-				asyncListeners.addListener(toAdd, toAdd);
-			}
-		}
-	}
-
-	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);
-				}
-			}
-		}
-	}
-
-	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);
-		}
-	}
-
-	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
-		}
-	}
-
-	public void close() {
-		eventManager.close();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/eventbus/ProvisioningListener.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/eventbus/ProvisioningListener.java
deleted file mode 100644
index 46e4512..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/eventbus/ProvisioningListener.java
+++ /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
- *******************************************************************************/
-package org.eclipse.equinox.p2.core.eventbus;
-
-import java.util.EventListener;
-import java.util.EventObject;
-
-public interface ProvisioningListener extends EventListener {
-	public void notify(EventObject o);
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/eventbus/SynchronousProvisioningListener.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/eventbus/SynchronousProvisioningListener.java
deleted file mode 100644
index db312a2..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/eventbus/SynchronousProvisioningListener.java
+++ /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
- *******************************************************************************/
-package org.eclipse.equinox.p2.core.eventbus;
-
-public interface SynchronousProvisioningListener extends ProvisioningListener {
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/ArrayUtils.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/ArrayUtils.java
deleted file mode 100644
index 1f23c6d..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/ArrayUtils.java
+++ /dev/null
@@ -1,58 +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.core.helpers;
-
-import java.util.Iterator;
-import java.util.NoSuchElementException;
-
-public class ArrayUtils {
-	/**
-	 * Find the index of the first occurrence of object in array, or -1.
-	 * Use Arrays.binarySearch if array is big and sorted.
-	 */
-	public static int indexOf(Object[] array, Object object) {
-		for (int i = 0; i < array.length; i += 1) {
-			if (object == null ? array[i] == null : object.equals(array[i]))
-				return i;
-		}
-		return -1;
-	}
-
-	/**
-	 * Iterate over an array.
-	 */
-	public static class ArrayIterator implements Iterator {
-		private final Object[] array;
-		private int next; // next element to return
-
-		public ArrayIterator(Object[] array) {
-			this.array = array;
-			this.next = 0;
-		}
-
-		public boolean hasNext() {
-			return this.next < this.array.length;
-		}
-
-		public Object next() throws NoSuchElementException {
-			try {
-				return this.array[this.next++];
-			} catch (ArrayIndexOutOfBoundsException e) {
-				throw new NoSuchElementException();
-			}
-		}
-
-		public void remove() {
-			throw new UnsupportedOperationException();
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/FileUtils.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/FileUtils.java
deleted file mode 100644
index 59ec7fc..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/FileUtils.java
+++ /dev/null
@@ -1,225 +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.core.helpers;
-
-import java.io.*;
-import java.net.URL;
-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 void unzipFile(File zipFile, File outputDir) throws IOException {
-		InputStream in = new FileInputStream(zipFile);
-		try {
-			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 void unzipFile(File zipFile, File outputDir, String taskName, IProgressMonitor monitor) throws IOException {
-		InputStream in = new FileInputStream(zipFile);
-		try {
-			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.
-	 */
-	public static void unzipURL(URL zipURL, File outputDir) throws IOException {
-		unzipURL(zipURL, outputDir, null, null);
-	}
-
-	/**
-	 * Unzip from a URL to an output directory, with progress indication.
-	 * monitor may be null.
-	 */
-	public static void unzipURL(URL zipURL, File outputDir, String taskName, IProgressMonitor monitor) throws IOException {
-		int size = zipURL.openConnection().getContentLength();
-		InputStream in = zipURL.openStream();
-		try {
-			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 void 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);
-		}
-		do {
-			File outFile = new File(outputDir, ze.getName());
-			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();
-	}
-
-	// 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) throws IOException {
-		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 {
-		ZipOutputStream output = new ZipOutputStream(new FileOutputStream(destinationArchive));
-		try {
-			for (int i = 0; i < sourceFiles.length; i++)
-				if (sourceFiles[i].isDirectory())
-					zipDir(output, sourceFiles[i], new Path(sourceFiles[i].getName()));
-				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/p2/core/helpers/Headers.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/Headers.java
deleted file mode 100644
index 1bd2020..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/Headers.java
+++ /dev/null
@@ -1,300 +0,0 @@
-package org.eclipse.equinox.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);
-				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/p2/core/helpers/LogHelper.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/LogHelper.java
deleted file mode 100644
index 93b13c7..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/LogHelper.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.p2.core.helpers;
-
-import java.util.ArrayList;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.core.Activator;
-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();
-		}
-	}
-
-	/**
-	 * 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/p2/core/helpers/Messages.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/Messages.java
deleted file mode 100644
index 65f7336..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/Messages.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.p2.core.helpers;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-
-	private static final String BUNDLE_NAME = "org.eclipse.equinox.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;
-
-	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/p2/core/helpers/MultiStatus.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/MultiStatus.java
deleted file mode 100644
index eabca50..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/MultiStatus.java
+++ /dev/null
@@ -1,278 +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.core.helpers;
-
-import java.util.*;
-import org.eclipse.core.runtime.*;
-
-/**
- * An variation of the MultiStatus. Note that this does not
- * extend runtime.MultiStatus, instead it extends Status, because
- * the purpose of this class is to avoid a few shortcomings of
- * runtime.MultiStatus. This is different as follows:
- *      - Add only non-OK status as child (this prevents bloat).
- *      - Children is a list instead of an array; helps when add()
- *        is called more often than getChildren()
- */
-public class MultiStatus extends Status {
-
-	public final static String bundleId = "org.eclipse.equinox.p2"; //$NON-NLS-1$
-	public static final int STATUS_CODE_SUCCESS = 0;
-
-	// Use ArrayList rather than List so ensureCapacity() is available.
-	private ArrayList children = null;
-
-	/**
-	 * Uses the default code, STATUS_CODE_SUCCESS and an empty message.
-	 * Either set the message later, or add this to another MultiStatus.
-	 */
-	public MultiStatus() {
-		this(STATUS_CODE_SUCCESS, ""); //$NON-NLS-1$
-	}
-
-	/**
-	 * Uses the default code, STATUS_CODE_SUCCESS.
-	 * @param msg The status message.
-	 */
-	public MultiStatus(String msg) {
-		this(STATUS_CODE_SUCCESS, msg);
-	}
-
-	/**
-	 * A MultiStatus with one child.
-	 */
-	public MultiStatus(String msg, IStatus child) {
-		this(msg);
-		add(child);
-	}
-
-	/**
-	 * This provides a way to use a specific code to
-	 * indicate whether this status has been 'touched'
-	 * or not. This will differentiate "operation done
-	 * and successful" from "operation was not done and
-	 * successful" if code < STATUS_CODE_SUCCESS.
-	 * @param code The status code.
-	 * @param msg The status message.
-	 */
-	public MultiStatus(int code, String msg) {
-		this(code, msg, null);
-	}
-
-	/**
-	 * A MultiStatus with an exception.
-	 */
-	public MultiStatus(int code, String msg, Throwable exception) {
-		this(code, msg, null, exception);
-	}
-
-	/**
-	 * A MultiStatus with children.
-	 */
-	public MultiStatus(int code, String msg, IStatus[] nested, Throwable exception) {
-		this(OK, bundleId, code, msg, nested, exception);
-	}
-
-	/**
-	 * For creation from outside of the default plug-in.
-	 */
-	public MultiStatus(String pluginId, int code, String msg, Throwable exception) {
-		this(OK, pluginId, code, msg, null, exception);
-	}
-
-	/**
-	 * For creation from outside of the default plugin and with children.
-	 */
-	public MultiStatus(String pluginId, int code, IStatus[] nested, String msg, Throwable exception) {
-		this(OK, pluginId, code, msg, nested, exception);
-	}
-
-	/**
-	 * A MultiStatus with everything.
-	 */
-	public MultiStatus(int severity, String pluginId, int code, String msg, IStatus[] nested, Throwable exception) {
-		super(severity, pluginId, code, msg, exception);
-		if (nested != null && nested.length > 0) {
-			addAll(Arrays.asList(nested));
-		}
-	}
-
-	/**
-	 * A new MultiStatus with no children, based on a Status.
-	 */
-	public MultiStatus(Status status) {
-		super(status.getSeverity(), status.getPlugin(), status.getCode(), status.getMessage(), status.getException());
-	}
-
-	/**
-	 * Does this status indicate an error or cancellation.
-	 */
-	public boolean isErrorOrCancel() {
-		return matches(ERROR | CANCEL);
-	}
-
-	public void setCanceled() {
-		setSeverity(getSeverity() | CANCEL);
-	}
-
-	public void setMessage(String message) {
-		super.setMessage(message);
-	}
-
-	/**
-	 * Adds the given status as a child. Even if child is a
-	 * multi-status it is attached as a single child. This
-	 * helps in creating a tree instead of a flat list.
-	 * This guards against a null child. It will add the child
-	 * to the children only if the child has a non-ok severity.
-	 * @param child An IStatus object to be added as a child.
-	 */
-	public void add(IStatus child) {
-		if (child == null)
-			return;
-		setCumulativeCode(child);
-		// Add only non-OK children
-		if (!child.isOK()) {
-			if (child.isMultiStatus() && child.getMessage().length() == 0) {
-				addAll(child); // no message at root so just add children
-			} else {
-				ensureExtraCapacity(1);
-				children.add(child);
-			}
-			setCumulativeSeverity(child);
-		}
-	}
-
-	/**
-	 * Add a collection as children of this MultiStatus, using add().
-	 */
-	public void addAll(Collection nested) {
-		ensureExtraCapacity(nested.size());
-		for (Iterator i = nested.iterator(); i.hasNext();) {
-			IStatus child = (IStatus) i.next();
-			add(child);
-		}
-	}
-
-	/**
-	 * Adds the children of the given status as its own
-	 * children. This internally uses add(IStatus). This
-	 * guards against a null status.
-	 * @param status A MultiStatus IStatus object whose children
-	 * are to be added to this children.
-	 */
-	public void addAll(IStatus status) {
-		if (status == null || !status.isMultiStatus()) {
-			add(status);
-			return;
-		}
-		IStatus[] nested = status.getChildren();
-		ensureExtraCapacity(nested.length);
-		for (int i = 0; i < nested.length; i++) {
-			add(nested[i]);
-		}
-	}
-
-	/**
-	 * Merges the given status into this MultiStatus.
-	 * Equivalent to <code>add(status)</code> if the
-	 * given status is not a mMultiStatus. 
-	 * Equivalent to <code>addAll(status)</code> if the
-	 * given status is a MultiStatus. 
-	 *
-	 * @param status the status to merge into this one
-	 * @see #add(IStatus)
-	 * @see #addAll(IStatus)
-	 */
-	public void merge(IStatus status) {
-		Assert.isLegal(status != null);
-		if (!status.isMultiStatus()) {
-			add(status);
-		} else {
-			addAll(status);
-		}
-	}
-
-	/*
-	 * @see IStatus#getChildren()
-	 */
-	public IStatus[] getChildren() {
-		IStatus[] result = new IStatus[children == null ? 0 : children.size()];
-		if (result.length > 0) {
-			children.toArray(result);
-		}
-		return result;
-	}
-
-	/*
-	 * @see IStatus#isMultiStatus()
-	 */
-	public boolean isMultiStatus() {
-		return true;
-	}
-
-	/**
-	 * Collapses the children into a flat list.
-	 * If all the children are non-MultiStatus,
-	 * this is essentially getChildren().
-	 * @return An array of IStatus objects.
-	 * @see #getChildren()
-	 */
-	public IStatus[] getLeaves() {
-		List leaves = MultiStatusUtil.getStatusLeaves(this);
-		IStatus[] result = new IStatus[leaves.size()];
-		leaves.toArray(result);
-		return result;
-	}
-
-	// Ensure we have space for count more children,
-	// allocate or extends as needed.
-	private void ensureExtraCapacity(int count) {
-		if (this.children == null) {
-			this.children = new ArrayList(count < 4 ? 4 : count);
-		} else {
-			this.children.ensureCapacity(this.children.size() + count);
-		}
-	}
-
-	private void setCumulativeSeverity(IStatus child) {
-		int childSeverity = child.getSeverity();
-		if (childSeverity > this.getSeverity()) {
-			this.setSeverity(childSeverity);
-		}
-	}
-
-	private void setCumulativeCode(IStatus child) {
-		int childCode = child.getCode();
-		if (childCode > this.getCode()) {
-			this.setCode(childCode);
-		}
-	}
-
-	// This implementation of getMessage causes problems: in add(IStatus) we test
-	// child.getMessage().length() == 0.  This change prevents that from ever being the case.
-	// We want adding a MultiStatus with no message to be equivalent to adding its children.
-	//    /**
-	//     *  If the message is empty, iterates through the children at the time of
-	//     *  invocation of this message and returns the first non-blank message
-	//     *  @return Message string
-	//     */
-	//    public String getMessage() {
-	//        String msg = super.getMessage();
-	//        if (this.children != null) {
-	//            for (Iterator i = this.children.iterator(); msg.trim().length() == 0 && i.hasNext(); ) {
-	//                IStatus status = (IStatus) i.next();
-	//                msg = status.getMessage();
-	//            }
-	//        }
-	//        return msg;
-	//    }
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/MultiStatusUtil.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/MultiStatusUtil.java
deleted file mode 100644
index 6872493..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/MultiStatusUtil.java
+++ /dev/null
@@ -1,241 +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.core.helpers;
-
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.MultiStatus;
-
-public class MultiStatusUtil {
-
-	private MultiStatusUtil() {
-		// No instances, please.
-	}
-
-	/**
-	 * Does the given status indicate an error or cancellation.
-	 */
-	public static boolean isErrorOrCancel(IStatus status) {
-		return status.matches(IStatus.ERROR | IStatus.CANCEL);
-	}
-
-	public static List getStatusLeaves(IStatus root) {
-		ArrayList leaves = new ArrayList();
-		collectStatusLeaves(root, leaves);
-		leaves.trimToSize();
-		return leaves;
-	}
-
-	public static String getFailureMessage(IStatus status) {
-		final String msgSeparator = "; "; //$NON-NLS-1$
-		return getFailureMessage(status, msgSeparator);
-	}
-
-	public static String getFailureMessage(IStatus status, String msgSeparator) {
-		if (status.isMultiStatus()) {
-			StringBuffer sb = new StringBuffer(status.getMessage());
-			List failures = MultiStatusUtil.getStatusLeaves(status);
-			boolean hasNext = false;
-			if (!failures.isEmpty()) {
-				sb.append(msgSeparator);
-				hasNext = true;
-			}
-			for (Iterator it = failures.iterator(); hasNext;) {
-				IStatus failure = (IStatus) it.next();
-				sb.append(failure.getMessage());
-				hasNext = it.hasNext();
-				int lastIndex = sb.length() - 1;
-				if (hasNext) {
-					if (sb.charAt(lastIndex) == '.') {
-						sb.deleteCharAt(lastIndex);
-					}
-					sb.append(msgSeparator);
-				} else {
-					if (sb.charAt(lastIndex) != '.') {
-						sb.append('.');
-					}
-				}
-			}
-			return sb.toString();
-		}
-		return status.getMessage();
-	}
-
-	public static List getStatusNodes(IStatus root) {
-		ArrayList nodes = new ArrayList();
-		collectStatusNodes(root, nodes);
-		nodes.trimToSize();
-		return nodes;
-	}
-
-	private static void collectStatusLeaves(IStatus root, List leaves) {
-		if (root.isMultiStatus()) {
-			IStatus[] children = root.getChildren();
-			if (children.length == 0) {
-				leaves.add(root);
-			} else {
-				for (int i = 0; i < children.length; i++) {
-					collectStatusLeaves(children[i], leaves);
-				}
-			}
-		} else {
-			leaves.add(root);
-		}
-	}
-
-	private static IStatus newNonMultiStatus(IStatus status) {
-		return (status.isMultiStatus() ? new Status(status.getSeverity(), status.getPlugin(), status.getCode(), status.getMessage(), status.getException()) //
-				: status);
-	}
-
-	private static void collectStatusNodes(IStatus root, List nodes) {
-		nodes.add(newNonMultiStatus(root));
-		if (root.isMultiStatus()) {
-			IStatus[] children = root.getChildren();
-			for (int i = 0; i < children.length; i++) {
-				collectStatusNodes(children[i], nodes);
-			}
-		}
-	}
-
-	public static IStatus newFlattenedStatus(String pluginId, IStatus root, String msg) {
-		if (!root.isMultiStatus())
-			return root;
-		List leaves = MultiStatusUtil.getStatusLeaves(root);
-		if (leaves.isEmpty())
-			return root;
-		IStatus[] children = (IStatus[]) leaves.toArray(new IStatus[leaves.size()]);
-		return new MultiStatus(pluginId, root.getCode(), children, msg, null);
-	}
-
-	private static boolean hasFilteredStatus(IStatus status, IStatusFilter filter) {
-		if (filter.include(status))
-			return true;
-		if (!filter.considerChildren())
-			return false;
-		IStatus[] children = status.getChildren();
-		for (int i = 0; i < children.length; i++) {
-			IStatus child = children[i];
-			if (hasFilteredStatus(child, filter))
-				return true;
-		}
-		return false;
-	}
-
-	public interface IStatusFilter {
-		boolean include(IStatus status);
-
-		boolean considerChildren();
-	}
-
-	public static IStatus newFilteredStatus(String message, IStatus status, IStatusFilter filter) {
-		if (!status.isMultiStatus())
-			return status;
-		LinkedList list = new LinkedList();
-		IStatus[] children = status.getChildren();
-		for (int i = 0; i < children.length; i++) {
-			IStatus child = children[i];
-			if (hasFilteredStatus(child, filter)) {
-				list.add(child);
-			}
-		}
-		IStatus[] newChildren = (IStatus[]) list.toArray(new IStatus[list.size()]);
-
-		if (newChildren.length == 0)
-			return status;
-		return new MultiStatus(status.getPlugin(), status.getCode(), newChildren, message, status.getException());
-	}
-
-	public interface IStatusRecoder {
-		boolean needsRecoding(IStatus status);
-
-		/**
-		 * Recodes the status.
-		 * <p>
-		 * The returned status will always be a copy even if
-		 * no recoding was necessary. If the input is a multi
-		 * status the returned status is also a MultiStatus,
-		 * but it does not yet have any children.
-		 * 
-		 * @param status
-		 * @return the recoded status
-		 */
-		IStatus recode(IStatus status);
-
-		IStatus recode(IStatus multiStatus, IStatus[] children);
-	}
-
-	private static boolean needsRecoding(IStatus status, IStatusRecoder recoder) {
-		if (status.isMultiStatus()) {
-			if (recoder.needsRecoding(status))
-				return true;
-			IStatus[] children = status.getChildren();
-			for (int i = 0; i < children.length; i++) {
-				IStatus child = children[i];
-				if (needsRecoding(child, recoder))
-					return true;
-			}
-			return false;
-		}
-		return recoder.needsRecoding(status);
-	}
-
-	private static IStatus doSingleRecode(IStatus status, IStatusRecoder recoder) {
-		if (recoder.needsRecoding(status))
-			return recoder.recode(status);
-		return status;
-	}
-
-	private static IStatus doSingleRecode(IStatus status, IStatus[] recodedChildren, IStatusRecoder recoder) {
-		if (recoder.needsRecoding(status))
-			return recoder.recode(status, recodedChildren);
-		return new org.eclipse.core.runtime.MultiStatus(status.getPlugin(), status.getCode(), recodedChildren, status.getMessage(), status.getException());
-	}
-
-	private static IStatus doRecodeStatus(IStatus status, IStatusRecoder recoder) {
-		if (!status.isMultiStatus())
-			return doSingleRecode(status, recoder);
-		IStatus[] children = status.getChildren();
-		IStatus[] recodedChildren = new IStatus[children.length];
-		for (int i = 0; i < children.length; i++) {
-			IStatus child = children[i];
-			IStatus childRecoded = doRecodeStatus(child, recoder);
-			recodedChildren[i] = childRecoded;
-		}
-		IStatus recoded = doSingleRecode(status, recodedChildren, recoder);
-		return recoded;
-	}
-
-	public static IStatus recodeStatus(IStatus status, IStatusRecoder recoder) {
-		if (!needsRecoding(status, recoder))
-			return status;
-		return doRecodeStatus(status, recoder);
-	}
-
-	public static IStatus recodeLevel(IStatus status, final int severityMask, final int newSeverity) {
-		return recodeStatus(status, new IStatusRecoder() {
-
-			public boolean needsRecoding(IStatus s) {
-				return !s.isMultiStatus() && s.matches(severityMask);
-			}
-
-			public IStatus recode(IStatus s) {
-				return new Status(newSeverity, s.getPlugin(), s.getCode(), s.getMessage(), s.getException());
-			}
-
-			public IStatus recode(IStatus multiStatus, IStatus[] children) {
-				throw new AssertionError("should never be called"); //$NON-NLS-1$
-			}
-
-		});
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/OrderedProperties.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/OrderedProperties.java
deleted file mode 100644
index 606d35e..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/OrderedProperties.java
+++ /dev/null
@@ -1,214 +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.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 {
-
-	private LinkedHashMap propertyMap = null;
-
-	private static final String[] NO_KEYS = new String[0];
-
-	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 String getProperty(String key, String defaultValue) {
-		String value = getProperty(key);
-		return (value == null) ? defaultValue : value;
-	}
-
-	public void putAll(OrderedProperties properties) {
-		putAll((Map) properties);
-	}
-
-	public Collection getPropertyKeysCollection() {
-		return (propertyMap != null ? Collections.unmodifiableCollection(propertyMap.keySet()) : Collections.EMPTY_LIST);
-	}
-
-	public String[] getPropertyKeys() {
-		if (propertyMap == null)
-			return NO_KEYS;
-		Collection keySet = propertyMap.keySet();
-		return (String[]) keySet.toArray(new String[keySet.size()]);
-	}
-
-	/**
-	 *	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);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/ServiceHelper.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/ServiceHelper.java
deleted file mode 100644
index e9057c7..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/ServiceHelper.java
+++ /dev/null
@@ -1,46 +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.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) {
-		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/p2/core/helpers/TwoTierMap.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/TwoTierMap.java
deleted file mode 100644
index 923ad20..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/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.p2.core.helpers;
-
-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.core/src/org/eclipse/equinox/p2/core/helpers/UnmodifiableProperties.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/UnmodifiableProperties.java
deleted file mode 100644
index 2275118..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/UnmodifiableProperties.java
+++ /dev/null
@@ -1,44 +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.core.helpers;
-
-import java.util.Iterator;
-import java.util.Map;
-
-public class UnmodifiableProperties extends OrderedProperties {
-
-	public UnmodifiableProperties(OrderedProperties 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/p2/core/helpers/Utils.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/Utils.java
deleted file mode 100644
index 60a03d8..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/Utils.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.core.helpers;
-
-import java.io.File;
-import java.net.URL;
-
-public class Utils {
-	/*
-	 * 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 = getFileFor(url1);//new File(url1.getFile());
-		File file2 = getFileFor(url2);
-
-		if (file1 == null)
-			return false;
-
-		return (file1.equals(file2));
-	}
-
-	/*
-	 * Method getFileFor.
-	 * @param url1
-	 * @return File
-	 */
-	private static File getFileFor(URL url1) {
-		return new File(url1.getFile());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/XMLConstants.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/XMLConstants.java
deleted file mode 100644
index be698b1..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/XMLConstants.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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.core.helpers;
-
-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 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$
-
-	// 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/p2/core/helpers/XMLParser.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/XMLParser.java
deleted file mode 100644
index efb7854..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/XMLParser.java
+++ /dev/null
@@ -1,729 +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.core.helpers;
-
-import java.util.List;
-import java.util.regex.Pattern;
-import javax.xml.parsers.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-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 {
-
-	// TODO: support logging
-	// Get the logger associated with the class.
-	// protected abstract Logger getLogger();
-
-	// 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 ErrorHandler errorHandler; // the error handler for the parser
-
-	protected MultiStatus status = null; // accumulation of non-fatal errors
-	protected Locator locator = null; // document locator, if supported by the parser
-
-	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);
-	}
-
-	public boolean isValidXML() {
-		return (status == null || !status.isErrorOrCancel());
-	}
-
-	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;
-	}
-
-	/**
-	 * 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 a single required attribute.
-		 */
-		protected String parseRequiredAttribute(Attributes attributes, String name) {
-			return parseRequiredAttributes(attributes, new String[] {name})[0];
-		}
-
-		/**
-		 * 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.
-		 * Report errors for missing required attributes or extra ones.
-		 */
-		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 = 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 ProcessingInstruction(String target, String data) throws SAXException {
-			// Do nothing by default (except suppress warning)
-			if (false) {
-				throw new SAXException(""); //$NON-NLS-1$
-			}
-		}
-
-		public void startElement(String name, Attributes attributes) {
-			if (name.equalsIgnoreCase(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.equalsIgnoreCase(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.
-	private static final String PI_CLASS_REGEX = PI_CLASS_ATTRIBUTE + "=['\"]([\\S]*)['\"]$"; //$NON-NLS-1$
-	private static final Pattern PI_CLASS_PATTERN = Pattern.compile(PI_CLASS_REGEX);
-
-	private static final String PI_VERSION_REGEX = PI_VERSION_ATTRIBUTE + "=['\"]([\\w\\d][\\w\\d\\.]*)['\"]$"; //$NON-NLS-1$
-	private static final Pattern PI_VERSION_PATTERN = Pattern.compile(PI_VERSION_REGEX);
-
-	public String extractPIClass(String data) {
-		return PI_CLASS_PATTERN.matcher(data).replaceAll("$1"); //$NON-NLS-1$
-	}
-
-	public Version extractPIVersion(String target, String data) {
-		return checkVersion(target, PI_VERSION_ATTRIBUTE, PI_VERSION_PATTERN.matcher(data).replaceAll("$1")); //$NON-NLS-1$
-	}
-
-	public class ParserStatus extends Status implements IStatus {
-
-		int lineNumber = 0;
-		int columnNumber = 0;
-
-		public ParserStatus(int severity, int code, String message) {
-			super(severity, MultiStatus.bundleId, code, message, null);
-		}
-
-		public ParserStatus(int severity, int code, String message, int lineNumber, int columnNumber) {
-			super(severity, MultiStatus.bundleId, code, message, null);
-			setLineNumber(lineNumber);
-			setColumnNumber(columnNumber);
-		}
-
-		public int getColumnNumber() {
-			return columnNumber;
-		}
-
-		public void setColumnNumber(int columnNumber) {
-			this.columnNumber = columnNumber;
-		}
-
-		public int getLineNumber() {
-			return lineNumber;
-		}
-
-		public void setLineNumber(int lineNumber) {
-			this.lineNumber = lineNumber;
-		}
-
-	}
-
-	public void error(SAXParseException ex) {
-		addError(ex);
-	}
-
-	public void fatalError(SAXParseException ex) throws SAXException {
-		addError(ex);
-		throw ex;
-	}
-
-	protected void addError(SAXParseException ex) {
-		addError(ex.getMessage());
-	}
-
-	protected String getErrorPrefix() {
-		return null;
-	}
-
-	protected String getErrorSuffix() {
-		return null;
-	}
-
-	// Log an error message and add it to the current status.
-	//
-	// TODO: should we have a flag to throw an exception on error,
-	//		 so parsing can be aborted?
-	// TODO: flag to produce warnings instead of errors? etc. 
-	public final void addError(String msg) {
-		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;
-		}
-		// TODO: support logging
-		// getLogger().warning(errMsg);
-		IStatus currStatus = new ParserStatus(IStatus.ERROR, IStatus.OK, errMsg, line, column);
-		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 error(String msg) {
-		addError(msg);
-	}
-
-	public void checkRequiredAttribute(String element, String name, Object value) {
-		if (value == null) {
-			addError(NLS.bind(Messages.XMLParser_Missing_Required_Attribute, element, name));
-		}
-	}
-
-	// 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);
-			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;
-	}
-
-	public Version checkVersion(String element, String attribute, String value) {
-		try {
-			return new Version(value);
-		} catch (IllegalArgumentException iae) {
-			invalidAttributeValue(element, attribute, value);
-		}
-		return Version.emptyVersion;
-	}
-
-	public VersionRange checkVersionRange(String element, String attribute, String value) {
-		try {
-			return new VersionRange(value);
-		} catch (IllegalArgumentException iae) {
-			invalidAttributeValue(element, attribute, value);
-		}
-		return VersionRange.emptyRange;
-	}
-
-	public void unexpectedAttribute(String element, String attribute, String value) {
-		addError(NLS.bind(Messages.XMLParser_Unexpected_Attribute, new Object[] {element, attribute, value}));
-	}
-
-	public void invalidAttributeValue(String element, String attribute, String value) {
-		addError(NLS.bind(Messages.XMLParser_Illegal_Value_For_Attribute, new Object[] {attribute, element, value}));
-	}
-
-	public void unexpectedElement(AbstractHandler handler, String element, Attributes attributes) {
-		addError(NLS.bind(Messages.XMLParser_Unexpected_Element, new Object[] {handler.getName(), element, toString(attributes)}));
-	}
-
-	public void duplicateElement(AbstractHandler handler, String element, Attributes attributes) {
-		addError(NLS.bind(Messages.XMLParser_Duplicate_Element, new Object[] {handler.getName(), element, toString(attributes)}));
-	}
-
-	public void unexpectedCharacterData(AbstractHandler handler, String cdata) {
-		addError(NLS.bind(Messages.XMLParser_Unexpected_Character_Data, handler.getName(), cdata.trim()));
-	}
-
-	/**
-	 * 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/p2/core/helpers/XMLUtils.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/XMLUtils.java
deleted file mode 100644
index ed72bf6..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/XMLUtils.java
+++ /dev/null
@@ -1,144 +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.core.helpers;
-
-public class XMLUtils {
-
-	public static String escape(String txt) {
-		// Traverse the string from right to left as the length
-		// may increase as result of processing
-		for (int i = txt.length() - 1; i >= 0; i -= 1) {
-			String replace;
-			switch (txt.charAt(i)) {
-				case '<' :
-					replace = "&lt;"; //$NON-NLS-1$
-					break;
-				case '>' :
-					replace = "&gt;"; //$NON-NLS-1$
-					break;
-				case '"' :
-					replace = "&quot;"; //$NON-NLS-1$
-					break;
-				case '\'' :
-					replace = "&apos;"; //$NON-NLS-1$
-					break;
-				case '&' :
-					replace = "&amp;"; //$NON-NLS-1$
-					break;
-				default :
-					continue;
-			}
-			txt = txt.substring(0, i) + replace + txt.substring(i + 1);
-		}
-		return txt;
-	}
-
-	// A string constant for no indentation.
-	protected static final String NO_INDENT = ""; //$NON-NLS-1$
-
-	// A constant for maximum line length before break and indent
-	protected static final int MAX_LINE = 72;
-
-	/*
-	 *  Construct a string for a simple XML element
-	 *  with no text or child elements, just attributes
-	 *  expressed as name/value pairs.
-	 *  
-	 *  e.g <elemName attr1='value1' attr2='value2'/>
-	 */
-	public static String simpleElement(String elementName, String[] attrNameValuePairs) {
-		StringBuffer buffer = new StringBuffer();
-		simpleElement(elementName, attrNameValuePairs, buffer, NO_INDENT);
-
-		return buffer.toString();
-	}
-
-	/*
-	 *  Write a string for a simple XML element
-	 *  with no text or child elements, just attributes
-	 *  expressed as name/value pairs, into the given
-	 *  string buffer using the given indentation.
-	 *  
-	 *  e.g. <elemName attr1='value1' attr2='value2'/>
-	 */
-	public static void simpleElement(String elementName, String[] attrNameValuePairs, StringBuffer buffer, String indent) {
-		element(elementName, attrNameValuePairs, buffer, indent, "/>"); //$NON-NLS-1$
-	}
-
-	/*
-	 *  Write a string for an open XML element, including
-	 *  the attributes expressed as name/value pairs,
-	 *  into the given string buffer using the given indentation.
-	 *  
-	 *  The caller is responsible for adding any child elements
-	 *  and closing the element.
-	 *  
-	 *  Eg. <elemName attr1='value1' attr2='value2'>
-	 */
-	public static void openElement(String elementName, String[] attrNameValuePairs, StringBuffer buffer, String indent) {
-		element(elementName, attrNameValuePairs, buffer, indent, ">"); //$NON-NLS-1$
-	}
-
-	/*
-	 *  Write a string for an unterminated XML element, including
-	 *  the attributes expressed as name/value pairs,
-	 *  into the given string buffer using the given indentation.
-	 *  
-	 *  The caller is responsible for terminating the element.
-	 *  
-	 *  e.g. <elemName attr1='value1' attr2='value2' 
-	 */
-	public static void unterminatedElement(String elementName, String[] attrNameValuePairs, StringBuffer buffer, String indent) {
-		buffer.append(indent).append('<').append(elementName);
-
-		String attrPrefix = " "; //$NON-NLS-1$
-		int totalLen = buffer.length() + 1;
-		for (int i = 0; i < attrNameValuePairs.length; i++) {
-			String next = attrNameValuePairs[i];
-			if (next != null) {
-				totalLen += next.length() + 2;
-				if (totalLen >= MAX_LINE) {
-					attrPrefix = '\n' + indent + "  "; //$NON-NLS-1$
-					break;
-				}
-			}
-		}
-
-		for (int i = 0; i < attrNameValuePairs.length;) {
-			String name = attrNameValuePairs[i++];
-			if (name.length() > 0) {
-				String value = (i < attrNameValuePairs.length ? attrNameValuePairs[i++] : null);
-				if (value != null) {
-					buffer.append(attrPrefix).append(name);
-					buffer.append("='").append(escape(value)).append('\''); //$NON-NLS-1$
-				}
-			}
-		}
-	}
-
-	/*
-	 *  Fill the string buffer for a XML element, including
-	 *  the attributes expressed as name/value pairs, and
-	 *  terminate with the given termination string.
-	 *  
-	 *  e.g. <elemName attr1='value1' attr2='value2'>
-	 *   or  <elemName attr1='value1' attr2='value2'>
-	 */
-	private static void element(String elementName, String[] attrNameValuePairs, StringBuffer buffer, String indent, String termination) {
-		unterminatedElement(elementName, attrNameValuePairs, buffer, indent);
-		buffer.append(termination);
-	}
-
-	private XMLUtils() {
-		// Private constructor to ensure no instances are created.
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/XMLWriter.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/XMLWriter.java
deleted file mode 100644
index 03e5b8b..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/XMLWriter.java
+++ /dev/null
@@ -1,348 +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.core.helpers;
-
-import java.io.*;
-import java.util.*;
-import java.util.regex.Pattern;
-import org.osgi.framework.Version;
-
-public class XMLWriter implements XMLConstants {
-
-	// Miscellaneous
-	public static final String EMPTY_ATTR = ""; //$NON-NLS-1$
-
-	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 data) {
-			this.target = target;
-			this.data = new String[] {data};
-		}
-
-		public ProcessingInstruction(String target) {
-			this.target = target;
-			this.data = new String[0];
-		}
-
-		public ProcessingInstruction(String target, String[] data) {
-			this.target = target;
-			this.data = data;
-		}
-
-		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;
-
-	private XMLWriter(OutputStream output, boolean writeXMLProcessingInstruction) throws UnsupportedEncodingException {
-		this.pw = new PrintWriter(new OutputStreamWriter(output, "UTF8"), true); //$NON-NLS-1$
-		if (writeXMLProcessingInstruction) {
-			println(ProcessingInstruction.XML_UTF8);
-		}
-		this.elements = new Stack();
-		this.open = false;
-		this.indent = "  "; //$NON-NLS-1$
-	}
-
-	public XMLWriter(OutputStream output, ProcessingInstruction piElement, boolean writeXMLProcessingInstruction) throws UnsupportedEncodingException {
-		this(output, new ProcessingInstruction[] {piElement}, writeXMLProcessingInstruction);
-	}
-
-	public XMLWriter(OutputStream output, ProcessingInstruction piElement) throws UnsupportedEncodingException {
-		this(output, new ProcessingInstruction[] {piElement}, true /* writeXMLProcessingInstruction */);
-	}
-
-	public XMLWriter(OutputStream output, ProcessingInstruction[] piElements, boolean writeXMLProcessingInstruction) throws UnsupportedEncodingException {
-		this(output, writeXMLProcessingInstruction);
-		if (piElements != null) {
-			for (int i = 0; i < piElements.length; i++) {
-				println(piElements[i].toString());
-			}
-		}
-	}
-
-	public XMLWriter(OutputStream output, ProcessingInstruction[] piElements) throws UnsupportedEncodingException {
-		this(output, piElements, /* writeXMLProcessingInstruction */
-		true);
-	}
-
-	// String used for each level of indentation; default is two spaces.
-	public void setIndent(String indent) {
-		this.indent = indent;
-	}
-
-	// 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;
-	}
-
-	// 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(XMLUtils.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 cdataLines(String data, boolean escape) {
-		if (this.open) {
-			println('>');
-			this.open = false;
-		}
-		if (data.indexOf('\n') == -1) {
-			// simple case: one line
-			printlnIndented(data, escape);
-		} else {
-			String[] lines = Pattern.compile("\\s*\\n").split(data, 0); //$NON-NLS-1$
-			for (int i = 0; i < lines.length; i += 1) {
-				printlnIndented(lines[i].trim(), escape);
-			}
-		}
-	}
-
-	public void flush() {
-		while (!this.elements.empty()) {
-			try {
-				end();
-			} catch (EndWithoutStartError e) {
-				// can't happen
-			}
-		}
-		this.pw.flush();
-	}
-
-	public void close() {
-		flush();
-		this.pw.close();
-	}
-
-	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);
-		}
-	}
-
-	// Support writing properties with an auxiliary map
-	// of keys to localized values
-	public void writeProperties(Map properties, Map localizedValues) {
-		writeProperties(PROPERTIES_ELEMENT, properties, localizedValues);
-	}
-
-	// Support writing properties with an auxiliary map
-	// of keys to localized values
-	public void writeProperties(String propertiesElement, Map properties, Map localizedValues) {
-		if (properties != null && properties.size() > 0 && localizedValues != null) {
-			start(propertiesElement);
-			for (Iterator I = properties.entrySet().iterator(); I.hasNext();) {
-				Map.Entry property = (Map.Entry) I.next();
-				String key = (String) property.getKey();
-				String val = (String) property.getValue();
-				if (localizedValues.containsKey(key)) {
-					val = (String) localizedValues.get(key);
-				}
-				writeProperty(key, val);
-			}
-			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 EMPTY_ATTR; // optional attribute with no value
-		}
-		return name + "='" + XMLUtils.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 ? XMLUtils.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/p2/core/helpers/messages.properties b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/messages.properties
deleted file mode 100644
index 0f58a17..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/helpers/messages.properties
+++ /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
-###############################################################################
-
-Util_Invalid_Zip_File_Format=Invalid zip file format
-Util_Error_Unzipping=Error unzipping {0}: {1}
-
-# 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/p2/core/location/AgentLocation.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/location/AgentLocation.java
deleted file mode 100644
index 6f0988e..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/location/AgentLocation.java
+++ /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
- *******************************************************************************/
-package org.eclipse.equinox.p2.core.location;
-
-import java.net.URL;
-import org.eclipse.osgi.service.datalocation.Location;
-
-/**
- * TODO: We are not allowed to extend Location because it's not intended
- * to be implemented by clients.
- */
-public interface AgentLocation extends Location {
-
-	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);
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/repository/IRepository.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/repository/IRepository.java
deleted file mode 100644
index ca2d513..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/repository/IRepository.java
+++ /dev/null
@@ -1,100 +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.core.repository;
-
-import java.net.URL;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.equinox.p2.core.helpers.OrderedProperties;
-import org.eclipse.equinox.p2.core.helpers.UnmodifiableProperties;
-
-/**
- * Base interface that defines common properties that may be provided by 
- * various kinds of repositories.
- * <p>
- * This interface is not intended to be implemented by clients.
- */
-public interface IRepository extends IAdaptable {
-	// The property key for a boolean property indicating that the repository
-	// is an implementation detail, not subject to general access, hidden
-	// from the typical user, etc.
-	static public String IMPLEMENTATION_ONLY_KEY = "implementationOnly"; //$NON-NLS-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 UnmodifiableProperties 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);
-
-	/**
-	 * Returns a brief description of the repository.
-	 */
-	public void setDescription(String description);
-
-	/**
-	 * Set the name of the provider of the repository.
-	 */
-	public void setProvider(String provider);
-
-	/**
-	 * Returns the modifiable collection of the properties of the repository.
-	 * @return the properties of this repository.
-	 */
-	public OrderedProperties getModifiableProperties();
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/repository/RepositoryCreationException.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/repository/RepositoryCreationException.java
deleted file mode 100644
index b121a47..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/repository/RepositoryCreationException.java
+++ /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
- *******************************************************************************/
-package org.eclipse.equinox.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/spi/p2/core/repository/AbstractRepository.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/spi/p2/core/repository/AbstractRepository.java
deleted file mode 100644
index 0f9a9b6..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/spi/p2/core/repository/AbstractRepository.java
+++ /dev/null
@@ -1,123 +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.spi.p2.core.repository;
-
-import java.net.URL;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.equinox.p2.core.helpers.OrderedProperties;
-import org.eclipse.equinox.p2.core.helpers.UnmodifiableProperties;
-import org.eclipse.equinox.p2.core.repository.IRepository;
-
-/**
-* AbstractRepository defines common properties that may be provided by various kinds
-* of repositories.
-* <p>
-* Clients may extend this class.
-* </p>
-* TODO: Do we want additional properties - time zone, copyrights, security etc.. 
-*/
-
-public abstract class AbstractRepository extends PlatformObject implements IRepository {
-	protected String name;
-	protected String type;
-	protected String version;
-	protected String description;
-	protected String provider;
-	protected transient URL location;
-	protected OrderedProperties properties = new OrderedProperties();
-
-	protected AbstractRepository(String name, String type, String version, URL location, String description, String provider) {
-		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$
-	}
-
-	/**
-	 * Returns the name of the repository.
-	 * @return the name of the repository.
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * Returns a string representing the type of the repository.
-	 * @return the type of the repository.
-	 */
-	public String getType() {
-		return type;
-	}
-
-	/**
-	 * Returns a string representing the version for the repository type.
-	 * @return the version of the type of the repository.
-	 */
-	public String getVersion() {
-		return version;
-	}
-
-	/**
-	 * 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 URL getLocation() {
-		return location;
-	}
-
-	/**
-	 * Returns a brief description of the repository.
-	 * @return the description of the repository.
-	 */
-	public String getDescription() {
-		return description;
-	}
-
-	/**
-	 * Returns the name of the provider of the repository.
-	 * @return the provider of this repository.
-	 */
-	public String getProvider() {
-		return provider;
-	}
-
-	/**
-	 * Returns a read-only collection of the properties of the repository.
-	 * @return the properties of this repository.
-	 */
-	public UnmodifiableProperties getProperties() {
-		return new UnmodifiableProperties(properties);
-	}
-
-	public void setName(String value) {
-		name = value;
-	}
-
-	public void setDescription(String description) {
-		this.description = description;
-	}
-
-	public void setProvider(String provider) {
-		this.provider = provider;
-	}
-
-	public OrderedProperties getModifiableProperties() {
-		return properties;
-	}
-
-	public boolean isModifiable() {
-		return false;
-	}
-}
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 ce0c7a5..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/.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.director.app/.cvsignore b/bundles/org.eclipse.equinox.p2.director.app/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
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 94d69c3..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/.project
+++ /dev/null
@@ -1,28 +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.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 03102cb..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:58 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/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.director.app/META-INF/MANIFEST.MF
deleted file mode 100644
index f313841..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,27 +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: 0.1.0.qualifier
-Import-Package: org.eclipse.equinox.app,
- org.eclipse.equinox.internal.p2.console,
- org.eclipse.equinox.p2.artifact.repository,
- org.eclipse.equinox.p2.core.helpers,
- org.eclipse.equinox.p2.core.location,
- org.eclipse.equinox.p2.director,
- org.eclipse.equinox.p2.engine,
- org.eclipse.equinox.p2.engine.phases,
- org.eclipse.equinox.p2.metadata,
- org.eclipse.equinox.p2.metadata.repository,
- org.eclipse.equinox.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
-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 (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-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 4bbd9bd..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/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.director.app/config.ini b/bundles/org.eclipse.equinox.p2.director.app/config.ini
deleted file mode 100644
index d248818..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/config.ini
+++ /dev/null
@@ -1,87 +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=\
-	com.thoughtworks.xstream,\
-	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.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.mozilla.rhino
-
-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 8bd055b..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"?>
-<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&#13;&#10;-metadataRepository file:d:/tmp/equinox.p2/servers/metadataRepository/ &#13;&#10;-artifactRepository file:d:/tmp/equinox.p2/servers/artifactRepository/ &#13;&#10;-installIU sdk&#13;&#10;-destination d:/tmp/equinox.p2/eclipseApp&#13;&#10;-flavor tooling&#13;&#10;-profile foo"/>
-<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/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="ibm1.5sr1"/>
-<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.jarprocessor@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@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@default:true"/>
-</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 97f98dc..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 (Incubation)
-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 9b8a9c1..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/plugin.xml
+++ /dev/null
@@ -1,18 +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> 
-
-</plugin>
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 f9fb36f..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/Activator.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.director.app;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-/**
- * @since 3.3
- */
-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;
-	}
-
-	public static BundleContext getContext() {
-		return bundleContext;
-	}
-}
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 d8c6af9..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/Application.java
+++ /dev/null
@@ -1,226 +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 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.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.p2.director.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.engine.phases.Sizing;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.p2.query.IQueryable;
-import org.eclipse.equinox.p2.query.Query;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-/**
- * @since 3.3
- */
-public class Application implements IApplication {
-
-	private String destination;
-	private URL artifactRepositoryLocation;
-	private URL metadataRepositoryLocation;
-	private String root;
-	private String flavor;
-	private String profileId;
-	private boolean install;
-	private String bundlePool = null;
-	private String nl;
-	private String os;
-	private String arch;
-	private String ws;
-	private boolean roamingProfile = false;
-	private Version version = null;
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.IApplicationContext)
-	 */
-	public Object start(IApplicationContext context) throws Exception {
-		long time = -System.currentTimeMillis();
-		Map args = context.getArguments();
-		initializeFromArguments((String[]) args.get("application.args"));
-
-		Properties props = new Properties();
-		props.setProperty(Profile.PROP_INSTALL_FOLDER, destination);
-		props.setProperty(Profile.PROP_FLAVOR, flavor);
-		if (bundlePool != null)
-			if (bundlePool.equals("<destination>"))
-				props.setProperty("eclipse.p2.cache", destination);
-			else
-				props.setProperty("eclipse.p2.cache", bundlePool);
-		if (roamingProfile)
-			props.setProperty("eclipse.p2.roaming", "true");
-
-		String env = getEnvironmentProperty();
-		if (env != null)
-			props.setProperty(Profile.PROP_ENVIRONMENTS, env);
-		Profile profile = ProvisioningHelper.addProfile(profileId, props);
-		String currentFlavor = profile.getValue(Profile.PROP_FLAVOR);
-		if (currentFlavor != null && !currentFlavor.endsWith(flavor))
-			throw new RuntimeException("Install flavor not consistent with profile flavor");
-
-		IDirector director = (IDirector) ServiceHelper.getService(Activator.getContext(), IDirector.class.getName());
-		if (director == null)
-			throw new RuntimeException("Director could not be loaded");
-
-		IPlanner planner = (IPlanner) ServiceHelper.getService(Activator.getContext(), IPlanner.class.getName());
-		if (planner == null)
-			throw new RuntimeException("Planner could not be loaded");
-
-		Engine engine = (Engine) ServiceHelper.getService(Activator.getContext(), Engine.class.getName());
-		if (engine == null)
-			throw new RuntimeException("Engine could not be loaded");
-
-		ProvisioningHelper.addArtifactRepository(artifactRepositoryLocation);
-		IMetadataRepository metadataRepository = ProvisioningHelper.addMetadataRepository(metadataRepositoryLocation);
-		IInstallableUnit[] roots = Query.query(new IQueryable[] {metadataRepository}, root, version == null ? null : new VersionRange(version, true, version, true), null, false, null);
-		ProvisioningPlan result = null;
-		IStatus operationStatus = null;
-		if (roots.length > 0) {
-			if (install) {
-				result = planner.getInstallPlan(roots, profile, new NullProgressMonitor());
-			} else {
-				result = planner.getUninstallPlan(roots, profile, new NullProgressMonitor());
-			}
-			if (!result.getStatus().isOK())
-				operationStatus = result.getStatus();
-			else {
-				Sizing sizeComputer = new Sizing(100, "Compute sizes"); //$NON-NLS-1$
-				PhaseSet set = new PhaseSet(new Phase[] {sizeComputer}) {};
-				operationStatus = engine.perform(profile, set, result.getOperands(), new NullProgressMonitor());
-				System.out.println("Estimated size on disk " + sizeComputer.getDiskSize());
-				System.out.println("Estimated download size " + sizeComputer.getDlSize());
-				operationStatus = engine.perform(profile, new DefaultPhaseSet(), result.getOperands(), new NullProgressMonitor());
-			}
-		} else {
-			operationStatus = new Status(IStatus.INFO, "org.eclipse.equinox.p2.director.test", "The installable unit '" + root + "' has not been found");
-		}
-
-		time += System.currentTimeMillis();
-		if (operationStatus.isOK()) {
-			System.out.println((install ? "installation" : "uninstallation") + " complete (" + time + "ms)");
-		} else {
-			System.out.println((install ? "installation" : "uninstallation") + " failed. " + operationStatus);
-			LogHelper.log(operationStatus);
-		}
-		return null;
-	}
-
-	public void stop() {
-	}
-
-	public void initializeFromArguments(String[] args) throws Exception {
-		if (args == null)
-			return;
-		for (int i = 0; i < args.length; i++) {
-
-			if (args[i].equals("-roaming")) {
-				roamingProfile = true;
-			}
-
-			// 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 (args[i - 1].equalsIgnoreCase("-profile"))
-				profileId = arg;
-
-			// we create a path object here to handle ../ entries in the middle of paths
-			if (args[i - 1].equalsIgnoreCase("-destination") || args[i - 1].equalsIgnoreCase("-dest"))
-				destination = new Path(arg).toOSString();
-
-			// we create a path object here to handle ../ entries in the middle of paths
-			if (args[i - 1].equalsIgnoreCase("-bundlepool") || args[i - 1].equalsIgnoreCase("-bp"))
-				bundlePool = new Path(arg).toOSString();
-
-			if (args[i - 1].equalsIgnoreCase("-metadataRepository") || args[i - 1].equalsIgnoreCase("-mr"))
-				metadataRepositoryLocation = new URL(arg);
-
-			if (args[i - 1].equalsIgnoreCase("-artifactRepository") | args[i - 1].equalsIgnoreCase("-ar"))
-				artifactRepositoryLocation = new URL(arg);
-
-			if (args[i - 1].equalsIgnoreCase("-flavor"))
-				flavor = arg;
-
-			if (args[i - 1].equalsIgnoreCase("-installIU")) {
-				root = arg;
-				install = true;
-			}
-
-			if (args[i - 1].equalsIgnoreCase("-version")) {
-				version = new Version(arg);
-			}
-
-			if (args[i - 1].equalsIgnoreCase("-uninstallIU")) {
-				root = arg;
-				install = false;
-			}
-
-			if (args[i - 1].equalsIgnoreCase("-p2.os")) {
-				os = arg;
-			}
-			if (args[i - 1].equalsIgnoreCase("-p2.ws")) {
-				ws = arg;
-			}
-			if (args[i - 1].equalsIgnoreCase("-p2.nl")) {
-				nl = arg;
-			}
-			if (args[i - 1].equalsIgnoreCase("-p2.arch")) {
-				arch = arg;
-			}
-		}
-	}
-
-	private String getEnvironmentProperty() {
-		Properties values = new Properties();
-		if (os != null)
-			values.put("osgi.os", os);
-		if (nl != null)
-			values.put("osgi.nl", nl);
-		if (ws != null)
-			values.put("osgi.ws", ws);
-		if (arch != null)
-			values.put("osgi.arch", arch);
-		if (values.isEmpty())
-			return null;
-		return toString(values);
-	}
-
-	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();
-	}
-}
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 3562913..0000000
--- a/bundles/org.eclipse.equinox.p2.director/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,28 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.director
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 0.1.0.qualifier
-Import-Package: org.eclipse.equinox.p2.core.eventbus,
- org.eclipse.equinox.p2.core.helpers,
- org.eclipse.equinox.p2.core.location,
- org.eclipse.equinox.p2.core.repository,
- org.eclipse.equinox.p2.engine,
- org.eclipse.equinox.p2.installregistry,
- org.eclipse.equinox.p2.metadata,
- org.eclipse.equinox.p2.metadata.repository,
- org.eclipse.equinox.p2.query,
- org.eclipse.equinox.p2.resolution,
- 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-internal:=true,
- org.eclipse.equinox.internal.p2.rollback;x-internal:=true,
- org.eclipse.equinox.p2.director
-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
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 (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-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 32bdfe2..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 (Incubation)
-providerName = Eclipse.org
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 18f0d71..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/BasicIUFilter.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.eclipse.equinox.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/IUFilter.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/IUFilter.java
deleted file mode 100644
index d3e12b9..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 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, 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.p2.metadata.IInstallableUnit;
-
-public abstract class IUFilter {
-	public abstract boolean accept(IInstallableUnit iu);
-}
\ No newline at end of file
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 490e6b3..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/IUTransformationHelper.java
+++ /dev/null
@@ -1,35 +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.ArrayList;
-import java.util.Iterator;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.RequiredCapability;
-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(new RequiredCapability(IInstallableUnit.IU_NAMESPACE, 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] = new RequiredCapability(IInstallableUnit.IU_NAMESPACE, 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 a622c37..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Messages.java
+++ /dev/null
@@ -1,45 +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_Install_Problems;
-
-	public static String Director_Uninstall_Problems;
-	public static String Director_Nothing_To_Uninstall;
-	public static String Director_Cannot_Uninstall;
-	public static String Director_Already_Installed;
-
-	public static String Director_Replace_Problems;
-	public static String Director_Become_Problems;
-	public static String Director_Unexpected_IU;
-	public static String Director_Task_Installing;
-	public static String Director_Task_Uninstalling;
-	public static String Director_Task_Updating;
-	public static String Director_Task_Resolving_Dependencies;
-	public static String Director_Resolving_Shared_Dependencies;
-	public static String Director_Unsatisfied_Dependencies;
-	public static String Director_Unsatisfied_Dependency;
-
-}
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 a26c4a7..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/OperationGenerator.java
+++ /dev/null
@@ -1,126 +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.equinox.p2.engine.Operand;
-import org.eclipse.equinox.p2.metadata.*;
-import org.eclipse.equinox.p2.query.CompoundIterator;
-import org.eclipse.osgi.service.resolver.VersionRange;
-
-public class OperationGenerator {
-	static IResolvedInstallableUnit NULL_IU = new ResolvedInstallableUnit(new InstallableUnit());
-
-	public Operand[] 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);
-		Operand[] ops = (Operand[]) operations.toArray(new Operand[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()) {
-			IResolvedInstallableUnit fromIU = (IResolvedInstallableUnit) from.get(fromIdx);
-			IResolvedInstallableUnit toIU = (IResolvedInstallableUnit) 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((IResolvedInstallableUnit) from.get(i)));
-			}
-		}
-		if (toIdx != to.size()) {
-			for (int i = toIdx; i < to.size(); i++) {
-				operations.add(createInstallOperation((IResolvedInstallableUnit) to.get(i)));
-			}
-		}
-	}
-
-	private void generateUpdates(List from, List to, ArrayList operations) {
-		Set processed = new HashSet();
-		for (int toIdx = 0; toIdx < to.size(); toIdx++) {
-			IResolvedInstallableUnit iuTo = (IResolvedInstallableUnit) to.get(toIdx);
-			if (iuTo.getId().equals(next(from, 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.getProperty(IInstallableUnitConstants.UPDATE_FROM) == 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 
-			Iterator updates = new CompoundIterator(new Iterator[] {from.iterator()}, iuTo.getProperty(IInstallableUnitConstants.UPDATE_FROM), new VersionRange(iuTo.getProperty(IInstallableUnitConstants.UPDATE_RANGE)), null, false);
-			IResolvedInstallableUnit iuFrom;
-			if (!updates.hasNext()) { //Nothing to udpate from.
-				continue;
-			}
-			iuFrom = (IResolvedInstallableUnit) 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);
-				to.remove(iuTo);
-				continue;
-			}
-			operations.add(createUpdateOperation(iuFrom, iuTo));
-			from.remove(iuFrom);
-			processed.add(iuTo);
-		}
-		to.removeAll(processed);
-	}
-
-	private Operand createUninstallOperation(IResolvedInstallableUnit iu) {
-		return new Operand(iu, null);
-	}
-
-	private Operand createInstallOperation(IResolvedInstallableUnit iu) {
-		return new Operand(null, iu);
-	}
-
-	private Operand createUpdateOperation(IResolvedInstallableUnit from, IResolvedInstallableUnit to) {
-		return new Operand(from, to);
-	}
-
-	private IResolvedInstallableUnit next(List l, int i) {
-		i++;
-		if (i >= l.size())
-			return NULL_IU;
-		return (IResolvedInstallableUnit) l.get(i);
-	}
-
-	private int skip(List c, IResolvedInstallableUnit id, int idx) {
-		int i = idx;
-		for (; i < c.size(); i++) {
-			if (!id.getId().equals(((IInstallableUnit) c.get(idx)).getId()))
-				return i;
-		}
-		return i;
-	}
-}
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 e2bf454..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 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, 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.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 InstallableUnit[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 = (InstallableUnit[]) 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/RequirementBasedFilter.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/RequirementBasedFilter.java
deleted file mode 100644
index 01e0162..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 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, 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.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.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.IU_NAMESPACE) && 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/messages.properties b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/messages.properties
deleted file mode 100644
index 9d28c71..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/messages.properties
+++ /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
-###############################################################################
-
-Director_Uninstall_Problems=Problems occurred while uninstalling.
-Director_Install_Problems=Problems occurred while installing.
-Director_Cannot_Uninstall=Can not uninstall {0} because others IUs depend on it. 
-Director_Nothing_To_Uninstall=Nothing to uninstall.
-Director_Already_Installed={0} is already installed.
-Director_Replace_Problems=Problems occurred while replacing.
-Director_Become_Problems=Problems occured while running become.
-Director_Unexpected_IU=The installable unit {0} can not be used here. 
-Director_Task_Installing=Installing into {0}
-Director_Task_Uninstalling=Uninstalling
-Director_Task_Updating=Updating
-Director_Task_Resolving_Dependencies=Resolving dependencies
-
-Director_Unsatisfied_Dependencies=\
-  Cannot complete the install because some dependencies are not satisfiable
-Director_Unsatisfied_Dependency=\
-  Unsatisfied dependency: {0}
-Director_Resolving_Shared_Dependencies=Resolving shared dependencies
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 91dd6da..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/rollback/FormerState.java
+++ /dev/null
@@ -1,75 +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.rollback;
-
-import java.util.EventObject;
-import java.util.Hashtable;
-import org.eclipse.equinox.internal.p2.director.IUTransformationHelper;
-import org.eclipse.equinox.p2.core.eventbus.ProvisioningEventBus;
-import org.eclipse.equinox.p2.core.eventbus.SynchronousProvisioningListener;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.*;
-import org.eclipse.equinox.p2.metadata.repository.IMetadataRepository;
-import org.osgi.framework.Version;
-
-public class FormerState {
-	IMetadataRepository storage = null;
-
-	Hashtable generatedIUs = new Hashtable(); //key profile id, value the iu representing this profile
-
-	public FormerState(ProvisioningEventBus bus, IMetadataRepository repo) {
-		if (bus == null || repo == null) {
-			throw new IllegalArgumentException("bus and storage can' be null"); //$NON-NLS-1$
-		}
-		storage = repo;
-
-		//listen for pre-event. to memorize the state of the profile
-		bus.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 CommitOperationEvent) {
-					CommitOperationEvent event = (CommitOperationEvent) o;
-					storage.addInstallableUnits(new IInstallableUnit[] {(IInstallableUnit) generatedIUs.get(event.getProfile().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();
-				//					}
-				//				}
-			}
-
-		});
-	}
-
-	IInstallableUnit profileToIU(Profile toConvert) {
-		InstallableUnit result = new InstallableUnit();
-		result.setProperty(IInstallableUnitConstants.PROFILE_IU_KEY, Boolean.TRUE.toString());
-		result.setId(toConvert.getProfileId());
-		result.setVersion(new Version(0, 0, 0, Long.toString(System.currentTimeMillis())));
-		result.setRequiredCapabilities(IUTransformationHelper.toRequirements(toConvert.getInstallableUnits(), false));
-		//TODO Need to do the properties in the profile
-		//TODO Do we need to mark profile with a special marker
-		return result;
-	}
-
-	//	private copyProperty(Profile p) {
-	//		Map profileProperties = p.getValues();
-	//	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/p2/director/IDirector.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/p2/director/IDirector.java
deleted file mode 100644
index 465efc3..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/p2/director/IDirector.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.director;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.p2.engine.Profile;
-import org.eclipse.equinox.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 {
-	/**
-	 * Installs the given units into the given profile.
-	 * 
-	 * @param toInstall The units to install
-	 * @param profile The profile to install into
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting is not desired
-	 */
-	public IStatus install(IInstallableUnit[] toInstall, Profile profile, IProgressMonitor monitor);
-
-	/**
-	 * Uninstalls the given units from the given profile.
-	 * 
-	 * @param toUninstall The units to uninstall
-	 * @param profile The profile from which to uninstall
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting is not desired
-	 */
-	public IStatus uninstall(IInstallableUnit[] toUninstall, Profile profile, IProgressMonitor monitor);
-
-	public IStatus become(IInstallableUnit target, Profile profile, IProgressMonitor monitor);
-
-	public IStatus replace(IInstallableUnit[] toUninstall, IInstallableUnit[] toInstall, Profile profile, IProgressMonitor monitor);
-
-	public IStatus revert(IInstallableUnit previous, Profile profile, IProgressMonitor monitor);
-	//TODO And many more operations for uninstallation and the rest ! See bug 179819
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/p2/director/IPlanner.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/p2/director/IPlanner.java
deleted file mode 100644
index cb161af..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/p2/director/IPlanner.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.director;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.p2.engine.Profile;
-import org.eclipse.equinox.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 {
-	/**
-	 * Provides a plan for installing the given units into the given profile.
-	 * 
-	 * @param toInstall The units to install
-	 * @param profile The profile to install into
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting is not desired
-	 */
-	public ProvisioningPlan getInstallPlan(IInstallableUnit[] toInstall, Profile profile, IProgressMonitor monitor);
-
-	/**
-	 * Provides a plan for uninstalling the given units from the given profile.
-	 * 
-	 * @param toUninstall The units to uninstall
-	 * @param profile The profile from which to uninstall
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting is not desired
-	 */
-	public ProvisioningPlan getUninstallPlan(IInstallableUnit[] toUninstall, Profile profile, IProgressMonitor monitor);
-
-	public ProvisioningPlan getBecomePlan(IInstallableUnit target, Profile profile, IProgressMonitor monitor);
-
-	public ProvisioningPlan getReplacePlan(IInstallableUnit[] toUninstall, IInstallableUnit[] toInstall, Profile profile, IProgressMonitor monitor);
-
-	public ProvisioningPlan getRevertPlan(IInstallableUnit previous, Profile profile, IProgressMonitor monitor);
-
-	public IInstallableUnit[] updatesFor(IInstallableUnit toUpdate);
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/p2/director/NewDependencyExpander.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/p2/director/NewDependencyExpander.java
deleted file mode 100644
index bb80ae8..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/p2/director/NewDependencyExpander.java
+++ /dev/null
@@ -1,577 +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;
-
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.director.*;
-import org.eclipse.equinox.p2.engine.Profile;
-import org.eclipse.equinox.p2.metadata.*;
-import org.eclipse.equinox.p2.query.CompoundIterator;
-import org.eclipse.equinox.p2.resolution.ResolutionHelper;
-import org.eclipse.equinox.p2.resolution.UnsatisfiedCapability;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.framework.Version;
-
-/**
- * Rather than trying to satisfy a particular IU, we try to satisfy all the requirements of this IU and thus recursively.
- * The core data structure here is a map of all the requirements encountered. More precisely it is a map whose key is a simplified requirement object (ns and name only), 
- * and whose value is a data structure holding:
- *	  - the intersection of all occurrences of the constraints encountered
- *   - the list of IUs satisfying this intersection
- * The algorithm is rather simple:
- *   - gather the requirements of a set of bundles and add them to the map computing the intersection
- *   - find the IUs matching each of these requirement
- *   - repeat the two previous steps until the last step no longer find matches 
- * Then the resolver is invoked and for each unsatisfied IU that comes out of the resolver we verify if it belongs to an entry in the map where at least one other IU has been picked.
- * If so we are good, otherwise we have a failure.
- * Known problems:
- *   - Malicious IU. A malicious IU could be brought into the system, thus causing a detection of impossible solution. Is this really unavoidable?
- *   - The more general problem is that we do not backtrack and therefore when we pick an IU and it may cause problems that we will not discover soon enough. Looking ahead may help us
- * in avoiding those cases but still we may have problems.
- * 
- * To be implemented:
- *   - merge of requirements with filters
- *   - check if the IU is applicable according to its platform filter with the given environment
- *   - return unsatisfied constraints
- *   - do the recommendation
- * TODO It may worth experimenting with two pickers (or chained) . One would pick on the alreadyInstalled ius and one on the available ones. This could help us favor already installed ius over the others.
- */
-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 extends InstallableUnit {
-		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(new RequiredCapability(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();
-		}
-	}
-
-	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 Profile profile;
-
-	private RecommendationDescriptor recommendations;
-
-	private ResolutionHelper resolver;
-
-	private IInstallableUnit[] roots;
-
-	private Collection solution;
-
-	public NewDependencyExpander(IInstallableUnit[] r, IInstallableUnit[] alreadyInstalled, IInstallableUnit[] availableIUs, Profile profile, boolean includeOptional) {
-		this.profile = profile;
-		this.roots = (r == null) ? new IInstallableUnit[0] : r;
-		this.includeOptional = includeOptional;
-		alreadyInstalled = alreadyInstalled == null ? new IInstallableUnit[0] : alreadyInstalled;
-		this.alreadyInstalled.addAll(Arrays.asList(alreadyInstalled));
-
-		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
-			p.setWorkRemaining(100);
-			extractVisibilityData(toAdd);
-			extractRequirements(toAdd);
-			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())
-		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"))) {
-				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 = profile.getValue(Profile.PROP_FLAVOR);
-		if (flavor == null)
-			return new HashSet();
-		IInstallableUnit[][] picked = picker.findInstallableUnit(null, null, new RequiredCapability[] {new RequiredCapability(IInstallableUnit.FLAVOR_NAMESPACE, 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[] {new RequiredCapability("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 = new ProvidedCapability(IInstallableUnit.IU_NAMESPACE, 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) {
-				throw new IllegalStateException("Can't deal with three or more different versions of the same IU " + ((Match) all.get(0)).req + ". See bug 200380");
-			}
-			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 = "Can't find a solution where both: " + all.get(0) + " and " + all.get(1) + " would be satisfied.";
-					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()));
-			for (Iterator iterator = all.iterator(); iterator.hasNext();) {
-				Match m = (Match) iterator.next();
-				if (requirementEnabled(m.req) && !oneResolved(m.candidates))
-					reallyUnsatisfied.add(unresolved[i]);
-			}
-		}
-		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(SubMonitor 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)) {
-					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, profile.getSelectionContext())));
-					} 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 = new RequiredCapability(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, profile.getSelectionContext()));
-					}
-				}
-			}
-		}
-	}
-
-	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(profile.getSelectionContext(), 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(profile.getSelectionContext());
-		} 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();
-		return namespace.equals(IInstallableUnit.CAPABILITY_ECLIPSE_TYPES) || namespace.equals(IInstallableUnit.IU_KIND_NAMESPACE) || namespace.equals(IInstallableUnit.FLAVOR_NAMESPACE);
-	}
-
-	private IInstallableUnit match(Collection close, IInstallableUnit picked) {
-		CompoundIterator it = new CompoundIterator(new Iterator[] {close.iterator()}, null, null, picked.getRequiredCapabilities(), true);
-		if (it.hasNext())
-			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/p2/director/ProvisioningPlan.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/p2/director/ProvisioningPlan.java
deleted file mode 100644
index ef70bf6..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/p2/director/ProvisioningPlan.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.director;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.p2.engine.Operand;
-
-public class ProvisioningPlan {
-	private IStatus status;
-	private Operand[] operands;
-
-	public ProvisioningPlan(IStatus status) {
-		this(status, null);
-	}
-
-	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 or <code>null</code> if the the operation has not been successfull. 
-	 */
-	public Operand[] getOperands() {
-		return operands;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/p2/director/SimpleDirector.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/p2/director/SimpleDirector.java
deleted file mode 100644
index eb4e372..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/p2/director/SimpleDirector.java
+++ /dev/null
@@ -1,131 +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;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.director.DirectorActivator;
-import org.eclipse.equinox.internal.p2.director.Messages;
-import org.eclipse.equinox.internal.p2.rollback.FormerState;
-import org.eclipse.equinox.p2.core.eventbus.ProvisioningEventBus;
-import org.eclipse.equinox.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.p2.core.location.AgentLocation;
-import org.eclipse.equinox.p2.core.repository.IRepository;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.IInstallableUnitConstants;
-import org.eclipse.equinox.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.p2.metadata.repository.IMetadataRepositoryManager;
-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 Engine engine;
-	private IPlanner planner;
-
-	public static void tagAsImplementation(IMetadataRepository repository) {
-		if (repository != null && repository.getProperties().getProperty(IRepository.IMPLEMENTATION_ONLY_KEY) == null) {
-			if (repository.isModifiable())
-				repository.getModifiableProperties().setProperty(IRepository.IMPLEMENTATION_ONLY_KEY, Boolean.valueOf(true).toString());
-		}
-	}
-
-	public SimpleDirector() {
-		URL rollbackLocation = getRollbackLocation();
-		ProvisioningEventBus eventBus = (ProvisioningEventBus) ServiceHelper.getService(DirectorActivator.context, ProvisioningEventBus.class.getName());
-		IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(DirectorActivator.context, IMetadataRepositoryManager.class.getName());
-		IMetadataRepository rollbackRepo = manager.loadRepository(rollbackLocation, null);
-		if (rollbackRepo == null)
-			rollbackRepo = manager.createRepository(rollbackLocation, "Agent rollback repo", "org.eclipse.equinox.p2.metadata.repository.simpleRepository"); //$NON-NLS-1$//$NON-NLS-2$
-		if (rollbackRepo == null)
-			throw new IllegalStateException("Unable to open or create Agent's rollback repository");
-		tagAsImplementation(rollbackRepo);
-		new FormerState(eventBus, rollbackRepo);
-		engine = (Engine) ServiceHelper.getService(DirectorActivator.context, Engine.class.getName());
-		if (engine == null)
-			throw new IllegalStateException("Provisioning engine is not registered");
-		planner = (IPlanner) ServiceHelper.getService(DirectorActivator.context, IPlanner.class.getName());
-		if (planner == null)
-			throw new IllegalStateException("Unable to find provisioning planner");
-	}
-
-	private URL getRollbackLocation() {
-		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 install(IInstallableUnit[] installRoots, Profile profile, IProgressMonitor monitor) {
-		String taskName = NLS.bind(Messages.Director_Task_Installing, profile.getValue(Profile.PROP_INSTALL_FOLDER));
-		SubMonitor sub = SubMonitor.convert(monitor, taskName, PlanWork + EngineWork);
-		try {
-			ProvisioningPlan plan = planner.getInstallPlan(installRoots, profile, sub.newChild(PlanWork));
-			if (!plan.getStatus().isOK())
-				return plan.getStatus();
-			IStatus engineResult = engine.perform(profile, new DefaultPhaseSet(), plan.getOperands(), sub.newChild(EngineWork));
-			if (!engineResult.isOK())
-				return engineResult;
-			// mark the roots as such
-			for (int i = 0; i < installRoots.length; i++)
-				profile.setInstallableUnitProfileProperty(installRoots[i], IInstallableUnitConstants.PROFILE_ROOT_IU, Boolean.toString(true));
-
-			return engineResult;
-		} finally {
-			sub.done();
-		}
-	}
-
-	public IStatus become(IInstallableUnit target, Profile profile, IProgressMonitor monitor) {
-		SubMonitor sub = SubMonitor.convert(monitor, Messages.Director_Task_Updating, PlanWork + EngineWork);
-		try {
-			ProvisioningPlan plan = planner.getBecomePlan(target, profile, sub.newChild(PlanWork));
-			if (!plan.getStatus().isOK())
-				return plan.getStatus();
-			return engine.perform(profile, new DefaultPhaseSet(), plan.getOperands(), sub.newChild(EngineWork));
-		} finally {
-			sub.done();
-		}
-	}
-
-	public IStatus uninstall(IInstallableUnit[] uninstallRoots, Profile profile, IProgressMonitor monitor) {
-		SubMonitor sub = SubMonitor.convert(monitor, Messages.Director_Task_Uninstalling, PlanWork + EngineWork);
-		try {
-			ProvisioningPlan plan = planner.getUninstallPlan(uninstallRoots, profile, sub.newChild(PlanWork));
-			if (!plan.getStatus().isOK())
-				return plan.getStatus();
-			return engine.perform(profile, new DefaultPhaseSet(), plan.getOperands(), sub.newChild(EngineWork));
-		} finally {
-			sub.done();
-		}
-	}
-
-	public IStatus replace(IInstallableUnit[] toUninstall, IInstallableUnit[] toInstall, Profile profile, IProgressMonitor monitor) {
-		SubMonitor sub = SubMonitor.convert(monitor, Messages.Director_Task_Updating, PlanWork + EngineWork);
-		try {
-			ProvisioningPlan plan = planner.getReplacePlan(toUninstall, toInstall, profile, sub.newChild(PlanWork));
-			if (!plan.getStatus().isOK())
-				return plan.getStatus();
-			return engine.perform(profile, new DefaultPhaseSet(), plan.getOperands(), sub.newChild(EngineWork));
-		} finally {
-			sub.done();
-		}
-	}
-
-	public IStatus revert(IInstallableUnit previous, Profile profile, IProgressMonitor monitor) {
-		return become(previous, profile, monitor);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/p2/director/SimplePlanner.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/p2/director/SimplePlanner.java
deleted file mode 100644
index f550185..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/p2/director/SimplePlanner.java
+++ /dev/null
@@ -1,274 +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;
-
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.director.*;
-import org.eclipse.equinox.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.p2.engine.Operand;
-import org.eclipse.equinox.p2.engine.Profile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.IInstallableUnitConstants;
-import org.eclipse.equinox.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.p2.metadata.repository.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.resolution.ResolutionHelper;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.eclipse.osgi.util.NLS;
-
-public class SimplePlanner implements IPlanner {
-	static final int ExpandWork = 10;
-
-	public ProvisioningPlan getInstallPlan(IInstallableUnit[] installRoots, Profile profile, 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_Install_Problems, null);
-			// Get the list of ius installed in the profile we are installing into
-			IInstallableUnit[] alreadyInstalled = toArray(profile.getInstallableUnits());
-
-			// If any of these are already installed, return a warning status
-			// specifying that they are already installed.
-			for (int i = 0; i < installRoots.length; i++)
-				for (int j = 0; j < alreadyInstalled.length; j++)
-					if (installRoots[i].equals(alreadyInstalled[j]))
-						result.merge(new Status(IStatus.WARNING, DirectorActivator.PI_DIRECTOR, NLS.bind(Messages.Director_Already_Installed, installRoots[i].getId())));
-
-			if (!result.isOK()) {
-				return new ProvisioningPlan(result);
-			}
-			//Compute the complete closure of things to install to successfully install the installRoots.
-			NewDependencyExpander expander = new NewDependencyExpander(installRoots, alreadyInstalled, gatherAvailableInstallableUnits(installRoots), profile, true);
-			//			NewDependencyExpander expander = new NewDependencyExpander(installRoots, alreadyInstalled, gatherAvailableInstallableUnits(), profile, true);
-			IStatus expanderResult = expander.expand(sub.newChild(ExpandWork));
-			if (!expanderResult.isOK()) {
-				result.merge(expanderResult);
-				return new ProvisioningPlan(result);
-			}
-
-			ResolutionHelper oldStateHelper = new ResolutionHelper(profile.getSelectionContext(), null);
-			Collection oldState = oldStateHelper.attachCUs(Arrays.asList(alreadyInstalled));
-			List oldStateOrder = oldStateHelper.getSorted();
-
-			ResolutionHelper newStateHelper = new ResolutionHelper(profile.getSelectionContext(), expander.getRecommendations());
-			Collection newState = newStateHelper.attachCUs(expander.getAllInstallableUnits());
-			List newStateOrder = newStateHelper.getSorted();
-			return new ProvisioningPlan(Status.OK_STATUS, generateOperations(oldState, newState, oldStateOrder, newStateOrder));
-		} finally {
-			sub.done();
-		}
-	}
-
-	private Operand[] generateOperations(Collection fromState, Collection toState, List fromStateOrder, List newStateOrder) {
-		return sortOperations(new OperationGenerator().generateOperation(fromState, toState), newStateOrder, fromStateOrder);
-	}
-
-	private Operand[] sortOperations(Operand[] toSort, List installOrder, List uninstallOrder) {
-		List updateOp = new ArrayList();
-		for (int i = 0; i < toSort.length; i++) {
-			Operand op = toSort[i];
-			if (op.first() == null && op.second() != null) {
-				installOrder.set(installOrder.indexOf(op.second()), op);
-				continue;
-			}
-			if (op.first() != null && op.second() == null) {
-				uninstallOrder.set(uninstallOrder.indexOf(op.first()), op);
-				continue;
-			}
-			if (op.first() != null && op.second() != null) {
-				updateOp.add(op);
-				continue;
-			}
-		}
-		int i = 0;
-		for (Iterator iterator = installOrder.iterator(); iterator.hasNext();) {
-			Object elt = iterator.next();
-			if (elt instanceof Operand) {
-				toSort[i++] = (Operand) elt;
-			}
-		}
-		for (Iterator iterator = uninstallOrder.iterator(); iterator.hasNext();) {
-			Object elt = iterator.next();
-			if (elt instanceof Operand) {
-				toSort[i++] = (Operand) elt;
-			}
-		}
-		for (Iterator iterator = updateOp.iterator(); iterator.hasNext();) {
-			Object elt = iterator.next();
-			if (elt instanceof Operand) {
-				toSort[i++] = (Operand) elt;
-			}
-		}
-		return toSort;
-	}
-
-	public ProvisioningPlan getBecomePlan(IInstallableUnit target, Profile profile, 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_Become_Problems, null);
-
-			if (!Boolean.valueOf(target.getProperty(IInstallableUnitConstants.PROFILE_IU_KEY)).booleanValue()) {
-				result.add(new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, NLS.bind(Messages.Director_Unexpected_IU, target.getId())));
-				return new ProvisioningPlan(result);
-			}
-
-			//TODO Here we need to deal with the change of properties between the two profiles
-			//Also if the profile changes (locations are being modified, etc), should not we do a full uninstall then an install?
-			//Maybe it depends on the kind of changes in a profile
-			//We need to get all the ius that were part of the profile and give that to be what to become
-			NewDependencyExpander toExpander = new NewDependencyExpander(new IInstallableUnit[] {target}, null, gatherAvailableInstallableUnits(new IInstallableUnit[] {target}), profile, true);
-			toExpander.expand(sub.newChild(ExpandWork));
-			ResolutionHelper newStateHelper = new ResolutionHelper(profile.getSelectionContext(), toExpander.getRecommendations());
-			Collection newState = newStateHelper.attachCUs(toExpander.getAllInstallableUnits());
-			newState.remove(target);
-
-			Iterator it = profile.getInstallableUnits();
-			Collection oldIUs = new HashSet();
-			for (; it.hasNext();) {
-				oldIUs.add(it.next());
-			}
-
-			ResolutionHelper oldStateHelper = new ResolutionHelper(profile.getSelectionContext(), null);
-			Collection oldState = oldStateHelper.attachCUs(oldIUs);
-			return new ProvisioningPlan(Status.OK_STATUS, generateOperations(oldState, newState, oldStateHelper.getSorted(), newStateHelper.getSorted()));
-		} finally {
-			sub.done();
-		}
-	}
-
-	private IInstallableUnit[] inProfile(IInstallableUnit[] toFind, Profile profile, boolean found, IProgressMonitor monitor) {
-		ArrayList result = new ArrayList(toFind.length);
-		for (int i = 0; i < toFind.length; i++) {
-			if (profile.query(toFind[i].getId(), new VersionRange(toFind[i].getVersion(), true, toFind[i].getVersion(), true), null, false, monitor).length > 0) {
-				if (found)
-					result.add(toFind[i]);
-			} else {
-				if (!found)
-					result.add(toFind[i]);
-			}
-		}
-		return (IInstallableUnit[]) result.toArray(new IInstallableUnit[result.size()]);
-	}
-
-	public ProvisioningPlan getUninstallPlan(IInstallableUnit[] uninstallRoots, Profile profile, IProgressMonitor monitor) {
-		SubMonitor sub = SubMonitor.convert(monitor, ExpandWork);
-		sub.setTaskName(Messages.Director_Task_Resolving_Dependencies);
-		try {
-			IInstallableUnit[] toReallyUninstall = inProfile(uninstallRoots, profile, true, sub.newChild(0));
-			if (toReallyUninstall.length == 0) {
-				return new ProvisioningPlan(new Status(IStatus.OK, DirectorActivator.PI_DIRECTOR, Messages.Director_Nothing_To_Uninstall));
-			} else if (toReallyUninstall.length != uninstallRoots.length) {
-				uninstallRoots = toReallyUninstall;
-			}
-
-			MultiStatus result = new MultiStatus(DirectorActivator.PI_DIRECTOR, 1, Messages.Director_Uninstall_Problems, null);
-
-			IInstallableUnit[] alreadyInstalled = toArray(profile.getInstallableUnits());
-			ResolutionHelper oldStateHelper = new ResolutionHelper(profile.getSelectionContext(), null);
-			Collection oldState = oldStateHelper.attachCUs(Arrays.asList(alreadyInstalled));
-
-			NewDependencyExpander expander = new NewDependencyExpander(uninstallRoots, new IInstallableUnit[0], alreadyInstalled, profile, true);
-			expander.expand(sub.newChild(ExpandWork / 2));
-			Collection toUninstallClosure = new ResolutionHelper(profile.getSelectionContext(), null).attachCUs(expander.getAllInstallableUnits());
-
-			Collection remainingIUs = new HashSet(oldState);
-			remainingIUs.removeAll(toUninstallClosure);
-			NewDependencyExpander finalExpander = new NewDependencyExpander(null, (IInstallableUnit[]) remainingIUs.toArray(new IInstallableUnit[remainingIUs.size()]), gatherAvailableInstallableUnits(uninstallRoots), profile, true);
-			finalExpander.expand(sub.newChild(ExpandWork / 2));
-			ResolutionHelper newStateHelper = new ResolutionHelper(profile.getSelectionContext(), null);
-			Collection newState = newStateHelper.attachCUs(finalExpander.getAllInstallableUnits());
-
-			for (int i = 0; i < uninstallRoots.length; i++) {
-				if (newState.contains(uninstallRoots[i]))
-					result.add(new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, NLS.bind(Messages.Director_Cannot_Uninstall, uninstallRoots[i])));
-			}
-			if (!result.isOK())
-				return new ProvisioningPlan(result);
-
-			return new ProvisioningPlan(Status.OK_STATUS, generateOperations(oldState, newState, oldStateHelper.getSorted(), newStateHelper.getSorted()));
-		} finally {
-			sub.done();
-		}
-	}
-
-	protected IInstallableUnit[] gatherAvailableInstallableUnits(IInstallableUnit[] additionalSource) {
-		IMetadataRepositoryManager repoMgr = (IMetadataRepositoryManager) ServiceHelper.getService(DirectorActivator.context, IMetadataRepositoryManager.class.getName());
-		IMetadataRepository[] repos = repoMgr.getKnownRepositories();
-		List results = new ArrayList();
-		if (additionalSource != null) {
-			for (int i = 0; i < additionalSource.length; i++) {
-				results.add(additionalSource[i]);
-			}
-		}
-
-		for (int i = 0; i < repos.length; i++) {
-			results.addAll(Arrays.asList(repos[i].getInstallableUnits(null)));
-		}
-		return (IInstallableUnit[]) results.toArray(new IInstallableUnit[results.size()]);
-	}
-
-	public ProvisioningPlan getReplacePlan(IInstallableUnit[] toUninstall, IInstallableUnit[] toInstall, Profile profile, IProgressMonitor monitor) {
-		SubMonitor sub = SubMonitor.convert(monitor, ExpandWork);
-		sub.setTaskName(Messages.Director_Task_Resolving_Dependencies);
-		try {
-			//find the things being updated in the profile
-			IInstallableUnit[] alreadyInstalled = toArray(profile.getInstallableUnits());
-			IInstallableUnit[] uninstallRoots = toUninstall;
-
-			//compute the transitive closure and remove them.
-			ResolutionHelper oldStateHelper = new ResolutionHelper(profile.getSelectionContext(), null);
-			Collection oldState = oldStateHelper.attachCUs(Arrays.asList(alreadyInstalled));
-
-			NewDependencyExpander expander = new NewDependencyExpander(uninstallRoots, new IInstallableUnit[0], alreadyInstalled, profile, true);
-			expander.expand(sub.newChild(ExpandWork / 2));
-			Collection toUninstallClosure = new ResolutionHelper(profile.getSelectionContext(), null).attachCUs(expander.getAllInstallableUnits());
-
-			//add the new set.
-			Collection remainingIUs = new HashSet(oldState);
-			remainingIUs.removeAll(toUninstallClosure);
-			//		for (int i = 0; i < updateRoots.length; i++) {
-			//			remainingIUs.add(updateRoots[i]);
-			//		}
-			NewDependencyExpander finalExpander = new NewDependencyExpander(toInstall, (IInstallableUnit[]) remainingIUs.toArray(new IInstallableUnit[remainingIUs.size()]), gatherAvailableInstallableUnits(null), profile, true);
-			finalExpander.expand(sub.newChild(ExpandWork / 2));
-			ResolutionHelper newStateHelper = new ResolutionHelper(profile.getSelectionContext(), null);
-			Collection newState = newStateHelper.attachCUs(finalExpander.getAllInstallableUnits());
-
-			return new ProvisioningPlan(Status.OK_STATUS, generateOperations(oldState, newState, oldStateHelper.getSorted(), newStateHelper.getSorted()));
-		} finally {
-			sub.done();
-		}
-	}
-
-	public IInstallableUnit[] updatesFor(IInstallableUnit toUpdate) {
-		IInstallableUnit[] allius = gatherAvailableInstallableUnits(null);
-		Set updates = new HashSet();
-		for (int i = 0; i < allius.length; i++) {
-			if (toUpdate.getId().equals(allius[i].getProperty(IInstallableUnitConstants.UPDATE_FROM))) {
-				if (toUpdate.getVersion().compareTo(allius[i].getVersion()) < 0 && new VersionRange(allius[i].getProperty(IInstallableUnitConstants.UPDATE_RANGE)).isIncluded(toUpdate.getVersion()))
-					updates.add(allius[i]);
-			}
-		}
-		return (IInstallableUnit[]) updates.toArray(new IInstallableUnit[updates.size()]);
-	}
-
-	//TODO This is really gross!!!!! We need to make things uniform
-	private IInstallableUnit[] toArray(Iterator it) {
-		ArrayList result = new ArrayList();
-		while (it.hasNext()) {
-			result.add(it.next());
-		}
-		return (IInstallableUnit[]) result.toArray(new IInstallableUnit[result.size()]);
-	}
-
-	public ProvisioningPlan getRevertPlan(IInstallableUnit previous, Profile profile, IProgressMonitor monitor) {
-		return getBecomePlan(previous, profile, monitor);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/p2/director/TrackedHashSet.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/p2/director/TrackedHashSet.java
deleted file mode 100644
index 9c58973..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/p2/director/TrackedHashSet.java
+++ /dev/null
@@ -1,44 +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;
-
-import java.util.*;
-import org.eclipse.equinox.p2.metadata.*;
-
-public class TrackedHashSet extends LinkedHashSet {
-	RecommendationDescriptor recommendations;
-
-	public TrackedHashSet(int initSize, RecommendationDescriptor recommendations) {
-		super(initSize);
-		this.recommendations = recommendations;
-	}
-
-	public boolean add(Object toAdd) {
-		if (toAdd instanceof InstallableUnit) {
-			filter((IInstallableUnit) toAdd);
-		}
-		return super.add(toAdd);
-	}
-
-	private void filter(IInstallableUnit toAdd) {
-		ProvidedCapability[] capabilities = toAdd.getProvidedCapabilities();
-		for (int i = 0; i < capabilities.length; i++) {
-			if (capabilities[i].isSatisfiedBy(new RequiredCapability(IInstallableUnit.IU_KIND_NAMESPACE, "recommendation", null, null, false, false))) {
-				recommendations.merge(RecommendationDescriptor.parse(toAdd.getTouchpointData()[0].getInstructions("recommendations")));
-			}
-		}
-	}
-
-	public boolean addAll(Collection arg0) {
-		for (Iterator iterator = arg0.iterator(); iterator.hasNext();) {
-			filter((IInstallableUnit) iterator.next());
-		}
-		return super.addAll(arg0);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/p2/director/director.txt b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/p2/director/director.txt
deleted file mode 100644
index 5fd09d5..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/p2/director/director.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-install
-  --> IU, causes an IU to be added to the targeted profile
-  --> ProfileIU, causes the profile IU to be merged in the profile?
-  --> Entry point, causes the entry point entities to be added as an entry point (no nested entry points)
-
-be
- Put the system in a state we know. The profile may or not be changed.
-  --> IU, create an empty profile with a new ????
-  --> ProfileIU, replace the given profile with the current profile
-  --> EntryPoint, remove everything, and just installs all these IUs from the Entry point into the proi
-
-uninstall
-  It can only uninstall something that is already in the profile.
-  --> IU, causes the IU to be uninstalled, but leave the system in a consistent state. For example uninstall registry will not cause any IU to be uninstalled
-  --> ProfileIU --> nothing to do
-  --> entry point, like for IU
-
-update
-  You can only update a thing that is already in the profile
-  --> IU, causes the IU to be updated.... who decides what to update it to?
-  --> Profile??? --> nothing to do
-  --> Entry point --> we need to check for an update of the children of the entry point
-
-
-
-
-add
-remove
-become
-update
\ No newline at end of file
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 2cadc36..0000000
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,23 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.directorywatcher
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 0.1.0.qualifier
-Bundle-Activator: org.eclipse.equinox.internal.p2.directorywatcher.Activator
-Import-Package: org.eclipse.equinox.p2.artifact.repository,
- org.eclipse.equinox.p2.core.helpers,
- org.eclipse.equinox.p2.core.repository,
- org.eclipse.equinox.p2.metadata.generator,
- org.eclipse.equinox.p2.metadata.repository,
- org.eclipse.equinox.p2.query,
- 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.p2.directorywatcher;x-internal:=true,
- org.eclipse.equinox.p2.directorywatcher
-Require-Bundle: org.eclipse.equinox.common;bundle-version="[3.3.0,4.0)"
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 (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-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 cdd2db7..0000000
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-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 0dd583a..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 (Incubation)
-providerName = Eclipse.org
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/p2/directorywatcher/Activator.java b/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/p2/directorywatcher/Activator.java
deleted file mode 100644
index c8ac821..0000000
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/p2/directorywatcher/Activator.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 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.p2.directorywatcher;
-
-import java.util.*;
-import org.eclipse.equinox.p2.directorywatcher.DirectoryWatcher;
-import org.osgi.framework.*;
-import org.osgi.service.cm.*;
-import org.osgi.service.packageadmin.PackageAdmin;
-import org.osgi.util.tracker.ServiceTracker;
-
-/**
- * This clever little bundle watches a directory and will install any jar file
- * if finds in that directory 
- */
-
-public class Activator implements BundleActivator, ManagedServiceFactory {
-	static ServiceTracker packageAdminTracker;
-	static ServiceTracker configAdminTracker;
-
-	private static BundleContext context;
-	Map watchers = null;
-
-	public static BundleContext getContext() {
-		return context;
-	}
-
-	public void start(BundleContext context) throws Exception {
-		this.context = context;
-		watchers = new HashMap();
-		Hashtable props = new Hashtable();
-		props.put(Constants.SERVICE_PID, getName());
-		context.registerService(ManagedServiceFactory.class.getName(), this, props);
-
-		packageAdminTracker = new ServiceTracker(context, PackageAdmin.class.getName(), null);
-		packageAdminTracker.open();
-		configAdminTracker = new ServiceTracker(context, ConfigurationAdmin.class.getName(), null);
-		configAdminTracker.open();
-
-		// Created the initial configuration
-		Hashtable properties = new Hashtable();
-		set(properties, DirectoryWatcher.POLL);
-		set(properties, DirectoryWatcher.DIR);
-		set(properties, DirectoryWatcher.DEBUG);
-		updated("initial", properties);
-	}
-
-	private void set(Hashtable properties, String key) {
-		Object o = context.getProperty(key);
-		if (o == null)
-			return;
-		properties.put(key, o);
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		if (watchers == null)
-			return;
-		for (Iterator i = watchers.values().iterator(); i.hasNext();)
-			try {
-				DirectoryWatcher watcher = (DirectoryWatcher) i.next();
-				watcher.close();
-			} catch (Exception e) {
-				// Ignore
-			}
-		watchers = null;
-		configAdminTracker.close();
-		packageAdminTracker.close();
-	}
-
-	public void deleted(String pid) {
-		DirectoryWatcher watcher = (DirectoryWatcher) watchers.remove(pid);
-		if (watcher != null)
-			watcher.close();
-	}
-
-	public String getName() {
-		return "equinox.p2.directorywatcher";
-	}
-
-	public void updated(String pid, Dictionary properties) throws ConfigurationException {
-		deleted(pid);
-		DirectoryWatcher watcher = new DirectoryWatcher(properties, context);
-		watchers.put(pid, properties);
-		watcher.addListener(new JARFileListener());
-		watcher.start();
-	}
-
-	public static ConfigurationAdmin getConfigAdmin() {
-		return (ConfigurationAdmin) Activator.configAdminTracker.getService();
-	}
-
-	public static PackageAdmin getPackageAdmin(int timeout) {
-		if (timeout == 0)
-			return (PackageAdmin) packageAdminTracker.getService();
-		try {
-			return (PackageAdmin) packageAdminTracker.waitForService(timeout);
-		} catch (InterruptedException e) {
-			return null;
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/p2/directorywatcher/ConfigFileListener.java b/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/p2/directorywatcher/ConfigFileListener.java
deleted file mode 100644
index d6eb119..0000000
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/p2/directorywatcher/ConfigFileListener.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 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.p2.directorywatcher;
-
-import java.io.*;
-import java.util.*;
-import org.eclipse.equinox.p2.directorywatcher.IDirectoryChangeListener;
-import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.service.cm.Configuration;
-import org.osgi.service.cm.ConfigurationAdmin;
-
-public class ConfigFileListener implements IDirectoryChangeListener {
-	public final static String ALIAS_KEY = ".alias_factory_pid";
-
-	private Map seenFiles = new HashMap();
-
-	public boolean added(File file) {
-		// load the input file into a hashtable of settings...
-		Properties temp = new Properties();
-		InputStream in = null;
-		try {
-			in = new FileInputStream(file);
-			try {
-				temp.load(in);
-			} finally {
-				in.close();
-			}
-		} catch (IOException e) {
-			// TODO proper logging etc here
-			e.printStackTrace();
-		}
-		Hashtable settings = new Hashtable();
-		settings.putAll(temp);
-
-		String pid[] = parsePid(file.getName());
-		if (pid[1] != null)
-			settings.put(ALIAS_KEY, pid[1]);
-		Configuration config = getConfiguration(pid[0], pid[1]);
-		if (config == null)
-			return false;
-		if (config.getBundleLocation() != null)
-			config.setBundleLocation(null);
-		try {
-			config.update(settings);
-		} catch (IOException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-		seenFiles.put(file, new Long(file.lastModified()));
-		return true;
-	}
-
-	public boolean changed(File file) {
-		return added(file);
-	}
-
-	private Configuration getConfiguration(String pid, String factoryPid) {
-		ConfigurationAdmin cm = Activator.getConfigAdmin();
-		if (cm == null)
-			return null;
-
-		try {
-			if (factoryPid != null) {
-				Configuration configs[] = null;
-				try {
-					configs = cm.listConfigurations("(" + ALIAS_KEY + "=" + factoryPid + ")");
-				} catch (InvalidSyntaxException e) {
-					return null;
-				}
-				if (configs == null || configs.length == 0)
-					return cm.createFactoryConfiguration(pid, null);
-				else
-					return configs[0];
-			} else
-				return cm.getConfiguration(pid, null);
-		} catch (IOException e) {
-			return null;
-		}
-	}
-
-	public String[] getExtensions() {
-		return new String[] {".cfg"};
-	}
-
-	public Long getSeenFile(File file) {
-		return (Long) seenFiles.get(file);
-	}
-
-	private String[] parsePid(String path) {
-		String pid = path.substring(0, path.length() - 4);
-		int n = pid.indexOf('-');
-		if (n > 0) {
-			String factoryPid = pid.substring(n + 1);
-			pid = pid.substring(0, n);
-			return new String[] {pid, factoryPid};
-		} else
-			return new String[] {pid, null};
-	}
-
-	public boolean removed(File file) {
-		String pid[] = parsePid(file.getName());
-		Configuration config = getConfiguration(pid[0], pid[1]);
-		if (config == null)
-			return false;
-		try {
-			config.delete();
-		} catch (IOException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-		seenFiles.remove(file);
-		return true;
-	}
-
-	public void startPoll() {
-		// TODO Auto-generated method stub
-	}
-
-	public void stopPoll() {
-		// TODO Auto-generated method stub
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/p2/directorywatcher/JARFileListener.java b/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/p2/directorywatcher/JARFileListener.java
deleted file mode 100644
index b12e8a4..0000000
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/p2/directorywatcher/JARFileListener.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 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.p2.directorywatcher;
-
-import java.io.*;
-import java.util.HashMap;
-import java.util.Map;
-import org.eclipse.equinox.p2.directorywatcher.IDirectoryChangeListener;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleException;
-import org.osgi.service.packageadmin.PackageAdmin;
-
-public class JARFileListener implements IDirectoryChangeListener {
-	private boolean refresh = false;
-	private Map seenFiles = new HashMap();
-
-	public boolean added(File file) {
-		InputStream in;
-		try {
-			in = new FileInputStream(file);
-		} catch (FileNotFoundException e1) {
-			return false;
-		}
-		Bundle bundle;
-		try {
-			bundle = Activator.getContext().installBundle(file.getAbsolutePath(), in);
-		} catch (BundleException e1) {
-			return false;
-		} finally {
-			try {
-				in.close();
-			} catch (IOException e) {
-				// ignore
-			}
-		}
-		refresh = true;
-		if (!isFragment(bundle))
-			try {
-				bundle.start();
-			} catch (BundleException e) {
-				// TODO ignore for now
-			}
-		seenFiles.put(file, new Long(file.lastModified()));
-		return true;
-	}
-
-	private Bundle findBundle(String location) {
-		Bundle bundles[] = Activator.getContext().getBundles();
-		for (int i = 0; i < bundles.length; i++) {
-			Bundle bundle = bundles[i];
-			if (bundle.getLocation().equals(location))
-				return bundle;
-		}
-		return null;
-	}
-
-	public boolean changed(File file) {
-		Bundle bundle = findBundle(file.getAbsolutePath());
-		if (bundle == null)
-			//  This is actually a goofy condition since we think this file changed but there
-			// is no bundle for it.  Perhaps we found it previously but somehow failed to install 
-			// it previously or it was uninstalled or...
-			return false;
-		InputStream in;
-		try {
-			in = new FileInputStream(file);
-		} catch (FileNotFoundException e) {
-			return false;
-		}
-		try {
-			bundle.update(in);
-		} catch (BundleException e) {
-			return false;
-		}
-		refresh = true;
-		try {
-			in.close();
-		} catch (IOException e) {
-			// ignore
-		}
-		seenFiles.put(file, new Long(file.lastModified()));
-		return true;
-	}
-
-	public String[] getExtensions() {
-		return new String[] {".jar"};
-	}
-
-	public boolean removed(File file) {
-		Bundle bundle = findBundle(file.getAbsolutePath());
-		if (bundle == null) {
-			//  This is actually a goofy condition since we think this file changed but there
-			// is no bundle for it.  Perhaps we found it previously but somehow failed to install 
-			// it previously or it was uninstalled or... 
-			// Anyway, the bundle is gone so say we were successful anyway...
-			seenFiles.remove(file);
-			return true;
-		}
-		try {
-			bundle.uninstall();
-		} catch (BundleException e) {
-			return false;
-		}
-		refresh = true;
-		seenFiles.remove(file);
-		return true;
-	}
-
-	private boolean isFragment(Bundle bundle) {
-		PackageAdmin packageAdmin = Activator.getPackageAdmin(10000);
-		if (packageAdmin != null)
-			return packageAdmin.getBundleType(bundle) == PackageAdmin.BUNDLE_TYPE_FRAGMENT;
-		return false;
-	}
-
-	public void startPoll() {
-		refresh = false;
-	}
-
-	public void stopPoll() {
-		if (refresh) {
-			PackageAdmin packageAdmin = Activator.getPackageAdmin(10000);
-			if (packageAdmin != null)
-				packageAdmin.refreshPackages(null);
-			refresh = false;
-		}
-	}
-
-	public Long getSeenFile(File file) {
-		return (Long) seenFiles.get(file);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/p2/directorywatcher/ProvisioningListener.java b/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/p2/directorywatcher/ProvisioningListener.java
deleted file mode 100644
index 9c849cb..0000000
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/p2/directorywatcher/ProvisioningListener.java
+++ /dev/null
@@ -1,184 +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 implementation and ideas 
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.directorywatcher;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.equinox.p2.artifact.repository.IArtifactRepository;
-import org.eclipse.equinox.p2.artifact.repository.IArtifactRepositoryManager;
-import org.eclipse.equinox.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.p2.directorywatcher.DirectoryWatcher;
-import org.eclipse.equinox.p2.directorywatcher.IDirectoryChangeListener;
-import org.eclipse.equinox.p2.metadata.generator.*;
-import org.eclipse.equinox.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.p2.metadata.repository.IMetadataRepositoryManager;
-
-public class ProvisioningListener implements IDirectoryChangeListener {
-
-	// The mapping rules for in-place generation need to construct paths that are flat,
-	// with no nesting structure. 
-	static final private String[][] INPLACE_MAPPING_RULES = { {"(& (namespace=eclipse) (classifier=feature))", "${repoUrl}/features/${id}_${version}.jar"}, //$NON-NLS-1$//$NON-NLS-2$
-			{"(& (namespace=eclipse) (classifier=plugin))", "${repoUrl}/${id}_${version}.jar"}, //$NON-NLS-1$//$NON-NLS-2$
-			{"(& (namespace=eclipse) (classifier=native))", "${repoUrl}/${id}_${version}"}}; //$NON-NLS-1$//$NON-NLS-2$
-
-	private Set toUninstall;
-	private Set toUpdate;
-	private Set toInstall;
-	private Set toGenerate;
-	private DirectoryWatcher watcher;
-	private Map seenFiles;
-
-	public ProvisioningListener(DirectoryWatcher watcher) {
-		this.watcher = watcher;
-		seenFiles = new HashMap();
-	}
-
-	public boolean added(File file) {
-		toInstall.add(file);
-		if (file.getName().endsWith(".iu")) {
-			// add the IU and artifact entries in to the repo associated with the watched dir
-			// keep track of the JARs added so we can remove them from the list of JARs
-			// to be run through the metadata generator
-		} else if (file.getName().endsWith(".jar")) {
-			// queue up this JAR to be run through the metadata generator if needed 
-			toGenerate.add(file);
-		}
-		seenFiles.put(file, new Long(file.lastModified()));
-		return true;
-	}
-
-	public boolean changed(File file) {
-		toUpdate.add(file);
-		if (file.getName().endsWith(".iu")) {
-			// overwrite the IU and artifact entries in to the repo associated with the watched dir
-			// keep track of the JARs added so we can remove them from the list of JARs
-			// to be run through the metadata generator
-		} else if (file.getName().endsWith(".jar")) {
-			// queue up this JAR to be run through the metadata generator
-			toGenerate.add(file);
-		}
-		seenFiles.put(file, new Long(file.lastModified()));
-		return true;
-	}
-
-	public boolean removed(File file) {
-		toUninstall.add(file);
-		if (file.getName().endsWith(".iu")) {
-			// remove the IU and artifact entries in to the repo associated with the watched dir
-			// keep track of the JARs added so we can remove them from the list of JARs
-			// to be run through the metadata generator
-		} else if (file.getName().endsWith(".jar")) {
-			// figure out which IU corresponds to this JAR and remove it
-		}
-		seenFiles.remove(file);
-		return true;
-	}
-
-	public String[] getExtensions() {
-		return new String[] {".iu", ".jar"};
-	}
-
-	private void initialize() {
-		toUninstall = new HashSet(3);
-		toUpdate = new HashSet(3);
-		toInstall = new HashSet(3);
-		toGenerate = new HashSet(3);
-	}
-
-	public void startPoll() {
-		initialize();
-	}
-
-	public void stopPoll() {
-		processIUs();
-		generate();
-		// 1) add/remove/update all the IUs and artifacts in the repo as required
-		// 2) generate all the IUs we need to generate.  Here we have to sort out which
-		// JARs are just JARs and which are artifacts that have associated IUs. Anything with 
-		// an IU already does not need to be generated
-		// reconcile the lists to ensure that the JAR
-		// 3) construct the set of operations needed and call the engine
-		// 4) kick something if needed
-		initialize();
-	}
-
-	private IGeneratorInfo getProvider(File[] locations, File destination) {
-		EclipseInstallGeneratorInfoProvider provider = new EclipseInstallGeneratorInfoProvider();
-		provider.initialize(null, null, null, locations, null);
-		try {
-			initializeMetadataRepository(provider, destination.toURL());
-			initializeArtifactRepository(provider, destination.toURL());
-		} catch (MalformedURLException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-		provider.setPublishArtifactRepository(true);
-		provider.setPublishArtifacts(false);
-		provider.setMappingRules(INPLACE_MAPPING_RULES);
-		return provider;
-	}
-
-	private void processIUs() {
-	}
-
-	private void generate() {
-		IGeneratorInfo info = getProvider(new File[] {watcher.getTargetDirectory()}, watcher.getTargetDirectory());
-		new Generator(info).generate();
-	}
-
-	public Long getSeenFile(File file) {
-		return (Long) seenFiles.get(file);
-	}
-
-	private void initializeArtifactRepository(EclipseInstallGeneratorInfoProvider provider, URL location) {
-		IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.class.getName());
-		IArtifactRepository repository = manager.loadRepository(location, null);
-		if (repository != null) {
-			if (repository.isModifiable()) {
-				provider.setArtifactRepository(repository);
-				if (!provider.append())
-					repository.removeAll();
-				return;
-			}
-			throw new IllegalArgumentException("Artifact repository not writeable: " + location); //$NON-NLS-1$
-		}
-
-		// 	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 = location + " - artifacts"; //$NON-NLS-1$
-		IArtifactRepository result = manager.createRepository(location, repositoryName, "org.eclipse.equinox.p2.artifact.repository.simpleRepository"); //$NON-NLS-1$
-		if (result != null)
-			provider.setArtifactRepository(result);
-	}
-
-	private void initializeMetadataRepository(EclipseInstallGeneratorInfoProvider provider, URL location) {
-		IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(Activator.getContext(), IMetadataRepositoryManager.class.getName());
-		IMetadataRepository repository = manager.loadRepository(location, null);
-		if (repository != null) {
-			if (repository.isModifiable()) {
-				provider.setMetadataRepository(repository);
-				if (!provider.append())
-					repository.removeAll();
-				return;
-			}
-			throw new IllegalArgumentException("Artifact repository not writeable: " + location); //$NON-NLS-1$
-		}
-
-		// 	the given repo location is not an existing repo so we have to create something
-		// TODO for now create a random repo by default.
-		String repositoryName = location + " - metadata"; //$NON-NLS-1$
-		IMetadataRepository result = manager.createRepository(location, repositoryName, "org.eclipse.equinox.p2.metadata.repository.simpleRepository"); //$NON-NLS-1$
-		if (result != null)
-			provider.setMetadataRepository(result);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/p2/directorywatcher/DirectoryWatcher.java b/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/p2/directorywatcher/DirectoryWatcher.java
deleted file mode 100644
index 14a3989..0000000
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/p2/directorywatcher/DirectoryWatcher.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 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.p2.directorywatcher;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.*;
-import org.osgi.framework.BundleContext;
-
-public class DirectoryWatcher extends Thread {
-	public final static String POLL = "eclipse.p2.directory.watcher.poll";
-	public final static String DIR = "eclipse.p2.directory.watcher.dir";
-	public final static String DEBUG = "eclipse.p2.directory.watcher.debug";
-	private static long debug;
-
-	public static void log(String string, Throwable e) {
-		System.err.println(string + ": " + e);
-		if (debug > 0)
-			e.printStackTrace();
-	}
-
-	File targetDirectory;
-	boolean done = false;
-	long poll = 2000;
-	Map processedBundles = new HashMap();
-	Map processedConfigs = new HashMap();
-	private Set listeners = new HashSet();
-	private HashSet scannedFiles = new HashSet();
-	private HashSet removals;
-	private Set pendingDeletions;
-
-	public DirectoryWatcher(Dictionary properties, BundleContext context) {
-		super("Directory Watcher");
-		poll = getLong(context.getProperty(POLL), poll);
-		debug = getLong(context.getProperty(DEBUG), -1);
-
-		String dir = (String) properties.get(DIR);
-		if (dir == null)
-			dir = "./load";
-
-		try {
-			targetDirectory = new File(dir).getCanonicalFile();
-		} catch (IOException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-		targetDirectory.mkdirs();
-	}
-
-	public void addListener(IDirectoryChangeListener listener) {
-		listeners.add(listener);
-	}
-
-	public void close() {
-		done = true;
-		interrupt();
-		try {
-			join(10000);
-		} catch (InterruptedException ie) {
-			// Ignore
-		}
-	}
-
-	private long getLong(String value, long defaultValue) {
-		if (value != null)
-			try {
-				return Long.parseLong(value);
-			} catch (Exception e) {
-				System.out.println(value + " is not a long");
-			}
-		return defaultValue;
-	}
-
-	public File getTargetDirectory() {
-		return targetDirectory;
-	}
-
-	private boolean isInterested(IDirectoryChangeListener listener, File file) {
-		String[] extensions = listener.getExtensions();
-		for (int i = 0; i < extensions.length; i++)
-			if (file.getPath().endsWith(extensions[i]))
-				return true;
-		return false;
-	}
-
-	/**
-	 * 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();) {
-			IDirectoryChangeListener listener = (IDirectoryChangeListener) 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, IDirectoryChangeListener 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("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").delete();
-		}
-	}
-
-	public void run() {
-		if (debug > 0) {
-			System.out.println(POLL + "(ms) " + poll);
-			System.out.println(DIR + "  " + targetDirectory.getAbsolutePath());
-			System.out.println(DEBUG + " " + debug);
-		}
-		while (!done)
-			try {
-				startPoll();
-				scanDirectory();
-				stopPoll();
-				Thread.sleep(poll);
-			} catch (InterruptedException e) {
-				// ignore
-			} catch (Throwable e) {
-				log("In main loop, we have serious trouble", e);
-			}
-	}
-
-	private void scanDirectory() {
-		File list[] = targetDirectory.listFiles();
-		if (list == null)
-			return;
-		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")) {
-				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();) {
-					IDirectoryChangeListener listener = (IDirectoryChangeListener) iterator.next();
-					if (isInterested(listener, file))
-						processFile(file, listener);
-				}
-			}
-		}
-	}
-
-	private void startPoll() {
-		removals = scannedFiles;
-		scannedFiles = new HashSet();
-		pendingDeletions = new HashSet();
-		for (Iterator i = listeners.iterator(); i.hasNext();)
-			((IDirectoryChangeListener) i.next()).startPoll();
-	}
-
-	private void stopPoll() {
-		notifyRemovals();
-		removals = scannedFiles;
-		for (Iterator i = listeners.iterator(); i.hasNext();)
-			((IDirectoryChangeListener) i.next()).stopPoll();
-		processPendingDeletions();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/p2/directorywatcher/IDirectoryChangeListener.java b/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/p2/directorywatcher/IDirectoryChangeListener.java
deleted file mode 100644
index 6db085a..0000000
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/p2/directorywatcher/IDirectoryChangeListener.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 implementation and ideas 
- ******************************************************************************/
-package org.eclipse.equinox.p2.directorywatcher;
-
-import java.io.File;
-
-public interface IDirectoryChangeListener {
-
-	public void startPoll();
-
-	public void stopPoll();
-
-	public String[] getExtensions();
-
-	public boolean added(File file);
-
-	public boolean removed(File file);
-
-	public boolean changed(File file);
-
-	public Long getSeenFile(File file);
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/.classpath b/bundles/org.eclipse.equinox.p2.engine/.classpath
deleted file mode 100644
index ce73933..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="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.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 ab01093..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/.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.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 655165e..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,32 +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: 0.1.0.qualifier
-Export-Package: org.eclipse.equinox.internal.p2.engine;x-internal:=true,
- org.eclipse.equinox.p2.engine,
- org.eclipse.equinox.p2.engine.phases,
- org.eclipse.equinox.p2.installregistry
-Import-Package: javax.xml.parsers,
- org.eclipse.equinox.internal.p2.metadata,
- org.eclipse.equinox.p2.artifact.repository,
- org.eclipse.equinox.p2.core.eventbus,
- org.eclipse.equinox.p2.core.helpers,
- org.eclipse.equinox.p2.core.location,
- org.eclipse.equinox.p2.download,
- org.eclipse.equinox.p2.metadata,
- org.eclipse.equinox.p2.query,
- org.eclipse.osgi.service.datalocation;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
-Bundle-Activator: org.eclipse.equinox.internal.p2.engine.EngineActivator
-Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
- J2SE-1.4
-Require-Bundle: org.eclipse.equinox.common,
- org.eclipse.equinox.registry
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 (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-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 350f24a..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 (Incubation)
-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>
-         &lt;p&gt;
-   &lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.equinox.p2.engine.installAdaptors&quot; id=&quot;eclipse&quot; name=&quot;Eclipse Install Adaptor&quot;&gt;
-  &lt;installAdaptor 
-   type=&quot;eclipse&quot; 
-   class=&quot;org.eclipse.equinox.internal.p2.eclipseAdaptor.EclipseInstallAdaptor&quot;
-   version=&quot;1.0.0&quot;/&gt;
- &lt;/extension&gt;
-   &lt;/pre&gt;
-&lt;/p&gt;
-      </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/CommonDef.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/CommonDef.java
deleted file mode 100644
index 9816a19..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/CommonDef.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.p2.engine;
-
-/*
- *  This interface contains global constant definitions.
- *  
- *  Use this interface to define constants that are likely to be used
- *  widely in different contexts with share a common intended meaning.
- *
- */
-public interface CommonDef {
-
-	public static final String EmptyString = ""; //$NON-NLS-1$
-	public static final String SpaceString = " "; //$NON-NLS-1$
-	public static final String Underscore = "_"; //$NON-NLS-1$
-	public static final String Dot = "."; //$NON-NLS-1$
-	public static final String DotDot = ".."; //$NON-NLS-1$
-
-	public static final String EncodedSpaceString = "%20"; //$NON-NLS-1$ 
-
-	public static final String UncPrefix = "\\\\"; //$NON-NLS-1$
-	public static final char ColonChar = ':';
-
-	/*
-	 * Strings used as the type for the native and eclipse touchpoints,
-	 * including the type in the touchpoints extension point.
-	 */
-	public static final String NativeTouchpoint = "native"; //$NON-NLS-1$
-	public static final String EclipseTouchpoint = "eclipse"; //$NON-NLS-1$   
-
-	public static final int MaxPathLength_Win32 = 256;
-	public static final int MaxPathLength_Linux = 1024;
-	//    
-	//    /*
-	//     * Different protocols
-	//     */
-	//    public interface Protocols {
-	//        public static final String File = "file"; //$NON-NLS-1$
-	//        public static final String Http = "http"; //$NON-NLS-1$
-	//        public static final String Https = "https"; //$NON-NLS-1$
-	//        public static final String Ftp = "ftp"; //$NON-NLS-1$
-	//        public static final String Socks = "SOCKS"; //$NON-NLS-1$
-	//    }
-	//
-	//    /*
-	//     * File name extensions.
-	//     */
-	//    public interface Extensions {
-	//        public static final String Xml = ".xml"; //$NON-NLS-1$
-	//        public static final String Zip = ".zip"; //$NON-NLS-1$
-	//        public static final String Jar = ".jar"; //$NON-NLS-1$
-	//        public static final String Properties = ".properties"; //$NON-NLS-1$
-	//    }
-}
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 dfc1de2..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/EngineActivator.java
+++ /dev/null
@@ -1,64 +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.osgi.framework.*;
-import org.osgi.util.tracker.ServiceTracker;
-import org.osgi.util.tracker.ServiceTrackerCustomizer;
-import org.eclipse.equinox.p2.core.eventbus.ProvisioningEventBus;
-import org.eclipse.equinox.p2.engine.Engine;
-
-public class EngineActivator implements BundleActivator, ServiceTrackerCustomizer {
-	private static BundleContext context;
-	public static final String ID = "org.eclipse.equinox.p2.engine";
-
-	public static BundleContext getContext() {
-		return context;
-	}
-
-	private ServiceRegistration registration;
-	private ServiceTracker tracker;
-
-	public void start(BundleContext context) throws Exception {
-		EngineActivator.context = context;
-		tracker = new ServiceTracker(context, ProvisioningEventBus.class.getName(), this);
-		tracker.open();
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		tracker.close();
-		tracker = null;
-
-		EngineActivator.context = null;
-	}
-
-	public Object addingService(ServiceReference reference) {
-		if (registration == null) {
-			ProvisioningEventBus eventBus = (ProvisioningEventBus) context.getService(reference);
-			registration = context.registerService(Engine.class.getName(), new Engine(eventBus), null);
-			return eventBus;
-		}
-		return null;
-	}
-
-	public void modifiedService(ServiceReference reference, Object service) {
-		// TODO Auto-generated method stub
-
-	}
-
-	public void removedService(ServiceReference reference, Object service) {
-		if (registration != null) {
-			registration.unregister();
-			registration = null;
-		}
-	}
-
-}
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 0111c50..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/Messages.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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.engine.messages"; //$NON-NLS-1$
-
-	static {
-		// initialize resource bundles
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-		// Do not instantiate
-	}
-
-	public static String Engine_Error_During_Phase;
-	public static String Engine_Operation_Canceled_By_User;
-	public static String Profile_Not_Named_Self;
-	public static String Profile_Duplicate_Profile_Id;
-	public static String TouchpointManager_Null_Touchpoint_Type_Argument;
-	public static String TouchpointManager_Required_Touchpoint_Not_Found;
-	public static String TouchpointManager_No_Extension_Point;
-	public static String TouchpointManager_Incorrectly_Named_Extension;
-	public static String TouchpointManager_Attribute_Not_Specified;
-	public static String TouchpointManager_Conflicting_Touchpoint_Types;
-	public static String TouchpointManager_Touchpoint_Type_Mismatch;
-	public static String TouchpointManager_Exception_Creating_Touchpoint_Extension;
-	public static String TouchpointManager_Null_Creating_Touchpoint_Extension;
-	public static String Install_Operand_Description;
-	public static String Update_Operand_Description;
-	public static String Uninstall_Operand_Description;
-
-	public static String SimpleProfileRegistry_Parser_Has_Incompatible_Version;
-	public static String SimpleProfileRegistry_Parser_Error_Parsing_Registry;
-
-	public static String InstallRegistry_Parser_Error_Parsing_Registry;
-	public static String InstallRegistry_Parser_Has_Incompatible_Version;
-
-}
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 1d155fe..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 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, 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.p2.engine.Touchpoint;
-import org.eclipse.equinox.p2.engine.ProvisioningAction;
-import org.eclipse.equinox.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"))
-			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/TouchpointManager.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/TouchpointManager.java
deleted file mode 100644
index 3c95e8b..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/TouchpointManager.java
+++ /dev/null
@@ -1,223 +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 java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.p2.core.helpers.MultiStatus;
-import org.eclipse.equinox.p2.engine.Touchpoint;
-import org.eclipse.equinox.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 touchpoint = (Touchpoint) element.createExecutableExtension(ATTRIBUTE_CLASS);
-					if (touchpoint != null) {
-						if (!id.equals(touchpoint.getTouchpointType().getId())) {
-							reportError(NLS.bind(Messages.TouchpointManager_Touchpoint_Type_Mismatch, id, touchpoint.getTouchpointType().getId()), null);
-						}
-						this.touchpoint = touchpoint;
-					} 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 || CommonDef.EmptyString.equals(id.getId()))
-			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());
-
-		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();
-		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;
-	}
-
-	private static void reportError(String errorMsg, MultiStatus status) {
-		Status errorStatus = new Status(IStatus.ERROR, EngineActivator.ID, 1, errorMsg, null);
-		if (status != null) {
-			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 534f6f0..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/messages.properties
+++ /dev/null
@@ -1,39 +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
-###############################################################################
-
-Engine_Error_During_Phase=Error during phase: {0}.
-Engine_Operation_Canceled_By_User=Operation canceled by the user.
-
-Profile_Duplicate_Profile_Id=Adding profile with duplicate id: {0}.
-Profile_Not_Named_Self=Can't have a profile named: {0}.
-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.
-
-Install_Operand_Description=Installing unit {0}.
-Update_Operand_Description=Updating unit {0} with unit {1}.
-Uninstall_Operand_Description=Removing unit {0}.
-
-SimpleProfileRegistry_Parser_Error_Parsing_Registry=\
-	Error parsing profile registry.
-SimpleProfileRegistry_Parser_Has_Incompatible_Version=\
-	Profile registry has incompatible version {0}; expected {1}.
-	
-InstallRegistry_Parser_Error_Parsing_Registry=\
-	Error parsing install registrly.
-InstallRegistry_Parser_Has_Incompatible_Version=\
-	Install registry has incompatible version {0}; expected {1}.
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/BeginOperationEvent.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/BeginOperationEvent.java
deleted file mode 100644
index d19ba5b..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/BeginOperationEvent.java
+++ /dev/null
@@ -1,20 +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.engine;
-
-public class BeginOperationEvent extends TransactionEvent {
-
-	private static final long serialVersionUID = 6389318375739324865L;
-
-	public BeginOperationEvent(Profile profile, PhaseSet phaseSet, Operand[] deltas, Engine engine) {
-		super(profile, phaseSet, deltas, engine);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/CommitOperationEvent.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/CommitOperationEvent.java
deleted file mode 100644
index 72303ca..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/CommitOperationEvent.java
+++ /dev/null
@@ -1,20 +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.engine;
-
-public class CommitOperationEvent extends TransactionEvent {
-	private static final long serialVersionUID = -523967775426133720L;
-
-	public CommitOperationEvent(Profile profile, PhaseSet phaseSet, Operand[] deltas, Engine engine) {
-		super(profile, phaseSet, deltas, engine);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/DefaultPhaseSet.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/DefaultPhaseSet.java
deleted file mode 100644
index 6aec15d..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/DefaultPhaseSet.java
+++ /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
- *******************************************************************************/
-package org.eclipse.equinox.p2.engine;
-
-import org.eclipse.equinox.p2.engine.phases.*;
-
-public class DefaultPhaseSet extends PhaseSet {
-
-	public DefaultPhaseSet() {
-		super(new Phase[] {new Collect(100), new Unconfigure(10), new Uninstall(50), new Install(50), new Configure(10)});
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/Engine.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/Engine.java
deleted file mode 100644
index 1cb2215..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/Engine.java
+++ /dev/null
@@ -1,81 +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.engine;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.p2.core.eventbus.ProvisioningEventBus;
-import org.eclipse.equinox.p2.core.helpers.MultiStatus;
-
-public class Engine {
-
-	private final ProvisioningEventBus eventBus;
-	private List lockedProfiles = new ArrayList();
-
-	public Engine(ProvisioningEventBus eventBus) {
-		this.eventBus = eventBus;
-	}
-
-	public MultiStatus perform(Profile profile, PhaseSet phaseSet, Operand[] operands, IProgressMonitor monitor) {
-
-		// TODO -- Messages
-		if (profile == null)
-			throw new IllegalArgumentException("Profile must not be null.");
-
-		if (phaseSet == null)
-			throw new IllegalArgumentException("PhaseSet must not be null.");
-
-		if (operands == null)
-			throw new IllegalArgumentException("Operands must not be null.");
-
-		if (monitor == null)
-			monitor = new NullProgressMonitor();
-
-		if (operands.length == 0)
-			return new MultiStatus(IStatus.OK, null);
-
-		lockProfile(profile);
-		try {
-			eventBus.publishEvent(new BeginOperationEvent(profile, phaseSet, operands, this));
-
-			EngineSession session = new EngineSession(profile);
-			MultiStatus result = phaseSet.perform(session, profile, operands, monitor);
-			if (result.isOK()) {
-				eventBus.publishEvent(new CommitOperationEvent(profile, phaseSet, operands, this));
-				session.commit();
-			} else if (result.isErrorOrCancel()) {
-				eventBus.publishEvent(new RollbackOperationEvent(profile, phaseSet, operands, this, result));
-				session.rollback();
-			}
-			return result;
-		} finally {
-			unlockProfile(profile);
-		}
-	}
-
-	private synchronized void unlockProfile(Profile profile) {
-		lockedProfiles.remove(profile);
-		notify();
-	}
-
-	private synchronized void lockProfile(Profile profile) {
-		while (lockedProfiles.contains(profile)) {
-			try {
-				wait();
-			} catch (InterruptedException e) {
-				// TODO We should think about how we want to handle blocked engine requests
-				Thread.currentThread().interrupt();
-			}
-		}
-		lockedProfiles.add(profile);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/EngineSession.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/EngineSession.java
deleted file mode 100644
index 2021b1d..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/EngineSession.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.engine;
-
-import java.util.*;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.p2.core.helpers.MultiStatus;
-
-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 Profile profile;
-
-	public EngineSession(Profile profile) {
-		this.profile = profile;
-	}
-
-	public void commit() {
-		phaseActionRecordsPairs.clear();
-	}
-
-	public MultiStatus rollback() {
-		MultiStatus result = new MultiStatus();
-		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();
-
-		if (phase != currentPhase)
-			phase.prePerform(result, profile, 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);
-		}
-		phase.postPerform(result, profile, new NullProgressMonitor());
-		return result;
-	}
-
-	void recordPhaseStart(Phase phase) {
-		if (phase == null)
-			throw new IllegalArgumentException("Phase must not be null.");
-
-		if (currentPhase != null)
-			throw new IllegalStateException("A phase is already started.");
-
-		currentPhase = phase;
-		currentActionRecords = new ArrayList();
-	}
-
-	void recordPhaseEnd(Phase phase) {
-		if (currentPhase == null)
-			throw new IllegalStateException("There is no phase to end.");
-
-		if (currentPhase != phase)
-			throw new IllegalArgumentException("Current phase does not match argument.");
-
-		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("Action and Operand must not be 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/p2/engine/IProfileRegistry.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/IProfileRegistry.java
deleted file mode 100644
index fa360f8..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/IProfileRegistry.java
+++ /dev/null
@@ -1,53 +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.engine;
-
-/**
- * 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>
-	 */
-	Profile 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
-	 */
-	Profile[] getProfiles();
-
-	/**
-	 * Add the given profile to this profile registry.
-	 * 
-	 * @param toAdd the profile to add
-	 * @throws IllegalArgumentException if a profile
-	 *         with the same id is already present in the registry.
-	 */
-	void addProfile(Profile toAdd) throws IllegalArgumentException;
-
-	/**
-	 * Remove the given profile from this profile registry.
-	 * 
-	 * @param toRemove the profile to remove
-	 */
-	void removeProfile(Profile toRemove);
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/InstallableUnitEvent.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/InstallableUnitEvent.java
deleted file mode 100644
index f7f86e1..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/InstallableUnitEvent.java
+++ /dev/null
@@ -1,83 +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.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 Profile profile;
-	private Operand operand;
-	private Touchpoint touchpoint;
-	private IStatus result;
-	private int type;
-
-	public InstallableUnitEvent(String phaseId, boolean prePhase, Profile profile, Operand operand, int type, Touchpoint touchpoint) {
-		this(phaseId, prePhase, profile, operand, type, touchpoint, null);
-	}
-
-	public InstallableUnitEvent(String phaseId, boolean prePhase, Profile profile, Operand 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("type must be either UNINSTALL(0) or INSTALL(1)");
-		this.type = type;
-		this.result = result;
-
-	}
-
-	public Touchpoint getTouchpoint() {
-		return touchpoint;
-	}
-
-	public Profile getProfile() {
-		return profile;
-	}
-
-	public Operand 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/p2/engine/InstructionParser.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/InstructionParser.java
deleted file mode 100644
index c195fc8..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/InstructionParser.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package org.eclipse.equinox.p2.engine;
-
-import java.util.*;
-
-public class InstructionParser {
-
-	Phase phase;
-	Touchpoint touchpoint;
-
-	public InstructionParser(Phase phase, Touchpoint 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("No action found for " + actionId + "."); //$NON-NLS-2$
-
-		return action;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/Memento.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/Memento.java
deleted file mode 100644
index 22b374e..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/Memento.java
+++ /dev/null
@@ -1,76 +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.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/p2/engine/Operand.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/Operand.java
deleted file mode 100644
index 1ea5768..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/Operand.java
+++ /dev/null
@@ -1,35 +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.engine;
-
-import org.eclipse.equinox.p2.metadata.IResolvedInstallableUnit;
-
-public class Operand {
-	private final IResolvedInstallableUnit first;
-	private final IResolvedInstallableUnit second;
-
-	public Operand(IResolvedInstallableUnit first, IResolvedInstallableUnit second) {
-		this.first = first;
-		this.second = second;
-	}
-
-	public IResolvedInstallableUnit first() {
-		return first;
-	}
-
-	public IResolvedInstallableUnit 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/p2/engine/ParameterizedProvisioningAction.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/ParameterizedProvisioningAction.java
deleted file mode 100644
index 10f86b0..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/ParameterizedProvisioningAction.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package org.eclipse.equinox.p2.engine;
-
-import java.util.*;
-import java.util.Map.Entry;
-import org.eclipse.core.runtime.IStatus;
-
-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("Both action and action pararameters must not be 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("${");
-		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);
-		String variableValue = parameters.get(variableName).toString();
-		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/p2/engine/Phase.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/Phase.java
deleted file mode 100644
index b0c332c..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/Phase.java
+++ /dev/null
@@ -1,261 +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.engine;
-
-import java.util.*;
-import java.util.Map.Entry;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.engine.Messages;
-import org.eclipse.equinox.internal.p2.engine.TouchpointManager;
-import org.eclipse.equinox.p2.core.helpers.MultiStatus;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.TouchpointData;
-import org.eclipse.osgi.util.NLS;
-
-public abstract class Phase {
-	private static final String OPERAND = "operand"; //$NON-NLS-1$
-	private static final String TOUCHPOINT = "touchpoint"; //$NON-NLS-1$
-	private static final String PHASE_ID = "phaseId"; //$NON-NLS-1$
-	private static final String PROFILE = "profile"; //$NON-NLS-1$
-	protected final String phaseId;
-	protected final int weight;
-	protected final String phaseName;
-	protected int prePerformWork = 1000;
-	protected int mainPerformWork = 10000;
-	protected int postPerformWork = 1000;
-	private Map phaseParameters;
-	private Map touchpointToTouchpointParameters;
-
-	protected Phase(String phaseId, int weight, String phaseName) {
-		if (phaseId == null || phaseId.length() == 0) {
-			throw new IllegalArgumentException("Phase id must be set."); //$NON-NLS-1$
-		}
-
-		if (weight <= 0) {
-			throw new IllegalArgumentException("Phase weight must be positive."); //$NON-NLS-1$
-		}
-
-		if (phaseName == null || phaseName.length() == 0) {
-			throw new IllegalArgumentException("Phase name must be set."); //$NON-NLS-1$
-		}
-
-		this.weight = weight;
-		this.phaseName = phaseName;
-		this.phaseId = phaseId;
-	}
-
-	public String toString() {
-		return "Phase: " + this.phaseName + " - " + this.weight; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public final MultiStatus perform(EngineSession session, Profile profile, Operand[] operands, IProgressMonitor monitor) {
-		MultiStatus status = new MultiStatus();
-		perform(status, session, profile, operands, monitor);
-		if (status.matches(IStatus.CANCEL)) {
-			status.setMessage(Messages.Engine_Operation_Canceled_By_User);
-		} else if (status.matches(IStatus.ERROR)) {
-			status.setMessage(NLS.bind(Messages.Engine_Error_During_Phase, this.phaseName));
-		}
-		return status;
-	}
-
-	void perform(MultiStatus status, EngineSession session, Profile profile, Operand[] operands, IProgressMonitor monitor) {
-		touchpointToTouchpointParameters = new HashMap();
-		for (int i = 0; i < operands.length; i++) {
-			Touchpoint touchpoint = getTouchpoint(operands[i]);
-			if (touchpoint == null)
-				continue;
-
-			if (!touchpointToTouchpointParameters.containsKey(touchpoint)) {
-				touchpointToTouchpointParameters.put(touchpoint, null);
-			}
-		}
-
-		SubMonitor subMonitor = SubMonitor.convert(monitor, prePerformWork + mainPerformWork + postPerformWork);
-		prePerform(status, profile, subMonitor.newChild(prePerformWork));
-		if (status.isErrorOrCancel())
-			return;
-		session.recordPhaseStart(this);
-
-		subMonitor.setWorkRemaining(mainPerformWork + postPerformWork);
-		mainPerform(status, session, profile, operands, subMonitor.newChild(mainPerformWork));
-		if (status.isErrorOrCancel())
-			return;
-
-		session.recordPhaseEnd(this);
-		subMonitor.setWorkRemaining(postPerformWork);
-		postPerform(status, profile, subMonitor.newChild(postPerformWork));
-		if (status.isErrorOrCancel())
-			return;
-
-		subMonitor.done();
-	}
-
-	void prePerform(MultiStatus status, Profile profile, IProgressMonitor monitor) {
-		phaseParameters = new HashMap();
-		phaseParameters.put(PROFILE, profile);
-		phaseParameters.put(PHASE_ID, phaseId);
-		status.add(initializePhase(monitor, profile, phaseParameters));
-
-		for (Iterator it = touchpointToTouchpointParameters.entrySet().iterator(); it.hasNext();) {
-			Entry entry = (Entry) it.next();
-			Touchpoint touchpoint = (Touchpoint) entry.getKey();
-			Map touchpointParameters = new HashMap(phaseParameters);
-			touchpointParameters.put(TOUCHPOINT, touchpoint);
-			status.add(touchpoint.initializePhase(monitor, profile, phaseId, touchpointParameters));
-			entry.setValue(touchpointParameters);
-		}
-	}
-
-	private void mainPerform(MultiStatus status, EngineSession session, Profile profile, Operand[] operands, 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;
-			try {
-				actions = getActions(operand);
-			} catch (Throwable t) {
-				status.add(new Status(IStatus.ERROR, phaseId, t.getMessage()));
-				return;
-			}
-
-			Touchpoint touchpoint = getTouchpoint(operand);
-			Map parameters = (touchpoint != null) ? new HashMap((Map) touchpointToTouchpointParameters.get(touchpoint)) : new HashMap(phaseParameters);
-			parameters.put(OPERAND, operand);
-			status.add(initializeOperand(profile, operand, parameters, subMonitor));
-			if (touchpoint != null)
-				status.add(touchpoint.initializeOperand(profile, phaseId, operand, parameters));
-			parameters = Collections.unmodifiableMap(parameters);
-			if (actions != null) {
-				for (int j = 0; j < actions.length; j++) {
-					ProvisioningAction action = actions[j];
-					session.recordAction(action, operand);
-					status.add(action.execute(parameters));
-					if (!status.isOK())
-						return;
-				}
-			}
-			if (touchpoint != null)
-				status.add(touchpoint.completeOperand(profile, phaseId, operand, parameters));
-			status.add(completeOperand(operand, parameters));
-			subMonitor.worked(1);
-		}
-	}
-
-	void postPerform(MultiStatus status, Profile profile, IProgressMonitor monitor) {
-		for (Iterator it = touchpointToTouchpointParameters.entrySet().iterator(); it.hasNext();) {
-			Entry entry = (Entry) it.next();
-			Touchpoint touchpoint = (Touchpoint) entry.getKey();
-			Map touchpointParameters = (Map) entry.getValue();
-			status.add(touchpoint.completePhase(monitor, profile, phaseId, touchpointParameters));
-			entry.setValue(null);
-		}
-		status.add(completePhase(monitor, profile, phaseParameters));
-		phaseParameters = null;
-	}
-
-	void undo(MultiStatus status, EngineSession session, Profile profile, Operand operand, ProvisioningAction[] actions) {
-		Touchpoint touchpoint = getTouchpoint(operand);
-		Map touchpointParameters = (Map) touchpointToTouchpointParameters.get(touchpoint);
-		Map parameters = new HashMap(touchpointParameters);
-		parameters.put(OPERAND, operand);
-		status.add(initializeOperand(profile, operand, parameters, new NullProgressMonitor()));
-		status.add(touchpoint.initializeOperand(profile, phaseId, operand, parameters));
-		parameters = Collections.unmodifiableMap(parameters);
-		for (int j = 0; j < actions.length; j++) {
-			ProvisioningAction action = actions[j];
-			IStatus actionStatus = action.undo(parameters);
-			status.add(actionStatus);
-			// TODO: session.removeAction(...)
-		}
-		status.add(touchpoint.completeOperand(profile, phaseId, operand, parameters));
-		status.add(completeOperand(operand, parameters));
-	}
-
-	protected final ProvisioningAction[] getActions(IInstallableUnit unit, String key) {
-
-		String[] instructions = getInstructionsFor(unit, key);
-		if (instructions == null || instructions.length == 0)
-			return null;
-
-		TouchpointManager touchpointManager = TouchpointManager.getInstance();
-		Touchpoint touchpoint = touchpointManager.getTouchpoint(unit.getTouchpointType());
-		InstructionParser parser = new InstructionParser(this, touchpoint);
-		return parser.parseActions(instructions[0]);
-	}
-
-	protected boolean isApplicable(Operand op) {
-		return true;
-	}
-
-	protected IStatus initializePhase(IProgressMonitor monitor, Profile profile, Map parameters) {
-		return Status.OK_STATUS;
-	}
-
-	protected IStatus completePhase(IProgressMonitor monitor, Profile profile, Map parameters) {
-		return Status.OK_STATUS;
-	}
-
-	protected IStatus completeOperand(Operand operand, Map parameters) {
-		return Status.OK_STATUS;
-	}
-
-	protected IStatus initializeOperand(Profile profile, Operand operand, Map parameters, IProgressMonitor monitor) {
-		return Status.OK_STATUS;
-	}
-
-	public ProvisioningAction getAction(String actionId) {
-		return null;
-	}
-
-	protected abstract ProvisioningAction[] getActions(Operand currentOperand);
-
-	protected static Touchpoint getTouchpoint(Operand operand) {
-		IInstallableUnit unit = operand.second();
-		if (unit == null)
-			unit = operand.first();
-
-		if (unit == null)
-			return null;
-		return getTouchpoint(unit);
-	}
-
-	private static Touchpoint getTouchpoint(IInstallableUnit unit) {
-		TouchpointManager touchpointManager = TouchpointManager.getInstance();
-		Touchpoint touchpoint = touchpointManager.getTouchpoint(unit.getTouchpointType());
-		return touchpoint;
-	}
-
-	private static String[] getInstructionsFor(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;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/PhaseSet.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/PhaseSet.java
deleted file mode 100644
index 122e9d8..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/PhaseSet.java
+++ /dev/null
@@ -1,73 +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.engine;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.SubMonitor;
-import org.eclipse.equinox.p2.core.helpers.MultiStatus;
-
-public abstract class PhaseSet {
-	private final Phase[] phases;
-
-	public PhaseSet(Phase[] phases) {
-		if (phases == null)
-			throw new IllegalArgumentException("Phases must not be null"); //$NON-NLS-1$
-
-		this.phases = phases;
-	}
-
-	public final MultiStatus perform(EngineSession session, Profile profile, Operand[] deltas, IProgressMonitor monitor) {
-		MultiStatus result = new MultiStatus();
-		int[] weights = getProgressWeights(deltas);
-		int totalWork = getTotalWork(weights);
-		SubMonitor pm = SubMonitor.convert(monitor, totalWork);
-		try {
-			for (int i = 0; i < phases.length; i++) {
-				if (pm.isCanceled()) {
-					result.setCanceled();
-					return result;
-				}
-				Phase phase = phases[i];
-				result.add(phase.perform(session, profile, deltas, pm.newChild(weights[i])));
-				if (result.isErrorOrCancel())
-					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) {
-			//alter weights according to the number of operands applicable to that phase
-			weights[i] = phases[i].weight * (countApplicable(phases[i], operands) / operands.length);
-		}
-		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;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/Profile.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/Profile.java
deleted file mode 100644
index d2af3c1..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/Profile.java
+++ /dev/null
@@ -1,189 +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.engine;
-
-import java.util.*;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.internal.p2.engine.EngineActivator;
-import org.eclipse.equinox.p2.core.eventbus.ProvisioningEventBus;
-import org.eclipse.equinox.p2.core.helpers.*;
-import org.eclipse.equinox.p2.installregistry.IInstallRegistry;
-import org.eclipse.equinox.p2.installregistry.IProfileInstallRegistry;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.RequiredCapability;
-import org.eclipse.equinox.p2.query.IQueryable;
-import org.eclipse.equinox.p2.query.QueryableArray;
-import org.eclipse.osgi.service.resolver.VersionRange;
-
-public class Profile implements IQueryable {
-
-	/**
-	 * Profile property constant indicating the flavor for the profile.
-	 */
-	public static String PROP_FLAVOR = "eclipse.p2.flavor"; //$NON-NLS-1$
-
-	/**
-	 * Profile property constant indicating the install folder for the profile.
-	 */
-	public static final String PROP_INSTALL_FOLDER = "eclipse.p2.installFolder"; //$NON-NLS-1$
-
-	/**
-	 * Profile property constant indicating the installed language(s) for the profile.
-	 */
-	public static final String PROP_NL = "eclipse.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 = "eclipse.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 = "eclipse.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 = "eclipse.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 = "eclipse.p2.roaming"; //$NON-NLS-1$
-
-	/**
-	 * Profile property constant indicating the bundle pool cache location.
-	 */
-	public static final String PROP_CACHE = "eclipse.p2.cache"; //$NON-NLS-1$
-
-	//Internal id of the profile
-	private String profileId;
-
-	private Profile parentProfile;
-
-	/**
-	 * 	TODO: need a collection of child profiles
-	 */
-
-	/**
-	 * This storage is to be used by the touchpoints to store data. The data must be serializable
-	 */
-	private OrderedProperties storage = new OrderedProperties();
-
-	public Profile(String profileId) {
-		if (profileId == null || profileId.length() == 0) {
-			throw new IllegalArgumentException("Profile id must be set.");
-		}
-		this.profileId = profileId;
-	}
-
-	public Profile(String profileId, OrderedProperties properties) {
-		this(profileId);
-		storage.putAll(properties);
-	}
-
-	public String getProfileId() {
-		return profileId;
-	}
-
-	public Profile getParentProfile() {
-		return parentProfile;
-	}
-
-	public String getValue(String key) {
-		return storage.getProperty(key);
-	}
-
-	public void setValue(String key, String value) {
-		storage.setProperty(key, value);
-	}
-
-	public Dictionary getSelectionContext() {
-		OrderedProperties result = new OrderedProperties(storage);
-		String environments = storage.getProperty(PROP_ENVIRONMENTS);
-		if (environments == null)
-			return result;
-		for (StringTokenizer tokenizer = new StringTokenizer(environments, ","); tokenizer.hasMoreElements();) {
-			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;
-	}
-
-	private IInstallableUnit[] getAllInstallableUnits() {
-		IInstallRegistry registry = (IInstallRegistry) ServiceHelper.getService(EngineActivator.getContext(), IInstallRegistry.class.getName());
-		if (registry == null)
-			return null;
-		IProfileInstallRegistry profile = registry.getProfileInstallRegistry(new Profile(profileId));
-		if (profile == null)
-			return null;
-		return profile.getInstallableUnits();
-	}
-
-	public Iterator getIterator(String id, VersionRange range, RequiredCapability[] requirements, boolean and) {
-		return new QueryableArray(getAllInstallableUnits()).getIterator(id, range, requirements, and);
-	}
-
-	public IInstallableUnit[] query(String id, VersionRange range, RequiredCapability[] requirements, boolean and, IProgressMonitor progress) {
-		return new QueryableArray(getAllInstallableUnits()).query(id, range, requirements, and, progress);
-	}
-
-	public Iterator getInstallableUnits() {
-		return Arrays.asList(getAllInstallableUnits()).iterator();
-	}
-
-	public String getInstallableUnitProfileProperty(IInstallableUnit iu, String key) {
-		IInstallRegistry registry = (IInstallRegistry) ServiceHelper.getService(EngineActivator.getContext(), IInstallRegistry.class.getName());
-		if (registry == null)
-			return null;
-		IProfileInstallRegistry profile = registry.getProfileInstallRegistry(this);
-		if (profile == null)
-			return null;
-		return profile.getInstallableUnitProfileProperty(iu, key);
-	}
-
-	public String setInstallableUnitProfileProperty(IInstallableUnit iu, String key, String value) {
-		IInstallRegistry registry = (IInstallRegistry) ServiceHelper.getService(EngineActivator.getContext(), IInstallRegistry.class.getName());
-		if (registry == null)
-			return null;
-		IProfileInstallRegistry profile = registry.getProfileInstallRegistry(this);
-		if (profile == null)
-			return null;
-		String previousValue = profile.setInstallableUnitProfileProperty(iu, key, value);
-		// TODO this is not the ideal place for this.
-		// see https://bugs.eclipse.org/bugs/show_bug.cgi?id=206077
-		// see https://bugs.eclipse.org/bugs/show_bug.cgi?id=197701
-		ProvisioningEventBus bus = (ProvisioningEventBus) ServiceHelper.getService(EngineActivator.getContext(), ProvisioningEventBus.class.getName());
-		if (bus != null)
-			bus.publishEvent(new ProfileEvent(this, ProfileEvent.CHANGED));
-		return previousValue;
-	}
-
-	/**
-	 * Get an <i>unmodifiable copy</i> of the properties
-	 * associated with the profile registry.
-	 * 
-	 * @return an <i>unmodifiable copy</i> of the IU properties.
-	 */
-	public OrderedProperties getProperties() {
-		return new UnmodifiableProperties(storage);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/ProfileEvent.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/ProfileEvent.java
deleted file mode 100644
index bffbff0..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/ProfileEvent.java
+++ /dev/null
@@ -1,39 +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.engine;
-
-import java.util.EventObject;
-
-public class ProfileEvent extends EventObject {
-	private static final long serialVersionUID = 3082402920617281765L;
-
-	public static byte ADDED = 0;
-	public static byte REMOVED = 1;
-	// TODO We need an event when profile properties change.  Not fully implemented.
-	// see https://bugs.eclipse.org/bugs/show_bug.cgi?id=197701
-	public static byte CHANGED = 2;
-
-	private byte reason;
-
-	public ProfileEvent(Profile source, byte reason) {
-		super(source);
-		this.reason = reason;
-	}
-
-	public byte getReason() {
-		return reason;
-	}
-
-	public Profile getProfile() {
-		return (Profile) getSource();
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/ProvisioningAction.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/ProvisioningAction.java
deleted file mode 100644
index 65eb6dc..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/ProvisioningAction.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.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/p2/engine/ProvisioningConfigurationException.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/ProvisioningConfigurationException.java
deleted file mode 100644
index 6ccf042..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/ProvisioningConfigurationException.java
+++ /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
- *******************************************************************************/
-package org.eclipse.equinox.p2.engine;
-
-public class ProvisioningConfigurationException extends RuntimeException {
-
-	private static final long serialVersionUID = -712627437440533809L;
-
-	public ProvisioningConfigurationException(String name) {
-		super(name);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/RollbackOperationEvent.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/RollbackOperationEvent.java
deleted file mode 100644
index 7d994e6..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/RollbackOperationEvent.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.p2.engine;
-
-import org.eclipse.core.runtime.IStatus;
-
-public class RollbackOperationEvent extends TransactionEvent {
-
-	private static final long serialVersionUID = -2076492953949691215L;
-	private IStatus cause;
-
-	public RollbackOperationEvent(Profile profile, PhaseSet phaseSet, Operand[] deltas, Engine engine, IStatus cause) {
-		super(profile, phaseSet, deltas, engine);
-		this.cause = cause;
-	}
-
-	public IStatus getStatus() {
-		return cause;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/SimpleProfileRegistry.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/SimpleProfileRegistry.java
deleted file mode 100644
index 61c9b3c..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/SimpleProfileRegistry.java
+++ /dev/null
@@ -1,433 +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.engine;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import javax.xml.parsers.ParserConfigurationException;
-import org.eclipse.equinox.internal.p2.engine.EngineActivator;
-import org.eclipse.equinox.internal.p2.engine.Messages;
-import org.eclipse.equinox.p2.core.eventbus.ProvisioningEventBus;
-import org.eclipse.equinox.p2.core.helpers.*;
-import org.eclipse.equinox.p2.core.location.AgentLocation;
-import org.eclipse.osgi.service.datalocation.Location;
-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.*;
-
-public class SimpleProfileRegistry implements IProfileRegistry {
-	private static String STORAGE = "profileRegistry.xml"; //$NON-NLS-1$
-
-	/**
-	 * Map of String(Profile id)->Profile. 
-	 */
-	private LinkedHashMap profiles = new LinkedHashMap(8);
-
-	private OrderedProperties properties = new OrderedProperties();
-
-	private String self;
-
-	public SimpleProfileRegistry() {
-		self = EngineActivator.getContext().getProperty("eclipse.p2.profile"); //$NON-NLS-1$
-		restore();
-		updateRoamingProfile();
-	}
-
-	/**
-	 * If the current profile for self is marked as a roaming profile, we need
-	 * to update its install and bundle pool locations.
-	 */
-	private void updateRoamingProfile() {
-		Profile selfProfile = getProfile(SELF);
-		if (selfProfile == null)
-			return;
-		//only update if self is a roaming profile
-		if (!Boolean.valueOf(selfProfile.getValue(Profile.PROP_ROAMING)).booleanValue())
-			return;
-		Location installLocation = (Location) ServiceHelper.getService(EngineActivator.getContext(), Location.class.getName(), Location.INSTALL_FILTER);
-		String locationString = installLocation.getURL().getPath();
-		boolean changed = false;
-		if (!locationString.equals(selfProfile.getValue(Profile.PROP_INSTALL_FOLDER))) {
-			selfProfile.setValue(Profile.PROP_INSTALL_FOLDER, locationString);
-			changed = true;
-		}
-		if (!locationString.equals(selfProfile.getValue(Profile.PROP_CACHE))) {
-			selfProfile.setValue(Profile.PROP_CACHE, locationString);
-			changed = true;
-		}
-		if (changed)
-			persist();
-	}
-
-	public String toString() {
-		return this.profiles.toString();
-	}
-
-	public Profile getProfile(String id) {
-		if (SELF.equals(id))
-			id = self;
-		return (Profile) profiles.get(id);
-	}
-
-	public Profile[] getProfiles() {
-		return (Profile[]) profiles.values().toArray(new Profile[profiles.size()]);
-	}
-
-	public void addProfile(Profile toAdd) throws IllegalArgumentException {
-		if (isNamedSelf(toAdd))
-			throw new IllegalArgumentException(NLS.bind(Messages.Profile_Not_Named_Self, toAdd.getProfileId()));
-		String id = toAdd.getProfileId();
-		if (getProfile(id) == null) {
-			profiles.put(id, toAdd);
-		} else
-			throw new IllegalArgumentException(NLS.bind(Messages.Profile_Duplicate_Profile_Id, id));
-		broadcastChangeEvent(toAdd, ProfileEvent.ADDED);
-		persist(); //TODO This is not enough to keep track of the changes that are being done in a profile. This will likely have to be based on some event like commit
-	}
-
-	private void broadcastChangeEvent(Profile profile, byte reason) {
-		((ProvisioningEventBus) ServiceHelper.getService(EngineActivator.getContext(), ProvisioningEventBus.class.getName())).publishEvent(new ProfileEvent(profile, reason));
-	}
-
-	private URL getRegistryLocation() {
-		AgentLocation agent = (AgentLocation) ServiceHelper.getService(EngineActivator.getContext(), AgentLocation.class.getName());
-		try {
-			return new URL(agent.getDataArea(EngineActivator.ID), STORAGE);
-		} catch (MalformedURLException e) {
-			//this is not possible because we know the above URL is valid
-		}
-		return null;
-	}
-
-	private void restore() {
-		try {
-			BufferedInputStream bif = null;
-			try {
-				bif = new BufferedInputStream(getRegistryLocation().openStream());
-				//				XStream xml = new XStream();
-				//				Object[] read = (Object[]) xml.fromXML(bif);
-				//				properties = (OrderedProperties) read[0];
-				//				profiles = (LinkedHashMap) read[1];
-
-				Parser parser = new Parser(EngineActivator.getContext(), EngineActivator.ID);
-				parser.parse(bif);
-			} finally {
-				if (bif != null)
-					bif.close();
-			}
-		} catch (FileNotFoundException e) {
-			//This is ok.
-		} catch (IOException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-	}
-
-	private void persist() {
-		OutputStream os;
-		try {
-			Location agent = (Location) ServiceHelper.getService(EngineActivator.getContext(), AgentLocation.class.getName());
-			if (agent == null)
-				// TODO should likely do something here since we failed to persist.
-				return;
-
-			URL registryLocation = getRegistryLocation();
-			if (!registryLocation.getProtocol().equals("file")) //$NON-NLS-1$
-				throw new IOException("Can't write profile registry at: " + registryLocation);
-
-			File outputFile = new File(registryLocation.toExternalForm().substring(5));
-			if (!outputFile.getParentFile().exists() && !outputFile.getParentFile().mkdirs())
-				throw new RuntimeException("Can't persist profile registry at: " + outputFile);
-			os = new BufferedOutputStream(new FileOutputStream(outputFile));
-			try {
-				//				XStream xstream = new XStream();
-				//				xstream.toXML(new Object[] {properties, profiles}, os);
-
-				Writer writer = new Writer(os);
-				writer.write(this);
-			} finally {
-				os.close();
-			}
-		} catch (FileNotFoundException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		} catch (IOException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-
-	}
-
-	public void removeProfile(Profile toRemove) {
-		if (isNamedSelf(toRemove))
-			throw new IllegalArgumentException(NLS.bind(Messages.Profile_Not_Named_Self, toRemove.getProfileId()));
-		if (profiles.remove(toRemove.getProfileId()) == null)
-			return;
-		broadcastChangeEvent(toRemove, ProfileEvent.REMOVED);
-		persist();
-	}
-
-	private boolean isNamedSelf(Profile p) {
-		if (SELF.equals(p.getParentProfile()))
-			return true;
-		return false;
-	}
-
-	public OrderedProperties getProperties() {
-		return properties;
-	}
-
-	public String getProperty(String key) {
-		return properties.getProperty(key);
-	}
-
-	public void setProperty(String key, String value) {
-		properties.setProperty(key, value);
-	}
-
-	public void removeProperty(String key) {
-		properties.remove(key);
-	}
-
-	private SimpleProfileRegistry getRegistry() {
-		return this;
-	}
-
-	private interface XMLConstants extends org.eclipse.equinox.p2.core.helpers.XMLConstants {
-
-		// Constants defining the structure of the XML for a SimpleProfileRegistry
-
-		// A format version number for simple profile registry XML.
-		public static final String XML_VERSION = "0.0.1"; //$NON-NLS-1$
-		public static final Version CURRENT_VERSION = new Version(XML_VERSION);
-		public static final VersionRange XML_TOLERANCE = new VersionRange(CURRENT_VERSION, true, CURRENT_VERSION, true);
-
-		// Constants for processing instructions
-		public static final String PI_REPOSITORY_TARGET = "profileRegistry"; //$NON-NLS-1$
-		public static XMLWriter.ProcessingInstruction[] PI_DEFAULTS = new XMLWriter.ProcessingInstruction[] {XMLWriter.ProcessingInstruction.makeClassVersionInstruction(PI_REPOSITORY_TARGET, SimpleProfileRegistry.class, CURRENT_VERSION)};
-
-		// Constants for profile registry elements
-		public static final String REGISTRY_ELEMENT = "profileRegistry"; //$NON-NLS-1$
-		public static final String PROFILES_ELEMENT = "profiles"; //$NON-NLS-1$
-		public static final String PROFILE_ELEMENT = "profile"; //$NON-NLS-1$
-
-	}
-
-	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(SimpleProfileRegistry registry) {
-			start(REGISTRY_ELEMENT);
-			writeProperties(registry.getProperties());
-			writeProfiles(registry.getProfiles());
-			end(REGISTRY_ELEMENT);
-			flush();
-		}
-
-		private void writeProfiles(Profile[] profyles) {
-			if (profyles.length > 0) {
-				start(PROFILES_ELEMENT);
-				attribute(COLLECTION_SIZE_ATTRIBUTE, profyles.length);
-				for (int i = 0; i < profyles.length; i++) {
-					start(PROFILE_ELEMENT);
-					attribute(ID_ATTRIBUTE, profyles[i].getProfileId());
-					writeProperties(profyles[i].getProperties());
-					end(PROFILE_ELEMENT);
-				}
-				end(PROFILES_ELEMENT);
-			}
-		}
-	}
-
-	/*
-	 * 	Parser for the contents of a SimpleProfileRegistry,
-	 * 	as written by the Writer class.
-	 */
-	private class Parser extends XMLParser implements XMLConstants {
-
-		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();
-				RegistryHandler registryHandler = new RegistryHandler();
-				xmlReader.setContentHandler(new ProfileRegistryDocHandler(REGISTRY_ELEMENT, registryHandler));
-				xmlReader.parse(new InputSource(stream));
-			} catch (SAXException e) {
-				throw new IOException(e.getMessage());
-			} catch (ParserConfigurationException e) {
-				throw new IOException(e.getMessage());
-			} finally {
-				stream.close();
-			}
-		}
-
-		public SimpleProfileRegistry getContainingRegistry() {
-			return getRegistry();
-		}
-
-		protected Object getRootObject() {
-			return getRegistry();
-		}
-
-		private final class ProfileRegistryDocHandler extends DocHandler {
-
-			public ProfileRegistryDocHandler(String rootName, RootHandler rootHandler) {
-				super(rootName, rootHandler);
-			}
-
-			public void ProcessingInstruction(String target, String data) throws SAXException {
-				if (PI_REPOSITORY_TARGET.equalsIgnoreCase(target)) {
-					// TODO: should the root handler be constructed based on class
-					// 		 via an extension registry mechanism?
-					// String clazz = extractPIClass(data);
-					// and
-					// TODO: version tolerance by extension
-					Version repositoryVersion = extractPIVersion(target, data);
-					if (!XML_TOLERANCE.isIncluded(repositoryVersion)) {
-						throw new SAXException(NLS.bind(Messages.SimpleProfileRegistry_Parser_Has_Incompatible_Version, repositoryVersion, XML_TOLERANCE));
-					}
-				}
-			}
-
-		}
-
-		private final class RegistryHandler extends RootHandler {
-
-			private ProfilesHandler profilesHandler = null;
-			private PropertiesHandler propertiesHandler = null;
-
-			public RegistryHandler() {
-				super();
-			}
-
-			protected void handleRootAttributes(Attributes attributes) {
-				parseRequiredAttributes(attributes, noAttributes);
-			}
-
-			public void startElement(String name, Attributes attributes) {
-				if (PROPERTIES_ELEMENT.equalsIgnoreCase(name)) {
-					if (propertiesHandler == null) {
-						propertiesHandler = new PropertiesHandler(this, attributes);
-					} else {
-						duplicateElement(this, name, attributes);
-					}
-				} else if (PROFILES_ELEMENT.equalsIgnoreCase(name)) {
-					if (profilesHandler == null) {
-						profilesHandler = new ProfilesHandler(this, attributes);
-					} else {
-						duplicateElement(this, name, attributes);
-					}
-				} else {
-					invalidElement(name, attributes);
-				}
-			}
-
-			protected void finished() {
-				if (isValidXML()) {
-					Profile[] profyles = (profilesHandler == null ? new Profile[0] //
-							: profilesHandler.getProfiles());
-					for (int i = 0; i < profyles.length; i++) {
-						Profile nextProfile = profyles[i];
-						profiles.put(nextProfile.getProfileId(), nextProfile);
-					}
-					properties = (propertiesHandler == null ? new OrderedProperties(0) //
-							: propertiesHandler.getProperties());
-				}
-			}
-		}
-
-		protected class ProfilesHandler extends AbstractHandler {
-
-			private List profyles;
-
-			public ProfilesHandler(AbstractHandler parentHandler, Attributes attributes) {
-				super(parentHandler, PROFILES_ELEMENT);
-				String size = parseOptionalAttribute(attributes, COLLECTION_SIZE_ATTRIBUTE);
-				profyles = (size != null ? new ArrayList(new Integer(size).intValue()) : new ArrayList(4));
-			}
-
-			public Profile[] getProfiles() {
-				return (Profile[]) profyles.toArray(new Profile[profyles.size()]);
-			}
-
-			public void startElement(String name, Attributes attributes) {
-				if (name.equalsIgnoreCase(PROFILE_ELEMENT)) {
-					new ProfileHandler(this, attributes, profyles);
-				} else {
-					invalidElement(name, attributes);
-				}
-			}
-		}
-
-		protected class ProfileHandler extends AbstractHandler {
-
-			private final String[] required = new String[] {ID_ATTRIBUTE};
-
-			List profyles = null;
-
-			private String profileId = null;
-
-			private PropertiesHandler propertiesHandler = null;
-
-			public ProfileHandler(AbstractHandler parentHandler, Attributes attributes, List profiles) {
-				super(parentHandler, PROFILE_ELEMENT);
-				profileId = parseRequiredAttributes(attributes, required)[0];
-				this.profyles = profiles;
-			}
-
-			public void startElement(String name, Attributes attributes) {
-				if (PROPERTIES_ELEMENT.equalsIgnoreCase(name)) {
-					if (propertiesHandler == null) {
-						propertiesHandler = new PropertiesHandler(this, attributes);
-					} else {
-						duplicateElement(this, name, attributes);
-					}
-				} else {
-					invalidElement(name, attributes);
-				}
-			}
-
-			protected void finished() {
-				if (isValidXML() && propertiesHandler != null && profileId != null) {
-					profyles.add(new Profile(profileId, propertiesHandler.getProperties()));
-				}
-			}
-		}
-
-		protected String getErrorMessage() {
-			return Messages.SimpleProfileRegistry_Parser_Error_Parsing_Registry;
-		}
-
-		public String toString() {
-			// TODO:
-			return null;
-		}
-
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/Touchpoint.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/Touchpoint.java
deleted file mode 100644
index 80e6322..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/Touchpoint.java
+++ /dev/null
@@ -1,42 +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.engine;
-
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.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, Profile profile, String phaseId, Map touchpointParameters) {
-		return Status.OK_STATUS;
-	}
-
-	public IStatus completePhase(IProgressMonitor monitor, Profile profile, String phaseId, Map touchpointParameters) {
-		return Status.OK_STATUS;
-	}
-
-	public IStatus initializeOperand(Profile profile, String phaseId, Operand operand, Map parameters) {
-		return Status.OK_STATUS;
-	}
-
-	public IStatus completeOperand(Profile profile, String phaseId, Operand operand, Map parameters) {
-		return Status.OK_STATUS;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/TransactionEvent.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/TransactionEvent.java
deleted file mode 100644
index 4f1fd25..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/TransactionEvent.java
+++ /dev/null
@@ -1,30 +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.engine;
-
-import java.util.EventObject;
-
-public abstract class TransactionEvent extends EventObject {
-	protected Profile profile;
-	protected PhaseSet phaseSet;
-	protected Operand[] deltas;
-
-	public TransactionEvent(Profile profile, PhaseSet phaseSet, Operand[] deltas, Engine engine) {
-		super(engine);
-		this.profile = profile;
-		this.phaseSet = phaseSet;
-		this.deltas = deltas;
-	}
-
-	public Profile getProfile() {
-		return profile;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/phases/Collect.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/phases/Collect.java
deleted file mode 100644
index faecdc7..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/phases/Collect.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.engine.phases;
-
-import java.util.*;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.p2.artifact.repository.IArtifactRequest;
-import org.eclipse.equinox.p2.download.DownloadManager;
-import org.eclipse.equinox.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 Phase {
-	private static final String PHASE_ID = "collect"; //$NON-NLS-1$
-
-	public Collect(int weight) {
-		super(PHASE_ID, weight, Messages.Engine_Collect_Phase);
-		//re-balance work since postPerform will do almost all the time-consuming work
-		prePerformWork = 0;
-		mainPerformWork = 100;
-		postPerformWork = 1000;
-	}
-
-	protected boolean isApplicable(Operand op) {
-		return (op.second() != null);
-	}
-
-	protected ProvisioningAction[] getActions(Operand currentOperand) {
-		//TODO: monitor.subTask(NLS.bind(Messages.Engine_Collecting_For_IU, unit.getId()));
-		ProvisioningAction action = getTouchpoint(currentOperand).getAction(phaseId);
-		return new ProvisioningAction[] {action};
-	}
-
-	protected IStatus completePhase(IProgressMonitor monitor, Profile profile, Map parameters) {
-		List artifactRequests = (List) parameters.get("artifactRequests");
-
-		DownloadManager dm = new DownloadManager();
-		for (Iterator it = artifactRequests.iterator(); it.hasNext();) {
-			IArtifactRequest[] requests = (IArtifactRequest[]) it.next();
-			dm.add(requests);
-		}
-		return dm.start(monitor);
-	}
-
-	protected IStatus initializePhase(IProgressMonitor monitor, Profile profile, Map parameters) {
-		parameters.put("artifactRequests", new ArrayList());
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/phases/Configure.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/phases/Configure.java
deleted file mode 100644
index cf0276e..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/phases/Configure.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.p2.engine.phases;
-
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.*;
-import org.eclipse.osgi.util.NLS;
-
-public class Configure extends Phase {
-
-	public Configure(int weight) {
-		super("configure", weight, Messages.Engine_Configure_Phase);
-	}
-
-	protected boolean isApplicable(Operand op) {
-		return (op.second() != null);
-	}
-
-	protected ProvisioningAction[] getActions(Operand currentOperand) {
-		//TODO: monitor.subTask(NLS.bind(Messages.Engine_Configuring_IU, unit.getId()));
-
-		IInstallableUnit unit = currentOperand.second();
-		if (unit.isFragment())
-			return null;
-
-		return getActions(unit, phaseId);
-	}
-
-	protected IStatus initializeOperand(Profile profile, Operand operand, Map parameters, IProgressMonitor monitor) {
-		IResolvedInstallableUnit iu = operand.second();
-		monitor.subTask(NLS.bind("Configuring {0}", iu.getId()));
-		parameters.put("iu", iu);
-
-		IArtifactKey[] artifacts = iu.getArtifacts();
-		if (artifacts != null && artifacts.length > 0)
-			parameters.put("artifact", artifacts[0]);
-
-		return Status.OK_STATUS;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/phases/Install.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/phases/Install.java
deleted file mode 100644
index cfee023..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/phases/Install.java
+++ /dev/null
@@ -1,106 +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.engine.phases;
-
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.engine.EngineActivator;
-import org.eclipse.equinox.p2.core.eventbus.ProvisioningEventBus;
-import org.eclipse.equinox.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.*;
-import org.eclipse.osgi.util.NLS;
-
-public class Install extends Phase {
-
-	final static class BeforeInstallEventAction extends ProvisioningAction {
-		public IStatus execute(Map parameters) {
-			Profile profile = (Profile) parameters.get("profile");
-			String phaseId = (String) parameters.get("phaseId");
-			Touchpoint touchpoint = (Touchpoint) parameters.get("touchpoint");
-			Operand operand = (Operand) parameters.get("operand");
-			((ProvisioningEventBus) ServiceHelper.getService(EngineActivator.getContext(), ProvisioningEventBus.class.getName())).publishEvent(new InstallableUnitEvent(phaseId, true, profile, operand, InstallableUnitEvent.INSTALL, touchpoint));
-			return null;
-		}
-
-		public IStatus undo(Map parameters) {
-			Profile profile = (Profile) parameters.get("profile");
-			String phaseId = (String) parameters.get("phaseId");
-			Touchpoint touchpoint = (Touchpoint) parameters.get("touchpoint");
-			Operand operand = (Operand) parameters.get("operand");
-			((ProvisioningEventBus) ServiceHelper.getService(EngineActivator.getContext(), ProvisioningEventBus.class.getName())).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("profile");
-			String phaseId = (String) parameters.get("phaseId");
-			Touchpoint touchpoint = (Touchpoint) parameters.get("touchpoint");
-			Operand operand = (Operand) parameters.get("operand");
-			((ProvisioningEventBus) ServiceHelper.getService(EngineActivator.getContext(), ProvisioningEventBus.class.getName())).publishEvent(new InstallableUnitEvent(phaseId, false, profile, operand, InstallableUnitEvent.INSTALL, touchpoint));
-			return null;
-		}
-
-		public IStatus undo(Map parameters) {
-			Profile profile = (Profile) parameters.get("profile");
-			String phaseId = (String) parameters.get("phaseId");
-			Touchpoint touchpoint = (Touchpoint) parameters.get("touchpoint");
-			Operand operand = (Operand) parameters.get("operand");
-			((ProvisioningEventBus) ServiceHelper.getService(EngineActivator.getContext(), ProvisioningEventBus.class.getName())).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, Messages.Engine_Install_Phase);
-	}
-
-	protected boolean isApplicable(Operand op) {
-		return (op.second() != null);
-	}
-
-	protected ProvisioningAction[] getActions(Operand 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 IStatus initializeOperand(Profile profile, Operand operand, Map parameters, IProgressMonitor monitor) {
-		IResolvedInstallableUnit iu = operand.second();
-		monitor.subTask(NLS.bind("Installing {0}", iu.getId()));
-		parameters.put("iu", iu);
-
-		IArtifactKey[] artifacts = iu.getArtifacts();
-		if (artifacts != null && artifacts.length > 0)
-			parameters.put("artifact", artifacts[0]);
-
-		return Status.OK_STATUS;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/phases/Messages.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/phases/Messages.java
deleted file mode 100644
index 5d1f05a..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/phases/Messages.java
+++ /dev/null
@@ -1,35 +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.engine.phases;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.equinox.p2.engine.phases.messages"; //$NON-NLS-1$
-
-	static {
-		// initialize resource bundles
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-		// Do not instantiate
-	}
-
-	public static String Engine_Collect_Phase;
-	public static String Engine_Collecting_For_IU;
-	public static String Engine_Install_Phase;
-	public static String Engine_Installing_IU;
-	public static String Engine_Uninstall_Phase;
-	public static String Engine_Uninstalling_IU;
-	public static String Engine_Configure_Phase;
-	public static String Engine_Unconfigure_Phase;
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/phases/Sizing.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/phases/Sizing.java
deleted file mode 100644
index 2ad4cb7..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/phases/Sizing.java
+++ /dev/null
@@ -1,84 +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.engine.phases;
-
-import java.util.*;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.engine.EngineActivator;
-import org.eclipse.equinox.p2.artifact.repository.*;
-import org.eclipse.equinox.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.p2.engine.*;
-
-public class Sizing extends Phase {
-	private static final String TP_DATA = "collect"; //$NON-NLS-1$
-
-	private long sizeOnDisk;
-	private long dlSize;
-
-	public Sizing(int weight, String phaseName) {
-		super(TP_DATA, weight, phaseName);
-	}
-
-	protected boolean isApplicable(Operand op) {
-		return (op.second() != null);
-	}
-
-	public long getDiskSize() {
-		return sizeOnDisk;
-	}
-
-	public long getDlSize() {
-		return dlSize;
-	}
-
-	protected ProvisioningAction[] getActions(Operand currentOperand) {
-		ProvisioningAction action = getTouchpoint(currentOperand).getAction("collect");
-		return new ProvisioningAction[] {action};
-	}
-
-	protected IStatus completePhase(IProgressMonitor monitor, Profile profile, Map parameters) {
-		List artifactRequests = (List) parameters.get("artifactRequests");
-		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]);
-			}
-		}
-
-		IArtifactRepositoryManager repoMgr = (IArtifactRepositoryManager) ServiceHelper.getService(EngineActivator.getContext(), IArtifactRepositoryManager.class.getName());
-		IArtifactRepository[] repositories = repoMgr.getKnownRepositories();
-
-		for (Iterator iterator = artifactsToObtain.iterator(); iterator.hasNext();) {
-			IArtifactRequest artifactRequest = (IArtifactRequest) iterator.next();
-			for (int i = 0; i < repositories.length; i++) {
-				IArtifactDescriptor[] descriptors = repositories[i].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 initializePhase(IProgressMonitor monitor, Profile profile, Map parameters) {
-		parameters.put("artifactRequests", new ArrayList());
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/phases/Unconfigure.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/phases/Unconfigure.java
deleted file mode 100644
index f2754bd..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/phases/Unconfigure.java
+++ /dev/null
@@ -1,46 +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.engine.phases;
-
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.*;
-
-public class Unconfigure extends Phase {
-
-	public Unconfigure(int weight) {
-		super("unconfigure", weight, Messages.Engine_Unconfigure_Phase);
-	}
-
-	protected boolean isApplicable(Operand op) {
-		return (op.first() != null);
-	}
-
-	protected ProvisioningAction[] getActions(Operand 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 IStatus initializeOperand(Profile profile, Operand operand, Map parameters, IProgressMonitor monitor) {
-		IResolvedInstallableUnit iu = operand.first();
-		parameters.put("iu", iu);
-
-		IArtifactKey[] artifacts = iu.getArtifacts();
-		if (artifacts != null && artifacts.length > 0)
-			parameters.put("artifact", artifacts[0]);
-
-		return Status.OK_STATUS;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/phases/Uninstall.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/phases/Uninstall.java
deleted file mode 100644
index addebfc..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/phases/Uninstall.java
+++ /dev/null
@@ -1,103 +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.engine.phases;
-
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.engine.EngineActivator;
-import org.eclipse.equinox.p2.core.eventbus.ProvisioningEventBus;
-import org.eclipse.equinox.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.*;
-
-public class Uninstall extends Phase {
-
-	final static class BeforeUninstallEventAction extends ProvisioningAction {
-		public IStatus execute(Map parameters) {
-			Profile profile = (Profile) parameters.get("profile");
-			String phaseId = (String) parameters.get("phaseId");
-			Touchpoint touchpoint = (Touchpoint) parameters.get("touchpoint");
-			Operand operand = (Operand) parameters.get("operand");
-			((ProvisioningEventBus) ServiceHelper.getService(EngineActivator.getContext(), ProvisioningEventBus.class.getName())).publishEvent(new InstallableUnitEvent(phaseId, true, profile, operand, InstallableUnitEvent.UNINSTALL, touchpoint));
-			return null;
-		}
-
-		public IStatus undo(Map parameters) {
-			Profile profile = (Profile) parameters.get("profile");
-			String phaseId = (String) parameters.get("phaseId");
-			Touchpoint touchpoint = (Touchpoint) parameters.get("touchpoint");
-			Operand operand = (Operand) parameters.get("operand");
-			((ProvisioningEventBus) ServiceHelper.getService(EngineActivator.getContext(), ProvisioningEventBus.class.getName())).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("profile");
-			String phaseId = (String) parameters.get("phaseId");
-			Touchpoint touchpoint = (Touchpoint) parameters.get("touchpoint");
-			Operand operand = (Operand) parameters.get("operand");
-			((ProvisioningEventBus) ServiceHelper.getService(EngineActivator.getContext(), ProvisioningEventBus.class.getName())).publishEvent(new InstallableUnitEvent(phaseId, false, profile, operand, InstallableUnitEvent.UNINSTALL, touchpoint));
-			return null;
-		}
-
-		public IStatus undo(Map parameters) {
-			Profile profile = (Profile) parameters.get("profile");
-			String phaseId = (String) parameters.get("phaseId");
-			Touchpoint touchpoint = (Touchpoint) parameters.get("touchpoint");
-			Operand operand = (Operand) parameters.get("operand");
-			((ProvisioningEventBus) ServiceHelper.getService(EngineActivator.getContext(), ProvisioningEventBus.class.getName())).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, Messages.Engine_Uninstall_Phase);
-	}
-
-	protected boolean isApplicable(Operand op) {
-		return (op.first() != null);
-	}
-
-	protected ProvisioningAction[] getActions(Operand 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 IStatus initializeOperand(Profile profile, Operand operand, Map parameters, IProgressMonitor monitor) {
-		IResolvedInstallableUnit iu = operand.first();
-		parameters.put("iu", iu);
-
-		IArtifactKey[] artifacts = iu.getArtifacts();
-		if (artifacts != null && artifacts.length > 0)
-			parameters.put("artifact", artifacts[0]);
-
-		return Status.OK_STATUS;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/phases/messages.properties b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/phases/messages.properties
deleted file mode 100644
index bf33f4f..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/phases/messages.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
-###############################################################################
-
-Engine_Collect_Phase=collect
-Engine_Install_Phase=install
-Engine_Uninstall_Phase=uninstall
-Engine_Configure_Phase=configure
-Engine_Unconfigure_Phase=unconfigure
-Engine_Collecting_For_IU=Collecting for {0}
-Engine_Installing_IU=Installing {0}
-Engine_Uninstalling_IU=Uninstalling {0}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/installregistry/IInstallRegistry.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/installregistry/IInstallRegistry.java
deleted file mode 100644
index bf5b6b4..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/installregistry/IInstallRegistry.java
+++ /dev/null
@@ -1,171 +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.installregistry;
-
-import java.util.Collection;
-import org.eclipse.equinox.p2.engine.Profile;
-
-public interface IInstallRegistry {
-
-	/**
-	 * Save the registry as XML.  If exception is thrown, no change was made.
-	 */
-	//	public void saveXML() throws IOException {
-	//		checkMetadata();
-	//		File xmlFile = getLocation();
-	//		plog.start(plog.debug("Saving {0}", xmlFile)); //$NON-NLS-1$
-	//		if (isEmpty()) { // delete when empty
-	//			xmlFile.delete();
-	//			if (xmlFile.exists()) {
-	//				throw new IOException(NLS.bind(Messages.InstallRegistry_Failed_To_Delete_Install_Registry, xmlFile));
-	//			}
-	//		} else {
-	//			new FileUtil.SafeUpdate(xmlFile) {
-	//				public void write(FileOutputStream stream) throws IOException {
-	//					XMLWriter writer = new XMLWriter(stream, XML.getProcessingInstruction());
-	//					XML.write(writer);
-	//					writer.flush();
-	//					stream.getFD().sync();
-	//					writer.close();
-	//				}
-	//			}.write();
-	//		}
-	//		plog.stop();
-	//	}
-	//	private static class XML implements InstallRegistryXML {
-	//		public static XMLWriter.ProcessingInstruction getProcessingInstruction() {
-	//			return new XMLWriter.ProcessingInstruction(PI.INSTALL_REGISTRY, MetaInfo.formatVersion(MetaInfo.INSTALL_REGISTRY_VERSION));
-	//		}
-	//
-	//		public static void write(XMLWriter writer) {
-	//			InstallRegistry ir = InstallRegistry.getInstance();
-	//			writer.start(Elements.INSTALL_REGISTRY);
-	//			writer.write(ir.profileRegistry.getProperties());
-	//			for (Iterator i = ir.getProfileInstallRegistries().iterator(); i.hasNext();) {
-	//				ProfileInstallRegistry registry = (ProfileInstallRegistry) i.next();
-	//				if (!registry.isEmpty()) {
-	//					writer.start(Elements.PROFILE);
-	//					Profile profile = registry.getProfile();
-	//					writer.attribute(Attrs.ID, profile.getProfileId());
-	//					writer.attribute(Attrs.KIND, profile.getProfileKind());
-	//					writer.writeProperty(Profile.INSTALL_LOCATION, profile.getInstallLocation());
-	//					writer.write(profile.getAllData());
-	//					InstallContext rootContext = profile.getRootContext();
-	//					if (rootContext != null) {
-	//						write(writer, rootContext);
-	//					}
-	//					registry.emitXML(writer);
-	//					writer.end(Elements.PROFILE);
-	//				}
-	//			}
-	//			writer.end(Elements.INSTALL_REGISTRY);
-	//		}
-	//
-	//		private static void write(XMLWriter writer, InstallContext installContext) {
-	//			writer.start(Elements.INSTALL_CONTEXT);
-	//			writer.attribute(Attrs.ID, installContext.getId());
-	//			writer.attribute(Attrs.NAME, installContext.getName());
-	//			writer.attribute(Attrs.DESCRIPTION, installContext.getDescription());
-	//			writer.attribute(Attrs.SHAREABLE, installContext.isShareable(), true);
-	//			writer.attribute(Attrs.QUALIFIABLE, installContext.isQualifiable(), false);
-	//			InstallationContextScope scope = installContext.getScope();
-	//			if (scope != InstallationContextScope.NONE_SCOPE) {
-	//				writer.attribute(Attrs.SCOPE, scope.getName());
-	//			}
-	//			writer.write(installContext.getLocalProperties());
-	//			String[] adapterTypes = installContext.getAdaptorTypes();
-	//			for (int i = 0; i < adapterTypes.length; i += 1) {
-	//				writer.start(Elements.ADAPTER);
-	//				writer.attribute(Attrs.TYPE, adapterTypes[i]);
-	//				writer.end();
-	//			}
-	//			InstallContext[] subcontexts = installContext.getSubcontexts();
-	//			for (int i = 0; i < subcontexts.length; i += 1) {
-	//				write(writer, subcontexts[i]);
-	//			}
-	//			writer.end(Elements.INSTALL_CONTEXT);
-	//		}
-	//	}
-	//	/**
-	//	 * The file of the install registry.
-	//	 */
-	//	public File getLocation() {
-	//		return this.location;
-	//	}
-	//	// The location of the old install registry directory.
-	//	// This is where the metadata is still stored.
-	//	private File getLegacyLocation(String subdir) {
-	//		String path = getLocation().getPath();
-	//		if (path.endsWith(CommonDef.Extensions.Xml)) {
-	//			path = path.substring(0, path.length() - CommonDef.Extensions.Xml.length());
-	//		} else {
-	//			path += ".dir"; //$NON-NLS-1$
-	//		}
-	//		return new File(path, subdir);
-	//	}
-	public abstract IProfileInstallRegistry getProfileInstallRegistry(Profile profile);
-
-	/**
-	 * Open the install registry.  It must be open before any operations can be performed.
-	 */
-	//	public void open() throws IOException {
-	//		//		openFile(Agent.getInstance().getInstallRegistryLocation());
-	//	}
-	//
-	//	// This form is for AbstractAgentTestCase because the preferences aren't set correctly
-	//	// when it needs the install registry.
-	//	public void open(File dir) throws IOException {
-	//		openFile(new File(dir, Agent.FILENAME_INSTALL_REGISTRY));
-	//	}
-	//
-	//	private void openFile(File file) throws IOException {
-	//		if (isOpen()) {
-	//			throw new InstallRegistryException(Messages2.InstallRegistry_Install_Registry_Is_Already_Open);
-	//		}
-	//		this.location = file;
-	//		if (this.location.isDirectory()) {
-	//			throw new InstallRegistryException(NLS.bind(Messages2.InstallRegistry_Install_Registry_Exists_And_Is_A_Directory, this.location));
-	//		} else if (!this.location.exists()) {
-	//			// verify we can write it
-	//			this.location.getParentFile().mkdirs();
-	//			new FileOutputStream(this.location).close();
-	//			this.location.delete();
-	//		}
-	//
-	//		// TODO: move to cache
-	//		File metadataDir = getLegacyLocation(METADATA_DIR);
-	//		try {
-	//			this.metadataRepo = StandardRepository.create(this.installedMetadata.getRepositoryGroup(), metadataDir);
-	//		} catch (RuntimeException e) {
-	//			// report error below
-	//		}
-	//		if (this.metadataRepo == null) {
-	//			throw new InstallRegistryException(NLS.bind(Messages.InstallRegistry_Failed_To_Create_Install_Registry_Repo, metadataDir));
-	//		}
-	//		this.metadataRepo.setOpen(true);
-	//		load();
-	//		checkMetadata();
-	//	}
-	//
-	//	public void close() {
-	//		this.installedMetadata.getRepositoryGroup().removeRepository(this.metadataRepo);
-	//		this.metadataRepo = null;
-	//		if (isEmpty()) {
-	//			purge();
-	//		}
-	//	}
-	//	public void purge() {
-	//		getLocation().delete();
-	//		FileUtil.rm_r(getLegacyLocation(""), /*removeRoot*/true); //$NON-NLS-1$
-	//	}
-	public abstract Collection getProfileInstallRegistries();
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/installregistry/IProfileInstallRegistry.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/installregistry/IProfileInstallRegistry.java
deleted file mode 100644
index e0b778a..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/installregistry/IProfileInstallRegistry.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.installregistry;
-
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-public interface IProfileInstallRegistry {
-
-	public IInstallableUnit[] getInstallableUnits();
-
-	public IInstallableUnit getInstallableUnit(String id, String version);
-
-	public void addInstallableUnits(IInstallableUnit toAdd);
-
-	public void removeInstallableUnits(IInstallableUnit toRemove);
-
-	public String getProfileId();
-
-	public String getInstallableUnitProfileProperty(IInstallableUnit iu, String key);
-
-	public String setInstallableUnitProfileProperty(IInstallableUnit iu, String key, String value);
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/installregistry/InstallRegistry.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/installregistry/InstallRegistry.java
deleted file mode 100644
index 4db1418..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/installregistry/InstallRegistry.java
+++ /dev/null
@@ -1,1216 +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.installregistry;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import javax.xml.parsers.ParserConfigurationException;
-import org.eclipse.equinox.internal.p2.engine.EngineActivator;
-import org.eclipse.equinox.internal.p2.engine.Messages;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.p2.core.eventbus.ProvisioningEventBus;
-import org.eclipse.equinox.p2.core.eventbus.SynchronousProvisioningListener;
-import org.eclipse.equinox.p2.core.helpers.*;
-import org.eclipse.equinox.p2.core.location.AgentLocation;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.*;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.*;
-import org.xml.sax.*;
-
-public class InstallRegistry implements IInstallRegistry {
-	private static String STORAGE = "installRegistry.xml"; //$NON-NLS-1$
-
-	// what is installed in each profile
-	private Map profileRegistries = new LinkedHashMap(); // Profile id -> ProfileInstallRegistry
-	//	private ProfileRegistry profileRegistry; // the corresponding ProfileRegistry
-	//	private File location; // XML file containing install registry
-	//	private IRepository metadataRepo;
-	//	private final MetadataCache installedMetadata = new MetadataCache(
-	//            new RepositoryGroup("InstallRegistry"), //$NON-NLS-1$
-	//            MetadataCache.POLICY_NONE);
-
-	private transient ServiceReference busReference;
-	private transient ProvisioningEventBus bus;
-
-	public InstallRegistry() {
-		busReference = EngineActivator.getContext().getServiceReference(ProvisioningEventBus.class.getName());
-		bus = (ProvisioningEventBus) EngineActivator.getContext().getService(busReference);
-		restore();
-		bus.addListener(new SynchronousProvisioningListener() {
-			public void notify(EventObject o) {
-				if (o instanceof InstallableUnitEvent) {
-					InstallableUnitEvent event = (InstallableUnitEvent) o;
-					if (event.isPre() || !event.getResult().isOK())
-						return;
-					IProfileInstallRegistry registry = getProfileInstallRegistry(event.getProfile());
-					if (event.isInstall() && event.getOperand().second() != null) {
-						registry.addInstallableUnits(event.getOperand().second().getOriginal());
-					} else if (event.isUninstall() && event.getOperand().first() != null) {
-						IInstallableUnit original = event.getOperand().first().getOriginal();
-						String value = registry.getInstallableUnitProfileProperty(original, IInstallableUnitConstants.PROFILE_ROOT_IU);
-						boolean isRoot = value != null && value.equals(Boolean.toString(true));
-						registry.removeInstallableUnits(original);
-						// TODO this is odd because I'm setting up a property for something
-						// not yet installed in the registry.  The implementation allows it and
-						// the assumption is that the second operand will get installed or else 
-						// this change will never be committed.  The alternative is to remember
-						// a transitory root value that we set when the install is received.
-						// The ideal solution is that this is handled in a profile delta by
-						// the engine.
-						// https://bugs.eclipse.org/bugs/show_bug.cgi?id=206077 
-						if (isRoot && event.getOperand().second() != null) {
-							registry.setInstallableUnitProfileProperty(event.getOperand().second().getOriginal(), IInstallableUnitConstants.PROFILE_ROOT_IU, Boolean.toString(true));
-						}
-					}
-				} else if (o instanceof CommitOperationEvent) {
-					persist();
-					return;
-				} else if (o instanceof RollbackOperationEvent) {
-					restore();
-					return;
-				} else if (o instanceof ProfileEvent) {
-					ProfileEvent pe = (ProfileEvent) o;
-					if (pe.getReason() == ProfileEvent.REMOVED) {
-						profileRegistries.remove(pe.getProfile().getProfileId());
-						persist();
-					} else if (pe.getReason() == ProfileEvent.CHANGED) {
-						// see https://bugs.eclipse.org/bugs/show_bug.cgi?id=197701
-						persist();
-					}
-				}
-			}
-		});
-	}
-
-	private void persist() {
-		try {
-			BufferedOutputStream bof = null;
-			try {
-				URL registryLocation = getRegistryLocation();
-				if (!registryLocation.getProtocol().equals("file")) //$NON-NLS-1$
-					throw new IOException("Can't write install registry at: " + registryLocation);
-				File outputFile = new File(registryLocation.toExternalForm().substring(5));
-				if (!outputFile.getParentFile().exists() && !outputFile.getParentFile().mkdirs())
-					throw new RuntimeException("Can't persist profile registry");
-				bof = new BufferedOutputStream(new FileOutputStream(outputFile, false));
-				//new XStream().toXML(profileRegistries, bof);
-				Writer writer = new Writer(bof);
-				writer.write(this);
-			} finally {
-				if (bof != null)
-					bof.close();
-			}
-		} catch (FileNotFoundException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		} catch (IOException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-	}
-
-	private void restore() {
-		try {
-			BufferedInputStream bif = null;
-			try {
-				bif = new BufferedInputStream(getRegistryLocation().openStream());
-				// profileRegistries = (HashMap) new XStream().fromXML(bif);
-				Parser parser = new Parser(EngineActivator.getContext(), EngineActivator.ID);
-				parser.parse(bif);
-				profileRegistries = parser.getProfileInstallRegistries();
-			} finally {
-				if (bif != null)
-					bif.close();
-			}
-		} catch (FileNotFoundException e) {
-			//This is ok.
-		} catch (IOException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-	}
-
-	public IProfileInstallRegistry getProfileInstallRegistry(Profile profile) {
-		String profileId = profile.getProfileId();
-		IProfileInstallRegistry result = (IProfileInstallRegistry) this.profileRegistries.get(profileId);
-		if (result == null) {
-			result = new ProfileInstallRegistry(profileId);
-			this.profileRegistries.put(profileId, result);
-		}
-		return result;
-	}
-
-	public Collection getProfileInstallRegistries() {
-		return this.profileRegistries.values();
-	}
-
-	public InstallRegistry getInstallRegistry() {
-		return this;
-	}
-
-	private URL getRegistryLocation() {
-		AgentLocation agent = (AgentLocation) ServiceHelper.getService(EngineActivator.getContext(), AgentLocation.class.getName());
-		try {
-			return new URL(agent.getDataArea(EngineActivator.ID), STORAGE);
-		} catch (MalformedURLException e) {
-			//this is not possible because we know the above URL is valid
-		}
-		return null;
-	}
-
-	protected class IUIdentity {
-
-		private String id;
-		private Version version;
-
-		public IUIdentity(String id, Version version) {
-			this.id = (id != null ? id : ""); //$NON-NLS-1$
-			this.version = (version != null ? version : Version.emptyVersion);
-		}
-
-		public IUIdentity(IInstallableUnit iu) {
-			this(iu.getId(), iu.getVersion());
-		}
-
-		public String toString() {
-			return id + ' ' + version;
-		}
-
-		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 equals(Object obj) {
-			final IUIdentity objAsIdentity = //
-			(obj instanceof IUIdentity ? (IUIdentity) obj : null);
-			if (objAsIdentity != null) {
-				return this.id.equals(objAsIdentity.id) && this.version.equals(objAsIdentity.version);
-			}
-			return false;
-		}
-	}
-
-	/**
-	 * Install registry for a single profile.
-	 */
-	public class ProfileInstallRegistry implements IProfileInstallRegistry {
-		private String profileId; // id profile this data applies to
-		private Set installableUnits; //id 
-		private Map iuPropertiesMap; // iu->OrderedProperties
-
-		public ProfileInstallRegistry(String profileId) {
-			this.profileId = profileId;
-			this.installableUnits = new LinkedHashSet();
-			this.iuPropertiesMap = new LinkedHashMap();
-		}
-
-		protected ProfileInstallRegistry(String profileId, IInstallableUnit[] units, Map iuPropertiesMap) {
-			this.profileId = profileId;
-			this.installableUnits = new LinkedHashSet(units.length);
-			this.iuPropertiesMap = new LinkedHashMap(iuPropertiesMap.size());
-			addInstallableUnits(units);
-			this.iuPropertiesMap.putAll(iuPropertiesMap);
-		}
-
-		public IInstallableUnit[] getInstallableUnits() {
-			IInstallableUnit[] result = new IInstallableUnit[installableUnits.size()];
-			return (IInstallableUnit[]) installableUnits.toArray(result);
-		}
-
-		public void addInstallableUnits(IInstallableUnit toAdd) {
-			installableUnits.add(toAdd);
-		}
-
-		public void addInstallableUnits(IInstallableUnit[] toAdd) {
-			for (int i = 0; i < toAdd.length; i++) {
-				installableUnits.add(toAdd[i]);
-			}
-		}
-
-		public void removeInstallableUnits(IInstallableUnit toRemove) {
-			installableUnits.remove(toRemove);
-			iuPropertiesMap.remove(new IUIdentity(toRemove));
-		}
-
-		public String getProfileId() {
-			return profileId;
-		}
-
-		public IInstallableUnit getInstallableUnit(String id, String version) {
-			for (Iterator i = installableUnits.iterator(); i.hasNext();) {
-				IInstallableUnit iu = (IInstallableUnit) i.next();
-				if (iu.getId().equals(id) && iu.getVersion().equals(new Version(version)))
-					return iu;
-			}
-			return null;
-		}
-
-		public String getInstallableUnitProfileProperty(IInstallableUnit toGet, String key) {
-			OrderedProperties properties = getInstallableUnitProfileProperties(toGet);
-			return properties.getProperty(key);
-		}
-
-		public String setInstallableUnitProfileProperty(IInstallableUnit toSet, String key, String value) {
-			OrderedProperties properties = getInstallableUnitProfileProperties(toSet);
-			return (String) properties.setProperty(key, value);
-		}
-
-		private OrderedProperties getInstallableUnitProfileProperties(IInstallableUnit toGet) {
-			OrderedProperties properties = (OrderedProperties) iuPropertiesMap.get(new IUIdentity(toGet));
-			if (properties == null) {
-				properties = new OrderedProperties();
-				iuPropertiesMap.put(new IUIdentity(toGet), properties);
-			}
-			return properties;
-		}
-
-		public Map getIUIdentityToPropertiesMap() {
-			return Collections.unmodifiableMap(iuPropertiesMap);
-		}
-	}
-
-	private interface XMLConstants extends org.eclipse.equinox.p2.core.helpers.XMLConstants {
-
-		// Constants defining the structure of the XML for a SimpleProfileRegistry
-
-		// A format version number for install registry XML.
-		public static final String XML_VERSION = "0.0.1"; //$NON-NLS-1$
-		public static final Version CURRENT_VERSION = new Version(XML_VERSION);
-		public static final VersionRange XML_TOLERANCE = new VersionRange(CURRENT_VERSION, true, CURRENT_VERSION, true);
-
-		// Constants for processing instructions
-		public static final String PI_REPOSITORY_TARGET = "installRegistry"; //$NON-NLS-1$
-		public static XMLWriter.ProcessingInstruction[] PI_DEFAULTS = new XMLWriter.ProcessingInstruction[] {XMLWriter.ProcessingInstruction.makeClassVersionInstruction(PI_REPOSITORY_TARGET, SimpleProfileRegistry.class, CURRENT_VERSION)};
-
-		// Constants for install registry elements
-		public static final String INSTALL_REGISTRY_ELEMENT = "installRegistry"; //$NON-NLS-1$
-		public static final String PROFILE_INSTALL_REGISTRIES_ELEMENT = "profiles"; //$NON-NLS-1$
-		public static final String PROFILE_INSTALL_REGISTRY_ELEMENT = "profile"; //$NON-NLS-1$
-		public static final String INSTALLABLE_UNITS_ELEMENT = "units"; //$NON-NLS-1$
-		public static final String INSTALLABLE_UNIT_ELEMENT = "unit"; //$NON-NLS-1$
-		public static final String IUS_PROPERTIES_ELEMENT = "iusPropertiesMap"; //$NON-NLS-1$
-		public static final String IU_PROPERTIES_ELEMENT = "iusProperties"; //$NON-NLS-1$
-
-		// Constants for attributes of an profile install registry element
-		public static final String PROFILE_ID_ATTRIBUTE = "profileId"; //$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 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 APPLICABILITY_FILTER_ELEMENT = "applicability"; //$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 attributes of a fragment installable unit element
-		public static final String FRAGMENT_HOST_ID_ATTRIBUTE = "hostId"; //$NON-NLS-1$
-		public static final String FRAGMENT_HOST_RANGE_ATTRIBUTE = "hostRange"; //$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$
-
-		// Constants for attributes of an artifact key element
-		public static final String ARTIFACT_KEY_NAMESPACE_ATTRIBUTE = NAMESPACE_ATTRIBUTE;
-		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$
-
-	}
-
-	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(InstallRegistry istregistryry) {
-			start(INSTALL_REGISTRY_ELEMENT);
-			writeProfileRegistries(istregistryry.profileRegistries);
-			end(INSTALL_REGISTRY_ELEMENT);
-			flush();
-		}
-
-		private void writeProfileRegistries(Map profileRegistries) {
-			if (profileRegistries.size() > 0) {
-				start(PROFILE_INSTALL_REGISTRIES_ELEMENT);
-				attribute(COLLECTION_SIZE_ATTRIBUTE, profileRegistries.size());
-				for (Iterator iter = profileRegistries.keySet().iterator(); iter.hasNext();) {
-					String nextProfileId = (String) iter.next();
-					ProfileInstallRegistry nextProfileRegistry = (ProfileInstallRegistry) profileRegistries.get(nextProfileId);
-					writeProfileRegistry(nextProfileId, nextProfileRegistry);
-				}
-				end(PROFILE_INSTALL_REGISTRIES_ELEMENT);
-			}
-		}
-
-		private void writeProfileRegistry(String profileId, ProfileInstallRegistry profileRegistry) {
-			start(PROFILE_INSTALL_REGISTRY_ELEMENT);
-			attribute(PROFILE_ID_ATTRIBUTE, profileId);
-			Set ius = profileRegistry.installableUnits;
-			writeInstallableUnits((IInstallableUnit[]) ius.toArray(new IInstallableUnit[ius.size()]));
-			writeIUPropertyMap(profileRegistry.getIUIdentityToPropertiesMap());
-			end(PROFILE_INSTALL_REGISTRY_ELEMENT);
-		}
-
-		private void writeIUPropertyMap(Map iuPropertiesMap) {
-			if (iuPropertiesMap.size() > 0) {
-				start(IUS_PROPERTIES_ELEMENT);
-				attribute(COLLECTION_SIZE_ATTRIBUTE, iuPropertiesMap.size());
-				for (Iterator iter = iuPropertiesMap.keySet().iterator(); iter.hasNext();) {
-					IUIdentity nextIdentity = (IUIdentity) iter.next();
-					OrderedProperties properties = (OrderedProperties) iuPropertiesMap.get(nextIdentity);
-					start(IU_PROPERTIES_ELEMENT);
-					attribute(ID_ATTRIBUTE, nextIdentity.id);
-					attribute(VERSION_ATTRIBUTE, nextIdentity.version);
-					writeProperties(properties);
-					end(IU_PROPERTIES_ELEMENT);
-				}
-				end(IUS_PROPERTIES_ELEMENT);
-			}
-		}
-
-		// TODO: below is a LOT of code duplicated for MetadataRepositoryIO for writing
-		//		 installable units. Need to figure out a cleanway to declare handlers
-		//		 which do not depend on the context of an outer declaring Parser class,
-		//		 so that handlers may be reused in different parsing contexts.
-		private void writeInstallableUnits(IInstallableUnit[] installableUnits) {
-			if (installableUnits.length > 0) {
-				start(INSTALLABLE_UNITS_ELEMENT);
-				attribute(COLLECTION_SIZE_ATTRIBUTE, installableUnits.length);
-				for (int i = 0; i < installableUnits.length; i++) {
-					writeInstallableUnit(installableUnits[i]);
-				}
-				end(INSTALLABLE_UNITS_ELEMENT);
-			}
-		}
-
-		private void writeInstallableUnit(IInstallableUnit resolvedIU) {
-			IInstallableUnit iu = (!(resolvedIU instanceof IResolvedInstallableUnit) ? resolvedIU//
-					: ((IResolvedInstallableUnit) resolvedIU).getOriginal());
-			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;
-				attribute(FRAGMENT_HOST_ID_ATTRIBUTE, fragment.getHostId());
-				attribute(FRAGMENT_HOST_RANGE_ATTRIBUTE, fragment.getHostVersionRange());
-			}
-
-			writeProperties(iu.getProperties());
-			writeProvidedCapabilities(iu.getProvidedCapabilities());
-			writeRequiredCapabilities(iu.getRequiredCapabilities());
-			writeTrimmedCdata(IU_FILTER_ELEMENT, iu.getFilter());
-			writeTrimmedCdata(APPLICABILITY_FILTER_ELEMENT, iu.getApplicabilityFilter());
-
-			writeArtifactKeys(iu.getArtifacts());
-			writeTouchpointType(iu.getTouchpointType());
-			writeTouchpointData(iu.getTouchpointData());
-
-			end(INSTALLABLE_UNIT_ELEMENT);
-		}
-
-		private 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);
-			}
-		}
-
-		private 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);
-			}
-		}
-
-		private 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);
-
-			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);
-		}
-
-		private 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_NAMESPACE_ATTRIBUTE, artifactKeys[i].getNamespace());
-					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);
-			}
-		}
-
-		private void writeTouchpointType(TouchpointType touchpointType) {
-			start(TOUCHPOINT_TYPE_ELEMENT);
-			attribute(ID_ATTRIBUTE, touchpointType.getId());
-			attribute(VERSION_ATTRIBUTE, touchpointType.getVersion());
-			end(TOUCHPOINT_TYPE_ELEMENT);
-		}
-
-		private 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);
-			}
-		}
-	}
-
-	/*
-	 * 	Parser for the contents of an InstallRegistry,
-	 * 	as written by the Writer class.
-	 */
-	private class Parser extends XMLParser implements XMLConstants {
-
-		private Map profileInstallRegistries = 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();
-				InstallRegistryHandler registryHandler = new InstallRegistryHandler();
-				xmlReader.setContentHandler(new InstallRegistryDocHandler(INSTALL_REGISTRY_ELEMENT, registryHandler));
-				xmlReader.parse(new InputSource(stream));
-				if (this.isValidXML()) {
-					profileInstallRegistries = registryHandler.getProfileInstallRegistries();
-				}
-			} catch (SAXException e) {
-				throw new IOException(e.getMessage());
-			} catch (ParserConfigurationException e) {
-				throw new IOException(e.getMessage());
-			} finally {
-				stream.close();
-			}
-		}
-
-		public Map getProfileInstallRegistries() {
-			return profileInstallRegistries;
-		}
-
-		protected Object getRootObject() {
-			return profileInstallRegistries;
-		}
-
-		private final class InstallRegistryDocHandler extends DocHandler {
-
-			public InstallRegistryDocHandler(String rootName, RootHandler rootHandler) {
-				super(rootName, rootHandler);
-			}
-
-			public void ProcessingInstruction(String target, String data) throws SAXException {
-				if (PI_REPOSITORY_TARGET.equalsIgnoreCase(target)) {
-					// TODO: should the root handler be constructed based on class
-					// 		 via an extension registry mechanism?
-					// String clazz = extractPIClass(data);
-					// and
-					// TODO: version tolerance by extension
-					Version repositoryVersion = extractPIVersion(target, data);
-					if (!XML_TOLERANCE.isIncluded(repositoryVersion)) {
-						throw new SAXException(NLS.bind(Messages.InstallRegistry_Parser_Has_Incompatible_Version, repositoryVersion, XML_TOLERANCE));
-					}
-				}
-			}
-		}
-
-		private final class InstallRegistryHandler extends RootHandler {
-
-			private ProfileInstallRegistriesHandler profilesHandler = null;
-
-			private Map profyleRegistries = null;
-
-			public InstallRegistryHandler() {
-				super();
-			}
-
-			protected void handleRootAttributes(Attributes attributes) {
-				parseRequiredAttributes(attributes, noAttributes);
-			}
-
-			public void startElement(String name, Attributes attributes) {
-				if (PROFILE_INSTALL_REGISTRIES_ELEMENT.equalsIgnoreCase(name)) {
-					if (profilesHandler == null) {
-						profilesHandler = new ProfileInstallRegistriesHandler(this, attributes);
-					} else {
-						duplicateElement(this, name, attributes);
-					}
-				} else {
-					invalidElement(name, attributes);
-				}
-			}
-
-			public Map getProfileInstallRegistries() {
-				return (profyleRegistries != null ? profyleRegistries : new LinkedHashMap(0));
-			}
-
-			protected void finished() {
-				if (isValidXML()) {
-					ProfileInstallRegistry[] registries = (profilesHandler == null ? new ProfileInstallRegistry[0] //
-							: profilesHandler.getProfileInstallRegistries());
-					profyleRegistries = new LinkedHashMap(registries.length);
-					for (int i = 0; i < registries.length; i++) {
-						ProfileInstallRegistry nextProfileRegistry = registries[i];
-						profyleRegistries.put(nextProfileRegistry.getProfileId(), nextProfileRegistry);
-					}
-				}
-			}
-		}
-
-		protected class ProfileInstallRegistriesHandler extends AbstractHandler {
-
-			private List profileRegistries = null;
-
-			public ProfileInstallRegistriesHandler(AbstractHandler parentHandler, Attributes attributes) {
-				super(parentHandler, PROFILE_INSTALL_REGISTRIES_ELEMENT);
-				String size = parseOptionalAttribute(attributes, COLLECTION_SIZE_ATTRIBUTE);
-				profileRegistries = (size != null ? new ArrayList(new Integer(size).intValue()) : new ArrayList(4));
-			}
-
-			public void startElement(String name, Attributes attributes) {
-				if (name.equalsIgnoreCase(PROFILE_INSTALL_REGISTRY_ELEMENT)) {
-					new ProfileInstallRegistryHandler(this, attributes, profileRegistries);
-				} else {
-					invalidElement(name, attributes);
-				}
-			}
-
-			public ProfileInstallRegistry[] getProfileInstallRegistries() {
-				return (ProfileInstallRegistry[]) profileRegistries.toArray(new ProfileInstallRegistry[profileRegistries.size()]);
-			}
-		}
-
-		protected class ProfileInstallRegistryHandler extends AbstractHandler {
-
-			private final String[] required = new String[] {PROFILE_ID_ATTRIBUTE};
-
-			List registries = null;
-
-			private String profileId = null;
-
-			private InstallableUnitsHandler unitsHandler = null;
-			private IUsPropertiesHandler iusPropertiesHandler = null;
-
-			public ProfileInstallRegistryHandler(AbstractHandler parentHandler, Attributes attributes, List registries) {
-				super(parentHandler, PROFILE_INSTALL_REGISTRY_ELEMENT);
-				profileId = parseRequiredAttributes(attributes, required)[0];
-				this.registries = registries;
-			}
-
-			public void startElement(String name, Attributes attributes) {
-				if (INSTALLABLE_UNITS_ELEMENT.equalsIgnoreCase(name)) {
-					if (unitsHandler == null) {
-						unitsHandler = new InstallableUnitsHandler(this, attributes);
-					} else {
-						duplicateElement(this, name, attributes);
-					}
-				} else if (IUS_PROPERTIES_ELEMENT.equalsIgnoreCase(name)) {
-					if (iusPropertiesHandler == null) {
-						iusPropertiesHandler = new IUsPropertiesHandler(this, attributes);
-					} else {
-						duplicateElement(this, name, attributes);
-					}
-				} else {
-					invalidElement(name, attributes);
-				}
-			}
-
-			protected void finished() {
-				if (isValidXML() && profileId != null) {
-					IInstallableUnit[] units = (unitsHandler == null ? new IInstallableUnit[0] //
-							: unitsHandler.getUnits());
-					Map iusPropertiesMap = (iusPropertiesHandler == null ? new LinkedHashMap() //
-							: iusPropertiesHandler.getIUsPropertiesMap());
-					ProfileInstallRegistry registry = new ProfileInstallRegistry(profileId, units, iusPropertiesMap);
-					registries.add(registry);
-				}
-			}
-		}
-
-		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.equalsIgnoreCase(IU_PROPERTIES_ELEMENT)) {
-					new IUPropertiesHandler(this, attributes, iusPropertiesMap);
-				} else {
-					invalidElement(name, attributes);
-				}
-			}
-		}
-
-		protected class IUPropertiesHandler extends AbstractHandler {
-
-			private final String[] required = new String[] {ID_ATTRIBUTE, VERSION_ATTRIBUTE};
-
-			private IUIdentity iuIdentity = null;
-			private PropertiesHandler propertiesHandler = null;
-			private Map iusPropertiesMap = null;
-
-			public IUPropertiesHandler(AbstractHandler parentHandler, Attributes attributes, Map iusPropertiesMap) {
-				super(parentHandler, IU_PROPERTIES_ELEMENT);
-				String values[] = parseRequiredAttributes(attributes, required);
-				Version version = checkVersion(IU_PROPERTIES_ELEMENT, VERSION_ATTRIBUTE, values[1]);
-				iuIdentity = new IUIdentity(values[0], version);
-				this.iusPropertiesMap = iusPropertiesMap;
-			}
-
-			public void startElement(String name, Attributes attributes) {
-				if (name.equalsIgnoreCase(PROPERTIES_ELEMENT)) {
-					propertiesHandler = new PropertiesHandler(this, attributes);
-				} else {
-					invalidElement(name, attributes);
-				}
-			}
-
-			protected void finished() {
-				if (isValidXML() && iuIdentity != null && propertiesHandler != null) {
-					iusPropertiesMap.put(iuIdentity, propertiesHandler.getProperties());
-				}
-			}
-		}
-
-		// TODO: below is a LOT of code duplicated for MetadataRepositoryIO for writing
-		//		 installable units. Need to figure out a cleanway to declare handlers
-		//		 which do not depend on the context of an outer declaring Parser class,
-		//		 so that handlers may be reused in different parsing contexts.
-		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() {
-				return (IInstallableUnit[]) units.toArray(new IInstallableUnit[units.size()]);
-			}
-
-			public void startElement(String name, Attributes attributes) {
-				if (name.equalsIgnoreCase(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, FRAGMENT_ATTRIBUTE, FRAGMENT_HOST_ID_ATTRIBUTE, FRAGMENT_HOST_RANGE_ATTRIBUTE};
-
-			InstallableUnit currentUnit = null;
-
-			private PropertiesHandler propertiesHandler = null;
-			private ProvidedCapabilitiesHandler providedCapabilitiesHandler = null;
-			private RequiredCapabilitiesHandler requiredCapabilitiesHandler = null;
-			private TextHandler filterHandler = null;
-			private TextHandler applicabilityHandler = null;
-			private ArtifactsHandler artifactsHandler = null;
-			private TouchpointTypeHandler touchpointTypeHandler = null;
-			private TouchpointDataHandler touchpointDataHandler = null;
-
-			public InstallableUnitHandler(AbstractHandler parentHandler, Attributes attributes, List units) {
-				super(parentHandler, INSTALLABLE_UNIT_ELEMENT);
-				String[] values = parseAttributes(attributes, required, optional);
-
-				Version version = checkVersion(INSTALLABLE_UNIT_ELEMENT, VERSION_ATTRIBUTE, values[1]);
-				boolean singleton = checkBoolean(INSTALLABLE_UNIT_ELEMENT, SINGLETON_ATTRIBUTE, values[2], true).booleanValue();
-				boolean isFragment = checkBoolean(INSTALLABLE_UNIT_ELEMENT, FRAGMENT_ATTRIBUTE, values[3], false).booleanValue();
-				if (isFragment) {
-					// TODO: tooling default fragment does not have a host id
-					// checkRequiredAttribute(INSTALLABLE_UNIT_ELEMENT, FRAGMENT_HOST_ID_ATTRIBUTE, values[4]);
-					checkRequiredAttribute(INSTALLABLE_UNIT_ELEMENT, FRAGMENT_HOST_RANGE_ATTRIBUTE, values[5]);
-					VersionRange hostRange = checkVersionRange(INSTALLABLE_UNIT_ELEMENT, FRAGMENT_HOST_RANGE_ATTRIBUTE, values[5]);
-					currentUnit = new InstallableUnitFragment(values[0], version, singleton, values[4], hostRange);
-				} else {
-					if (values[4] != null) {
-						unexpectedAttribute(INSTALLABLE_UNIT_ELEMENT, FRAGMENT_HOST_ID_ATTRIBUTE, values[4]);
-					} else if (values[5] != null) {
-						unexpectedAttribute(INSTALLABLE_UNIT_ELEMENT, FRAGMENT_HOST_RANGE_ATTRIBUTE, values[4]);
-					}
-					currentUnit = new InstallableUnit(values[0], version, singleton);
-				}
-				units.add(currentUnit);
-			}
-
-			public IInstallableUnit getInstallableUnit() {
-				return currentUnit;
-			}
-
-			public void startElement(String name, Attributes attributes) {
-				if (PROPERTIES_ELEMENT.equalsIgnoreCase(name)) {
-					if (propertiesHandler == null) {
-						propertiesHandler = new PropertiesHandler(this, attributes);
-					} else {
-						duplicateElement(this, name, attributes);
-					}
-				} else if (PROVIDED_CAPABILITIES_ELEMENT.equalsIgnoreCase(name)) {
-					if (providedCapabilitiesHandler == null) {
-						providedCapabilitiesHandler = new ProvidedCapabilitiesHandler(this, attributes);
-					} else {
-						duplicateElement(this, name, attributes);
-					}
-				} else if (REQUIRED_CAPABILITIES_ELEMENT.equalsIgnoreCase(name)) {
-					if (requiredCapabilitiesHandler == null) {
-						requiredCapabilitiesHandler = new RequiredCapabilitiesHandler(this, attributes);
-					} else {
-						duplicateElement(this, name, attributes);
-					}
-				} else if (IU_FILTER_ELEMENT.equalsIgnoreCase(name)) {
-					if (filterHandler == null) {
-						filterHandler = new TextHandler(this, IU_FILTER_ELEMENT, attributes);
-					} else {
-						duplicateElement(this, name, attributes);
-					}
-				} else if (APPLICABILITY_FILTER_ELEMENT.equalsIgnoreCase(name)) {
-					if (applicabilityHandler == null) {
-						applicabilityHandler = new TextHandler(this, APPLICABILITY_FILTER_ELEMENT, attributes);
-					} else {
-						duplicateElement(this, name, attributes);
-					}
-				} else if (ARTIFACT_KEYS_ELEMENT.equalsIgnoreCase(name)) {
-					if (artifactsHandler == null) {
-						artifactsHandler = new ArtifactsHandler(this, attributes);
-					} else {
-						duplicateElement(this, name, attributes);
-					}
-				} else if (TOUCHPOINT_TYPE_ELEMENT.equalsIgnoreCase(name)) {
-					if (touchpointTypeHandler == null) {
-						touchpointTypeHandler = new TouchpointTypeHandler(this, attributes);
-					} else {
-						duplicateElement(this, name, attributes);
-					}
-				} else if (TOUCHPOINT_DATA_ELEMENT.equalsIgnoreCase(name)) {
-					if (touchpointDataHandler == null) {
-						touchpointDataHandler = new TouchpointDataHandler(this, attributes);
-					} else {
-						duplicateElement(this, name, attributes);
-					}
-				} else {
-					invalidElement(name, attributes);
-				}
-			}
-
-			protected void finished() {
-				if (isValidXML() && currentUnit != null) {
-					OrderedProperties properties = (propertiesHandler == null ? new OrderedProperties(0) //
-							: propertiesHandler.getProperties());
-					currentUnit.addProperties(properties);
-					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());
-					}
-					if (applicabilityHandler != null) {
-						currentUnit.setApplicabilityFilter(applicabilityHandler.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());
-					currentUnit.addTouchpointData(touchpointData);
-				}
-			}
-		}
-
-		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.equalsIgnoreCase(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(new ProvidedCapability(values[0], values[1], version));
-			}
-
-			public void startElement(String name, Attributes attributes) {
-				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.equalsIgnoreCase(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};
-
-			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();
-				currentCapability = new RequiredCapability(values[0], values[1], range, null, isOptional, isMultiple);
-				capabilities.add(currentCapability);
-			}
-
-			public void startElement(String name, Attributes attributes) {
-				if (name.equalsIgnoreCase(CAPABILITY_FILTER_ELEMENT)) {
-					filterHandler = new TextHandler(this, CAPABILITY_FILTER_ELEMENT, attributes);
-				} else if (name.equalsIgnoreCase(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.equalsIgnoreCase(ARTIFACT_KEY_ELEMENT)) {
-					new ArtifactHandler(this, attributes, artifacts);
-				} else {
-					invalidElement(name, attributes);
-				}
-			}
-		}
-
-		protected class ArtifactHandler extends AbstractHandler {
-
-			private final String[] required = new String[] {NAMESPACE_ATTRIBUTE, 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[3]);
-				artifacts.add(new ArtifactKey(values[0], values[1], values[2], 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.equalsIgnoreCase(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 = new TouchpointType(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() {
-				return (TouchpointData[]) data.toArray(new TouchpointData[data.size()]);
-			}
-
-			public void startElement(String name, Attributes attributes) {
-				if (name.equalsIgnoreCase(TOUCHPOINT_DATA_INSTRUCTIONS_ELEMENT)) {
-					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));
-				data.add(new TouchpointData(instructions));
-			}
-
-			public void startElement(String name, Attributes attributes) {
-				if (name.equalsIgnoreCase(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 String getErrorMessage() {
-			return Messages.InstallRegistry_Parser_Error_Parsing_Registry;
-		}
-
-		public String toString() {
-			// TODO:
-			return null;
-		}
-
-	}
-
-}
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 823a816..0000000
--- a/bundles/org.eclipse.equinox.p2.exemplarysetup/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,23 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.exemplarysetup
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 0.1.0.qualifier
-Import-Package: org.eclipse.equinox.internal.p2.artifact.repository,
- org.eclipse.equinox.internal.p2.metadata.repository,
- org.eclipse.equinox.p2.artifact.repository,
- org.eclipse.equinox.p2.core.eventbus,
- org.eclipse.equinox.p2.director,
- org.eclipse.equinox.p2.engine,
- org.eclipse.equinox.p2.installregistry,
- org.eclipse.equinox.p2.metadata,
- org.eclipse.equinox.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 (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-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 9d660fc..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 (Incubation)
-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 12e99cb..0000000
--- a/bundles/org.eclipse.equinox.p2.exemplarysetup/src/org/eclipse/equinox/internal/p2/exemplarysetup/Activator.java
+++ /dev/null
@@ -1,149 +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.exemplarysetup;
-
-import org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager;
-import org.eclipse.equinox.p2.core.eventbus.ProvisioningEventBus;
-import org.eclipse.equinox.p2.director.*;
-import org.eclipse.equinox.p2.engine.IProfileRegistry;
-import org.eclipse.equinox.p2.engine.SimpleProfileRegistry;
-import org.eclipse.equinox.p2.installregistry.IInstallRegistry;
-import org.eclipse.equinox.p2.installregistry.InstallRegistry;
-import org.eclipse.equinox.p2.metadata.repository.IMetadataRepositoryManager;
-import org.osgi.framework.*;
-
-public class Activator implements BundleActivator {
-	public static BundleContext context;
-
-	private ProvisioningEventBus bus;
-	private ServiceRegistration registrationBus;
-
-	private IInstallRegistry installRegistry;
-	private ServiceRegistration registrationInstallRegistry;
-
-	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();
-		registerInstallRegistry();
-
-		//create the director and planner.  The planner must be
-		//registered first because the director finds it in its constructor.
-		registerPlanner();
-		registerDirector();
-
-		//create artifact repositories
-		//		registerDefaultArtifactRepoManager();
-	}
-
-	public void stop(BundleContext aContext) throws Exception {
-		//		unregisterDefaultArtifactRepoManager();
-		unregisterDirector();
-		unregisterPlanner();
-		unregisterInstallRegistry();
-		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();
-		director = null;
-	}
-
-	private void registerPlanner() {
-		planner = new SimplePlanner();
-		registrationPlanner = context.registerService(IPlanner.class.getName(), planner, null);
-	}
-
-	private void unregisterPlanner() {
-		registrationPlanner.unregister();
-		planner = null;
-	}
-
-	private void registerProfileRegistry() {
-		profileRegistry = new SimpleProfileRegistry();
-		registrationProfileRegistry = context.registerService(IProfileRegistry.class.getName(), profileRegistry, null);
-	}
-
-	private void unregisterProfileRegistry() {
-		registrationProfileRegistry.unregister();
-		profileRegistry = null;
-	}
-
-	private void registerDefaultMetadataRepoManager() {
-		defaultManager = new MetadataRepositoryManager();
-		registrationDefaultManager = context.registerService(IMetadataRepositoryManager.class.getName(), defaultManager, null);
-	}
-
-	private void unregisterDefaultMetadataRepoManager() {
-		registrationDefaultManager.unregister();
-		registrationDefaultManager = null;
-	}
-
-	//	private void registerDefaultArtifactRepoManager() {
-	//		artifactRepoManager = new ArtifactRepositoryManager();
-	//		registrationArtifactRepoManager = context.registerService(IArtifactRepositoryManager.class.getName(), artifactRepoManager, null);
-	//	}
-	//
-	//	private void unregisterDefaultArtifactRepoManager() {
-	//		registrationArtifactRepoManager.unregister();
-	//		artifactRepoManager = null;
-	//	}
-
-	private void registerInstallRegistry() {
-		installRegistry = new InstallRegistry();
-		registrationInstallRegistry = context.registerService(IInstallRegistry.class.getName(), installRegistry, null);
-	}
-
-	private void unregisterInstallRegistry() {
-		registrationInstallRegistry.unregister();
-		registrationInstallRegistry = null;
-	}
-
-	private void registerEventBus() {
-		bus = new ProvisioningEventBus();
-		registrationBus = context.registerService(ProvisioningEventBus.class.getName(), bus, null);
-	}
-
-	private void unregisterEventBus() {
-		registrationBus.unregister();
-		registrationBus = null;
-		bus.close();
-	}
-}
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 bce2a38..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,24 +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: 0.1.0.qualifier
-Bundle-Activator: org.eclipse.equinox.internal.p2.installer.InstallerActivator
-Eclipse-LazyStart: true
-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
-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.p2.installer
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 (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-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 ff6b71c..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/build.properties
+++ /dev/null
@@ -1,20 +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,\
-               splash.bmp,\
-               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 d9ac473..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/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 interpreted as relative to the framework's parent directory.
-# The startlevel indicates the OSGi start level at which the bundle should run.
-osgi.bundles=\
-	com.thoughtworks.xstream,\
-	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.preferences,\
-	org.eclipse.equinox.p2.artifact.repository,\
-	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,\
-	org.eclipse.equinox.p2.installer,\
-	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.simpleconfigurator,\
-	org.eclipse.equinox.simpleconfigurator.manipulator@start,\
-	org.eclipse.osgi.services,\
-	org.eclipse.swt,\
-	org.eclipse.swt.win32.win32.x86,\
-	org.mozilla.rhino
-
-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 a30ef15..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/installer.product
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.1"?>
-
-<product name="RCP Product" 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="custom" path="/org.eclipse.equinox.p2.installer/config.ini"/>
-
-   <launcherArgs>
-      <vmArgs>-Dorg.eclipse.equinox.p2.installDescription=file:/c:/tmp/equinox.p2/install.properties
--Declipse.p2.data.area=file:/c:/tmp/equinox.p2/p2</vmArgs>
-   </launcherArgs>
-
-   <windowImages/>
-
-   <splash
-      location="org.eclipse.equinox.p2.installer" />
-   <launcher>
-      <solaris/>
-      <win useIco="false">
-         <bmp/>
-      </win>
-   </launcher>
-
-   <vm>
-   </vm>
-
-   <plugins>
-      <plugin id="com.thoughtworks.xstream"/>
-      <plugin id="org.eclipse.core.jobs"/>
-      <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.core"/>
-      <plugin id="org.eclipse.equinox.p2.director"/>
-      <plugin id="org.eclipse.equinox.p2.download"/>
-      <plugin id="org.eclipse.equinox.p2.engine"/>
-      <plugin id="org.eclipse.equinox.p2.exemplarysetup"/>
-      <plugin id="org.eclipse.equinox.p2.installer"/>
-      <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.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.win32.win32.x86" fragment="true"/>
-      <plugin id="org.mozilla.rhino"/>
-   </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 0fbfab4..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 (Incubation)
-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 da9f71b..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="RCP Product">
-         <property
-               name="appName"
-               value="RCP Product">
-         </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/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 1be921f..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/HeadlessInstallAdvisor.java
+++ /dev/null
@@ -1,78 +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.installer;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.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 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 3ae92ae..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/InstallApplication.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.installer;
-
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.equinox.internal.p2.installer.ui.SWTInstallAdvisor;
-import org.eclipse.equinox.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.p2.installer.InstallAdvisor;
-import org.eclipse.equinox.p2.installer.InstallDescription;
-
-/**
- * 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) {
-		return fail(message, null);
-	}
-
-	/**
-	 * 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));
-	}
-
-	/**
-	 * 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);
-		if (site == null)
-			throw fail("No install site provided");
-		try {
-			URL siteURL = new URL(site);
-			return (InstallDescription) InstallDescriptionParser.loadFromProperties(siteURL.openStream(), monitor);
-		} catch (MalformedURLException e) {
-			throw fail("Invalid install site: " + site, e);
-		} catch (IOException e) {
-			throw fail("Invalid install site: " + 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, "An error occurred during installation", 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("Failed to launch the product: " + toRun, e);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.IApplicationContext)
-	 */
-	public Object start(IApplicationContext appContext) {
-		try {
-			appContext.applicationRunning();
-			advisor = createInstallContext();
-			//fetch description of what to install
-			InstallDescription description = null;
-			try {
-				description = computeInstallDescription();
-
-				//perform long running install operation
-				InstallUpdateProductOperation operation = new InstallUpdateProductOperation(InstallerActivator.getDefault().getContext(), description);
-				advisor.performInstall(operation);
-				IStatus result = operation.getResult();
-				if (!result.isOK()) {
-					advisor.setResult(result);
-					return IApplication.EXIT_OK;
-				}
-				//just exit after a successful update
-				if (!operation.isFirstInstall())
-					return IApplication.EXIT_OK;
-				if (description.isAutoStart())
-					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();
-		}
-	}
-
-	/* (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 dfcf217..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/InstallDescriptionParser.java
+++ /dev/null
@@ -1,75 +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.installer;
-
-import java.io.*;
-import java.net.URL;
-import java.util.Properties;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.SubMonitor;
-import org.eclipse.equinox.p2.installer.InstallDescription;
-import org.osgi.framework.Version;
-
-/**
- * This class is responsible for loading install descriptions from various file formats.
- */
-public class InstallDescriptionParser {
-	private static final String PROP_ARTIFACT_REPOSITORY = "artifactRepository";
-	private static final String PROP_INSTALL_LOCATION = "installLocation";
-	private static final String PROP_IS_AUTO_START = "autoStart";
-	private static final String PROP_LAUNCHER_NAME = "launcherName";
-	private static final String PROP_METADATA_REPOSITORY = "metadataRepository";
-	private static final String PROP_PROFILE_FLAVOR = "flavor";
-	private static final String PROP_PROFILE_NAME = "profileName";
-	private static final String PROP_ROOT_ID = "rootId";
-	private static final String PROP_ROOT_VERSION = "rootVersion";
-
-	/**
-	 * Loads and returns an install description that is stored in a properties file.
-	 * 
-	 * @param stream The stream to load the install description from. The stream
-	 * will be closed prior to this method returning, whether the description is
-	 * read successfully or not.
-	 */
-	public static InstallDescription loadFromProperties(InputStream stream, SubMonitor monitor) throws IOException {
-		BufferedInputStream in = null;
-		try {
-			Properties properties = new Properties();
-			in = new BufferedInputStream(stream);
-			properties.load(in);
-			InstallDescription description = new InstallDescription(properties.getProperty(PROP_PROFILE_NAME));
-			description.setArtifactRepository(new URL(properties.getProperty(PROP_ARTIFACT_REPOSITORY)));
-			description.setMetadataRepository(new URL(properties.getProperty(PROP_METADATA_REPOSITORY)));
-			description.setFlavor(properties.getProperty(PROP_PROFILE_FLAVOR));
-			description.setAutoStart(Boolean.TRUE.toString().equalsIgnoreCase(properties.getProperty(PROP_IS_AUTO_START)));
-			description.setLauncherName(properties.getProperty(PROP_LAUNCHER_NAME));
-			String locationString = properties.getProperty(PROP_INSTALL_LOCATION);
-			if (locationString != null)
-				description.setInstallLocation(new Path(locationString));
-			description.setRootId(properties.getProperty(PROP_ROOT_ID));
-			String versionString = properties.getProperty(PROP_ROOT_VERSION);
-			Version version = versionString == null ? null : new Version(versionString);
-			description.setRootVersion(version);
-			return description;
-		} finally {
-			safeClose(in);
-		}
-	}
-
-	private static void safeClose(InputStream in) {
-		try {
-			if (in != null)
-				in.close();
-		} catch (IOException e) {
-			//ignore secondary failure during close
-		}
-	}
-}
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 69dd91f..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/InstallUpdateProductOperation.java
+++ /dev/null
@@ -1,246 +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.installer;
-
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Iterator;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.p2.artifact.repository.IArtifactRepositoryManager;
-import org.eclipse.equinox.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.p2.director.IDirector;
-import org.eclipse.equinox.p2.engine.IProfileRegistry;
-import org.eclipse.equinox.p2.engine.Profile;
-import org.eclipse.equinox.p2.installer.IInstallOperation;
-import org.eclipse.equinox.p2.installer.InstallDescription;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.p2.metadata.repository.IMetadataRepositoryManager;
-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 {
-
-	/**
-	 * This constant comes from value of FrameworkAdmin.SERVICE_PROP_KEY_LAUNCHER_NAME.
-	 * This profile property is being used as a short term solution for branding of the launcher.
-	 */
-	private static final String PROP_LAUNCHER_NAME = "org.eclipse.equinox.frameworkhandler.launcher.name";
-
-	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 {
-		return new IInstallableUnit[] {findUnit(installDescription.getRootId(), installDescription.getRootVersion())};
-	}
-
-	/**
-	 * This profile is being updated; return the units to uninstall from the profile.
-	 */
-	private IInstallableUnit[] computeUnitsToUninstall(Profile profile) {
-		ArrayList units = new ArrayList();
-		for (Iterator it = profile.getInstallableUnits(); it.hasNext();)
-			units.add(it.next());
-		return (IInstallableUnit[]) units.toArray(new IInstallableUnit[units.size()]);
-	}
-
-	/**
-	 * Create and return the profile into which units will be installed.
-	 */
-	private Profile createProfile() {
-		Profile profile = getProfile();
-		if (profile == null) {
-			profile = new Profile(installDescription.getProductName());
-			profile.setValue(Profile.PROP_INSTALL_FOLDER, installDescription.getInstallLocation().toString());
-			profile.setValue(Profile.PROP_FLAVOR, installDescription.getFlavor());
-			profile.setValue(PROP_LAUNCHER_NAME, installDescription.getLauncherName());
-			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();
-			profile.setValue(Profile.PROP_ENVIRONMENTS, env);
-			profileRegistry.addProfile(profile);
-		}
-		return profile;
-	}
-
-	/**
-	 * Performs the actual product install or update.
-	 */
-	private void doInstall(SubMonitor monitor) throws CoreException {
-		prepareMetadataRepository();
-		prepareArtifactRepository();
-		Profile p = createProfile();
-		IInstallableUnit[] toInstall = computeUnitsToInstall();
-		monitor.worked(5);
-
-		IStatus s;
-		if (isInstall) {
-			monitor.setTaskName(NLS.bind("Installing {0}", installDescription.getProductName()));
-			s = director.install(toInstall, p, monitor.newChild(90));
-		} else {
-			monitor.setTaskName(NLS.bind("Updating {0}", installDescription.getProductName()));
-			IInstallableUnit[] toUninstall = computeUnitsToUninstall(p);
-			s = director.replace(toUninstall, toInstall, p, monitor.newChild(90));
-		}
-		if (!s.isOK())
-			throw new CoreException(s);
-	}
-
-	/**
-	 * Throws an exception of severity error with the given error message.
-	 */
-	private CoreException fail(String message) {
-		return fail(message, null);
-	}
-
-	/**
-	 * Throws 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(String id, Version version) throws CoreException {
-		if (id == null)
-			throw fail("Installable unit id not specified");
-		VersionRange range = VersionRange.emptyRange;
-		if (version != null && !version.equals(Version.emptyVersion))
-			range = new VersionRange(version, true, version, true);
-		IMetadataRepository[] repos = metadataRepoMan.getKnownRepositories();
-		for (int i = 0; i < repos.length; i++) {
-			IInstallableUnit[] found = repos[i].query(id, range, null, true, null);
-			if (found.length > 0)
-				return found[0];
-		}
-		throw fail("Installable unit not found: " + id);
-	}
-
-	/**
-	 * Returns the profile being installed into.
-	 */
-	private Profile getProfile() {
-		return profileRegistry.getProfile(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("Install requires a service that is not available: " + name);
-		Object service = bundleContext.getService(ref);
-		if (service == null)
-			throw fail("Install requires a service implementation that is not available: " + name);
-		serviceReferences.add(ref);
-		return service;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.p2.installer.IInstallOperation#install(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IStatus install(IProgressMonitor pm) {
-		SubMonitor monitor = SubMonitor.convert(pm, "Preparing to install", 100);
-		try {
-			try {
-				preInstall();
-				isInstall = getProfile() == null;
-				doInstall(monitor);
-				result = new Status(IStatus.OK, InstallerActivator.PI_INSTALLER, isInstall ? "Install complete" : "Update complete", null);
-				monitor.setTaskName("Some final housekeeping");
-			} 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 {
-		if (System.getProperty("eclipse.p2.data.area") == null) //$NON-NLS-1$
-			System.setProperty("eclipse.p2.data.area", installDescription.getInstallLocation().append("installer").toString()); //$NON-NLS-1$ //$NON-NLS-2$
-		if (System.getProperty("eclipse.p2.cache") == null) //$NON-NLS-1$
-			System.setProperty("eclipse.p2.cache", installDescription.getInstallLocation().toString()); //$NON-NLS-1$
-
-		//start up p2
-		try {
-			InstallerActivator.getDefault().getBundle("org.eclipse.equinox.p2.exemplarysetup").start(Bundle.START_ACTIVATION_POLICY);
-		} catch (BundleException e) {
-			throw fail("Unable to start p2", e);
-		}
-		//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 prepareArtifactRepository() {
-		URL artifactRepo = installDescription.getArtifactRepository();
-		if (artifactRepo != null)
-			artifactRepoMan.loadRepository(artifactRepo, null);
-	}
-
-	private void prepareMetadataRepository() {
-		URL metadataRepo = installDescription.getMetadataRepository();
-		if (metadataRepo != null)
-			metadataRepoMan.loadRepository(metadataRepo, 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 b224b2e..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/InstallerActivator.java
+++ /dev/null
@@ -1,95 +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.installer;
-
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-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";
-	// 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/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 ebf56fe..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/ui/InstallDialog.java
+++ /dev/null
@@ -1,286 +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.installer.ui;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.installer.InstallerActivator;
-import org.eclipse.equinox.p2.installer.IInstallOperation;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * A simple implementation of a progress monitor dialog, used for running
- * an install operation.
- */
-public class InstallDialog {
-	/**
-	 * A progress monitor implementation that asynchronously updates the progress bar.
-	 */
-	class Monitor implements IProgressMonitor {
-
-		boolean canceled = false, running = false;
-		String taskName = "", subTaskName = ""; //$NON-NLS-1$//$NON-NLS-2$
-		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 canceled;
-		}
-
-		public void setCanceled(boolean value) {
-			this.canceled = value;
-		}
-
-		public void setTaskName(String name) {
-			taskName = 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;
-					taskLabel.setText(taskName);
-					subTaskLabel.setText(shorten(subTaskName));
-					if (progress.isDisposed())
-						return;
-					progress.setVisible(running);
-					progress.setMaximum(1000);
-					progress.setMinimum(0);
-					int value = (int) (usedWork / totalWork * 1000);
-					if (progress.getSelection() < value)
-						progress.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);
-				}
-			});
-		}
-
-		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 = "An internal error has occurred";
-			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 Button closeButton;
-	private Composite contents;
-	/**
-	 * Flag indicating whether the user has indicated if it is ok to close the dialog
-	 */
-	private boolean okToClose;
-	ProgressBar progress;
-	private Shell shell;
-	Label subTaskLabel;
-
-	Label taskLabel;
-
-	/**
-	 * Creates and opens a progress monitor dialog.
-	 */
-	public InstallDialog() {
-		shell = new Shell(SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL);
-		shell.setBounds(300, 200, 600, 400);
-		shell.setText("Installer");
-		shell.setLayout(new FillLayout());
-		contents = new Composite(shell, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 15;
-		layout.marginHeight = 15;
-		contents.setLayout(layout);
-		taskLabel = new Label(contents, SWT.WRAP | SWT.LEFT);
-		taskLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		progress = new ProgressBar(contents, SWT.HORIZONTAL | SWT.SMOOTH);
-		progress.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		progress.setVisible(false);
-		subTaskLabel = new Label(contents, SWT.WRAP | SWT.LEFT);
-		subTaskLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		//spacer
-		Label spacer = new Label(contents, SWT.NONE);
-		spacer.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		closeButton = new Button(contents, SWT.PUSH);
-		GridData data = new GridData(80, SWT.DEFAULT);
-		data.verticalAlignment = SWT.END;
-		data.horizontalAlignment = SWT.RIGHT;
-		closeButton.setLayoutData(data);
-		closeButton.setText("OK");
-		closeButton.setVisible(false);
-		closeButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				setOkToClose();
-			}
-		});
-		shell.layout();
-		shell.open();
-	}
-
-	private synchronized boolean canClose() {
-		return okToClose;
-	}
-
-	public void close() {
-		shell.dispose();
-		shell = null;
-	}
-
-	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;
-		taskLabel.setText(message);
-		subTaskLabel.setText(""); //$NON-NLS-1$
-		progress.setVisible(false);
-		closeButton.setVisible(true);
-		while (!canClose()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-
-	}
-
-	/**
-	 * 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();
-				}
-			}
-		};
-		thread.start();
-		Display display = getDisplay();
-		while (!result.isDone()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		return result.getStatus();
-	}
-
-	public void setMessage(String message) {
-		if (taskLabel != null && !taskLabel.isDisposed())
-			taskLabel.setText(message);
-	}
-
-	synchronized void setOkToClose() {
-		okToClose = true;
-	}
-
-}
\ 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 033ce5b..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/ui/SWTInstallAdvisor.java
+++ /dev/null
@@ -1,84 +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.installer.ui;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.p2.installer.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.DirectoryDialog;
-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) {
-			DirectoryDialog dirDialog = new DirectoryDialog(dialog.getShell());
-			dirDialog.setMessage(NLS.bind("Where do you want to install {0}?", description.getProductName()));
-			String location = dirDialog.open();
-			if (location == null)
-				throw new OperationCanceledException();
-			description.setInstallLocation(new Path(location));
-		}
-		return description;
-	}
-
-	public void setResult(IStatus status) {
-		String message;
-		if (status.getSeverity() == IStatus.CANCEL) {
-			message = "Install 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("Preparing to install");
-	}
-
-	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/p2/installer/IInstallOperation.java b/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/p2/installer/IInstallOperation.java
deleted file mode 100644
index 6789006..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/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.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/p2/installer/InstallAdvisor.java b/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/p2/installer/InstallAdvisor.java
deleted file mode 100644
index b03261f..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/p2/installer/InstallAdvisor.java
+++ /dev/null
@@ -1,59 +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.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);
-
-	/**
-	 * 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/p2/installer/InstallDescription.java b/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/p2/installer/InstallDescription.java
deleted file mode 100644
index 6a6287d..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/p2/installer/InstallDescription.java
+++ /dev/null
@@ -1,142 +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.installer;
-
-import java.net.URL;
-import org.eclipse.core.runtime.IPath;
-import org.osgi.framework.Version;
-
-/**
- * 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 artifactRepo;
-	private IPath installLocation;
-	private boolean isAutoStart;
-	private String launcherName;
-	private URL metadataRepo;
-	private String productName, flavor;
-	private String rootId;
-	private Version rootVersion;
-
-	public InstallDescription(String name) {
-		this.productName = name;
-	}
-
-	/**
-	 * Returns the location of the artifact repository to install from
-	 * @return an artifact repository URL
-	 */
-	public URL getArtifactRepository() {
-		return artifactRepo;
-	}
-
-	/**
-	 * Returns the flavor used to configure the product being installed.
-	 * @return the install flavor
-	 */
-	public String getFlavor() {
-		return flavor;
-	}
-
-	/**
-	 * 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 location of the metadata repository to install from
-	 * @return a metadata repository URL
-	 */
-	public URL getMetadataRepository() {
-		return metadataRepo;
-	}
-
-	/**
-	 * Returns a human-readable name for this install.
-	 * @return the name of the product
-	 */
-	public String getProductName() {
-		return productName;
-	}
-
-	/**
-	 * Returns the id of the root installable unit
-	 * @return the id of the root installable unit
-	 */
-	public String getRootId() {
-		return rootId;
-	}
-
-	/**
-	 * Returns the version of the root installable unit
-	 * @return the version of the root installable unit
-	 */
-	public Version getRootVersion() {
-		return rootVersion;
-	}
-
-	/**
-	 * 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 setArtifactRepository(URL repository) {
-		this.artifactRepo = repository;
-	}
-
-	public void setAutoStart(boolean value) {
-		this.isAutoStart = value;
-	}
-
-	public void setFlavor(String flavor) {
-		this.flavor = flavor;
-	}
-
-	public void setInstallLocation(IPath location) {
-		this.installLocation = location;
-	}
-
-	public void setLauncherName(String name) {
-		this.launcherName = name;
-	}
-
-	public void setMetadataRepository(URL repository) {
-		this.metadataRepo = repository;
-	}
-
-	public void setRootId(String root) {
-		this.rootId = root;
-	}
-
-	public void setRootVersion(Version version) {
-		this.rootVersion = version;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.installer/testInstall.properties b/bundles/org.eclipse.equinox.p2.installer/testInstall.properties
deleted file mode 100644
index 8968672..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/testInstall.properties
+++ /dev/null
@@ -1,20 +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
-###############################################################################
-#Sample InstallDescription property file
-metadataRepository=file:/c:/tmp/equinox.p2/servers/metadata/
-artifactRepository=file:/c:/tmp/equinox.p2/servers/artifacts/
-flavor=tooling
-profileName=TestInstall
-rootId=sdk
-rootVersion=1.0.0
-autoStart=true
-installLocation=c:/tmp/Eclipse
-launcherName=Eclipse.exe
\ No newline at end of file
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 c68de04..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
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 0.1.0.qualifier
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
- J2SE-1.4
-Export-Package: org.eclipse.equinox.internal.p2.jarprocessor;x-internal:=true,
- org.eclipse.equinox.internal.p2.jarprocessor.verifier;x-internal:=true,
- org.eclipse.equinox.p2.jarprocessor
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 (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-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 69bd731..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 (Incubation)
-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 2570a4f..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, 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.util.List;
-import java.util.Properties;
-import org.eclipse.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); //$NON-NLS-1$
-			StreamProcessor outputStreamProcessor = new StreamProcessor(proc.getInputStream(), StreamProcessor.STDOUT, verbose); //$NON-NLS-1$
-			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 1bd9f48..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-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 org.eclipse.equinox.p2.jarprocessor.JarProcessor;
-import org.eclipse.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 1006dbe..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/PackStep.java
+++ /dev/null
@@ -1,200 +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.*;
-
-public class PackStep extends CommandStep {
-
-	protected static String packCommand = null;
-	private static Boolean canPack = null;
-
-	private String arguments = 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.");
-					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) {
-		if (arguments != null)
-			return arguments;
-		//1: Explicitly marked in our .inf file
-		if (inf != null && inf.containsKey(Utils.PACK_ARGS)) {
-			arguments = inf.getProperty(Utils.PACK_ARGS);
-			return arguments;
-		}
-
-		//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)) {
-				arguments = container.getProperty(Utils.DEFAULT_PACK_ARGS);
-				return arguments;
-			}
-		}
-
-		//3: Set by name in outside pack.properties file
-		Properties options = getOptions();
-		String argsKey = input.getName() + Utils.PACK_ARGS_SUFFIX;
-		if (options.containsKey(argsKey)) {
-			arguments = options.getProperty(argsKey);
-			return arguments;
-		}
-
-		//4: Set by default in outside pack.properties file
-		if (options.containsKey(Utils.DEFAULT_PACK_ARGS)) {
-			arguments = options.getProperty(Utils.DEFAULT_PACK_ARGS);
-			return arguments;
-		}
-
-		if (arguments == null)
-			arguments = "";
-		return arguments;
-	}
-
-	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
-		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 b8c6ec0..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-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.*;
-
-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$ //$NON-NLS-2$
-					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 ea9fb43..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, 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.*;
-import java.util.*;
-import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
-import java.util.zip.ZipException;
-
-import org.eclipse.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 6278a77..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, 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.*;
-import java.util.*;
-import java.util.zip.*;
-import org.eclipse.equinox.p2.jarprocessor.IProcessStep;
-import org.eclipse.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 &lt;cmd&gt; : 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 &lt;dir&gt; : 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>&lt;jarname&gt;.pack.args = option[, option]* : A comma-delimited list of additional arguments that should
-be passed to pack200 when packing any jar with name &lt;jarname&gt;.
-</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 b46ee9e..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/verifier/Verifier.java
+++ /dev/null
@@ -1,105 +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.FileNotFoundException;
-import java.util.Properties;
-
-import org.eclipse.equinox.internal.p2.jarprocessor.UnpackStep;
-import org.eclipse.equinox.internal.p2.jarprocessor.Utils;
-import org.eclipse.equinox.p2.jarprocessor.JarProcessor;
-import org.eclipse.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/equinox/p2/jarprocessor/IProcessStep.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/p2/jarprocessor/IProcessStep.java
deleted file mode 100644
index e5df809..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/p2/jarprocessor/IProcessStep.java
+++ /dev/null
@@ -1,64 +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.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/equinox/p2/jarprocessor/JarProcessor.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/p2/jarprocessor/JarProcessor.java
deleted file mode 100644
index e017ec9..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/p2/jarprocessor/JarProcessor.java
+++ /dev/null
@@ -1,392 +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.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/equinox/p2/jarprocessor/JarProcessorExecutor.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/p2/jarprocessor/JarProcessorExecutor.java
deleted file mode 100644
index 117fd2b..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/p2/jarprocessor/JarProcessorExecutor.java
+++ /dev/null
@@ -1,152 +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.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/Metadata Generator SDK.launch b/bundles/org.eclipse.equinox.p2.metadata.generator/Metadata Generator SDK.launch
index 7f76012..c5ec056 100644
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/Metadata Generator SDK.launch
+++ b/bundles/org.eclipse.equinox.p2.metadata.generator/Metadata Generator SDK.launch
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?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"/>
@@ -11,14 +11,12 @@
 <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 &#13;&#10;-consolelog&#13;&#10;-application org.eclipse.equinox.p2.metadata.generator.EclipseGenerator&#13;&#10;-metadataRepository file:C:/prov/p2/servers/&#13;&#10;-artifactRepository file:C:/prov/p2/servers/&#13;&#10;-source C:/eclipse3.3/eclipse&#13;&#10;-root sdk&#13;&#10;-rootVersion 3.3.0&#13;&#10;-flavor tooling&#13;&#10;-publishArtifacts&#13;&#10;-append"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-console &#13;&#10;-consolelog&#13;&#10;-application org.eclipse.equinox.p2.metadata.generator.EclipseGenerator&#13;&#10;-metadataRepository file:C:/Ap2/servers2/metadataRepository/ &#13;&#10;-artifactRepository file:C:/Ap2/servers2/artifactRepository/ &#13;&#10;-source C:/eclipse/3.3/eclipse&#13;&#10;-root sdk&#13;&#10;-rootVersion 3.3.0&#13;&#10;-flavor tooling&#13;&#10;-publishArtifacts&#13;&#10;-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="com.ibm.icu@default:default,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="true"/>
-<stringAttribute key="vminstall" value="j2sdk1.4.2_08"/>
-<stringAttribute key="workspace_bundles" value="org.apache.xerces@default:default,org.apache.xml.resolver@default:default,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"/>
+<stringAttribute key="vminstall" value="JRE1.4.2"/>
+<stringAttribute key="workspace_bundles" value="com.thoughtworks.xstream@default:default,org.apache.xerces@default:default,org.apache.xml.resolver@default:default,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/.classpath b/bundles/org.eclipse.equinox.p2.tests/.classpath
deleted file mode 100644
index 7cdeb73..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/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.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 cca252c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,340 +0,0 @@
-#Sat Sep 15 21:26:35 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=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=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.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.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 6619592..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:58:50 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.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 59d16c8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,56 +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: 0.1.0.qualifier
-Import-Package: junit.framework;version="3.8.2",
- org.eclipse.equinox.internal.p2.artifact.repository,
- org.eclipse.equinox.internal.p2.director,
- org.eclipse.equinox.internal.p2.jarprocessor,
- org.eclipse.equinox.internal.p2.metadata,
- org.eclipse.equinox.internal.p2.repositoryoptimizer,
- org.eclipse.equinox.p2.artifact.repository,
- org.eclipse.equinox.p2.artifact.repository.processing,
- org.eclipse.equinox.p2.core.helpers,
- org.eclipse.equinox.p2.core.location,
- org.eclipse.equinox.p2.core.repository,
- org.eclipse.equinox.p2.director,
- org.eclipse.equinox.p2.engine,
- org.eclipse.equinox.p2.installregistry,
- org.eclipse.equinox.p2.jarprocessor,
- org.eclipse.equinox.p2.metadata,
- org.eclipse.equinox.p2.metadata.repository,
- org.eclipse.equinox.p2.query,
- org.eclipse.equinox.p2.resolution,
- org.eclipse.equinox.spi.p2.artifact.repository,
- org.eclipse.equinox.spi.p2.core.repository,
- org.eclipse.equinox.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"
-Bundle-Activator: org.eclipse.equinox.p2.tests.TestActivator
-Bundle-ClassPath: .
-Bundle-RequiredExecutionEnviron: J2SE-1.4
-Require-Bundle: org.eclipse.equinox.p2.metadata.generator,
- org.eclipse.equinox.frameworkadmin,
- org.eclipse.equinox.common,
- org.eclipse.equinox.p2.download
-Eclipse-LazyStart: true
-Eclipse-RegisterBuddy: org.eclipse.equinox.p2.artifact.repository
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
- J2SE-1.4
-Export-Package: org.eclipse.equinox.p2.tests,
- org.eclipse.equinox.p2.tests.artifact.repository,
- org.eclipse.equinox.p2.tests.artifact.repository.processing,
- org.eclipse.equinox.p2.tests.director,
- org.eclipse.equinox.p2.tests.download,
- org.eclipse.equinox.p2.tests.engine,
- org.eclipse.equinox.p2.tests.full,
- org.eclipse.equinox.p2.tests.metadata,
- org.eclipse.equinox.p2.tests.metadata.repository
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/&#13;&#10;-Declipse.p2.metadataRepository=file:c:/temp/equinox.p2/servers/CDTmetadataRepository/ &#13;&#10;-Declipse.p2.artifactRepository=file:c:/temp/equinox.p2/servers/artifactRepository/&#13;&#10;-Declipse.p2.installFolder=c:/temp/equinox.p2/eclipseInstall/ &#13;&#10;-Declipse.p2.configurationFlavor=tooling&#13;&#10;-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/ &#13;&#10;-Declipse.p2.metadataRepository=file:d:/tmp/equinox.p2/servers/metadataRepository/ &#13;&#10;-Declipse.p2.artifactRepository=file:d:/tmp/equinox.p2/servers/artifactRepository/&#13;&#10;-Declipse.p2.installFolder=d:/tmp/equinox.p2/eclipseInstall/ &#13;&#10;-Declipse.p2.configurationFlavor=tooling&#13;&#10;-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/&#13;&#10;-Declipse.p2.metadataRepository=file:c:/temp/equinox.p2/servers/CDTmetadataRepository/ &#13;&#10;-Declipse.p2.artifactRepository=file:c:/temp/equinox.p2/servers/artifactRepository/&#13;&#10;-Declipse.p2.installFolder=c:/temp/equinox.p2/eclipseInstall/ &#13;&#10;-Declipse.p2.configurationFlavor=tooling&#13;&#10;-Declipse.p2.autoInstall=cdt&#13;&#10;-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 97dc73c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/Test Director Uninstall SDK.launch
+++ /dev/null
@@ -1,21 +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&#13;&#10;-Xmx768m&#13;&#10;-Declipse.p2.data.area=c:/temp/equinox.p2/agent/&#13;&#10;-Declipse.p2.metadataRepository=file:c:/temp/equinox.p2/servers/metadataRepository/ &#13;&#10;-Declipse.p2.artifactRepository=file:c:/temp/equinox.p2/servers/artifactRepository/&#13;&#10;-Declipse.p2.installFolder=c:/temp/equinox.p2/eclipseInstall/ &#13;&#10;-Declipse.p2.configurationFlavor=tooling&#13;&#10;-Declipse.p2.autoInstall=sdk&#13;&#10;-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"/>
-<stringAttribute key="vminstall" value="j2re1.4.2_13"/>
-<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.test@default:true,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 (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-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 08e234e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/build.properties
+++ /dev/null
@@ -1,20 +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
-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 875d579..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/plugin.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-	<extension
-			point="org.eclipse.equinox.p2.artifact.repository.processingSteps"
-			id="org.eclipse.equinox.p2.processing.ByteShifter">
-		<step class="org.eclipse.equinox.p2.tests.artifact.repository.processing.ByteShifter"/>
-	</extension>
-
-	<extension
-			point="org.eclipse.equinox.p2.artifact.repository.processingSteps"
-			id="org.eclipse.equinox.p2.processing.MD5Verifier">
-		<step class="org.eclipse.equinox.p2.tests.artifact.repository.processing.MD5Verifier"/>
-	</extension>
-
-	<extension
-			point="org.eclipse.equinox.p2.artifact.repository.processingSteps"
-			id="org.eclipse.equinox.p2.processing.Adder">
-		<step class="org.eclipse.equinox.p2.tests.artifact.repository.processing.Adder"/>
-	</extension>
-
-	<extension
-			point="org.eclipse.equinox.p2.artifact.repository.processingSteps"
-			id="org.eclipse.equinox.p2.processing.Multiplier">
-		<step class="org.eclipse.equinox.p2.tests.artifact.repository.processing.Multiplier"/>
-	</extension>
- <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 df6cd75..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/rawData/Test Data Generator.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/Test Data 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="-application org.eclipse.equinox.p2.metadata.generator.EclipseGenerator&#13;&#10;-metadataRepository file:${workspace_loc:org.eclipse.equinox.p2.tests/testData/enginerepo}&#13;&#10;-artifactRepository file:${workspace_loc:org.eclipse.equinox.p2.tests/testData/enginerepo} &#13;&#10;-base ${workspace_loc:org.eclipse.equinox.p2.tests/rawData}&#13;&#10;-bundles ${workspace_loc:org.eclipse.equinox.p2.tests/rawData}&#13;&#10;-features ${workspace_loc:org.eclipse.equinox.p2.tests/rawData}&#13;&#10;-publishArtifacts &#13;&#10;-par&#13;&#10;-noDefaultIUs"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<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.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="true"/>
-<stringAttribute key="vminstall" value="ibm1.5sr1"/>
-<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.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 c893a9f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/AbstractProvisioningTest.java
+++ /dev/null
@@ -1,237 +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 java.io.*;
-import java.util.*;
-import junit.framework.TestCase;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.p2.director.IDirector;
-import org.eclipse.equinox.p2.director.IPlanner;
-import org.eclipse.equinox.p2.engine.Profile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.RequiredCapability;
-import org.eclipse.equinox.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.p2.metadata.repository.IMetadataRepositoryManager;
-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 class AbstractProvisioningTest extends TestCase {
-	protected static VersionRange ANY_VERSION = new VersionRange(Version.emptyVersion, true, new Version(Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE), true);
-
-	/**
-	 * 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();
-
-	/**
-	 * 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);
-		} else
-			e.printStackTrace();
-		fail(message + ": " + e);
-	}
-
-	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 = System.out;
-		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);
-		}
-	}
-
-	public AbstractProvisioningTest() {
-		super("");
-	}
-
-	public AbstractProvisioningTest(String name) {
-		super(name);
-	}
-
-	public void assertEmptyProfile(Profile p) {
-		assertNotNull("The profile should not be null", p);
-		boolean containsIU = false;
-		for (Iterator iterator = p.getInstallableUnits(); iterator.hasNext();) {
-			containsIU = true;
-		}
-		if (containsIU)
-			fail("The profile should be empty,profileId=" + p);
-	}
-
-	protected 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 void assertNotOK(IStatus result) {
-		assertTrue("The status should not have been OK", !result.isOK());
-	}
-
-	protected void assertOK(IStatus result) {
-		if (result.isOK())
-			return;
-
-		if (result instanceof MultiStatus) {
-			MultiStatus ms = (MultiStatus) result;
-			IStatus children[] = ms.getChildren();
-			for (int i = 0; i < children.length; i++) {
-				System.err.println(children[i]);
-			}
-		}
-
-		Throwable t = result.getException();
-		if (t != null)
-			t.printStackTrace();
-
-		fail(result.toString());
-	}
-
-	/**
-	 * Asserts that the given profile contains *only* the given IUs.
-	 */
-	protected void assertProfileContains(String message, Profile profile, IInstallableUnit[] expectedUnits) {
-		HashSet expected = new HashSet(Arrays.asList(expectedUnits));
-		for (Iterator it = profile.getInstallableUnits(); 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 void assertProfileContainsAll(String message, Profile profile, IInstallableUnit[] expectedUnits) {
-		HashSet expected = new HashSet(Arrays.asList(expectedUnits));
-		for (Iterator it = profile.getInstallableUnits(); it.hasNext();) {
-			IInstallableUnit actual = (IInstallableUnit) it.next();
-			expected.remove(actual);
-		}
-		if (!expected.isEmpty())
-			fail(message + " profile " + profile.getProfileId() + " did not contain expected units: " + expected);
-	}
-
-	public IDirector createDirector() {
-		return (IDirector) ServiceHelper.getService(TestActivator.getContext(), IDirector.class.getName());
-	}
-
-	/**
-	 * Creates and returns a correctly formatted LDAP filter with the given key and value.
-	 */
-	protected String createFilter(String filterKey, String filterValue) {
-		return "(" + filterKey + '=' + filterValue + ')';
-	}
-
-	public IPlanner createPlanner() {
-		return (IPlanner) ServiceHelper.getService(TestActivator.getContext(), IPlanner.class.getName());
-	}
-
-	/**
-	 * Creates and returns a required capability with the provided attributes.
-	 */
-	protected 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 RequiredCapability[] createRequiredCapabilities(String namespace, String name, VersionRange range, String filter) {
-		return new RequiredCapability[] {new RequiredCapability(namespace, name, range, filter, false, false)};
-	}
-
-	/**
-	 * 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);
-		IMetadataRepositoryManager repoMan = (IMetadataRepositoryManager) ServiceHelper.getService(TestActivator.getContext(), IMetadataRepositoryManager.class.getName());
-		assertNotNull(repoMan);
-		repoMan.addRepository(repo);
-		metadataRepos.add(repo);
-	}
-
-	public void printProfile(Profile toPrint) {
-		boolean containsIU = false;
-		for (Iterator iterator = toPrint.getInstallableUnits(); iterator.hasNext();) {
-			System.out.println(iterator.next());
-			containsIU = true;
-		}
-		if (!containsIU)
-			System.out.println("No iu");
-	}
-
-	/* (non-Javadoc)
-	 * @see junit.framework.TestCase#tearDown()
-	 */
-	protected void tearDown() throws Exception {
-		super.tearDown();
-		//remove all metadata repositories created by this test
-		if (!metadataRepos.isEmpty()) {
-			IMetadataRepositoryManager repoMan = (IMetadataRepositoryManager) ServiceHelper.getService(TestActivator.getContext(), IMetadataRepositoryManager.class.getName());
-			for (Iterator it = metadataRepos.iterator(); it.hasNext();) {
-				IMetadataRepository repo = (IMetadataRepository) it.next();
-				repoMan.removeRepository(repo);
-			}
-			metadataRepos.clear();
-		}
-	}
-}
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 afa14fb..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/AutomatedTests.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.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.artifact.repository.processing.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());
-		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 8d176bd..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/TestArtifactRepository.java
+++ /dev/null
@@ -1,131 +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 java.io.*;
-import java.net.*;
-import java.util.HashMap;
-import java.util.Map;
-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.p2.artifact.repository.*;
-import org.eclipse.equinox.p2.artifact.repository.processing.ProcessingStepHandler;
-import org.eclipse.equinox.p2.core.helpers.MultiStatus;
-import org.eclipse.equinox.p2.core.repository.RepositoryCreationException;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.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();
-
-	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);
-	}
-
-	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[0]);
-	}
-
-	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();
-			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)};
-	}
-}
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 ce1ca73..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/TestMetadataRepository.java
+++ /dev/null
@@ -1,107 +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 java.io.File;
-import java.io.IOException;
-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.p2.core.repository.IRepository;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.RequiredCapability;
-import org.eclipse.equinox.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.p2.query.CompoundIterator;
-import org.eclipse.equinox.spi.p2.metadata.repository.AbstractMetadataRepository;
-import org.eclipse.osgi.service.resolver.VersionRange;
-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 {
-			return File.createTempFile("TestMetadataRepository", Long.toString(System.currentTimeMillis())).toURL();
-		} catch (MalformedURLException e) {
-			Assert.fail(e.getMessage());
-		} catch (IOException e) {
-			Assert.fail(e.getMessage());
-		}
-		return null;
-	}
-
-	public TestMetadataRepository(IInstallableUnit[] ius) {
-		super(NAME, TYPE, VERSION, createLocation(), DESCRIPTION, PROVIDER);
-		units.addAll(Arrays.asList(ius));
-	}
-
-	public void addInstallableUnits(IInstallableUnit[] toAdd) {
-		units.addAll(Arrays.asList(toAdd));
-	}
-
-	public IInstallableUnit find(String id, String versionString) {
-		Version iuVersion = new Version(versionString);
-		VersionRange range = new VersionRange(iuVersion, true, iuVersion, true);
-		IInstallableUnit[] result = query(id, range, null, true, null);
-		return result.length != 1 ? null : result[0];
-	}
-
-	public Object getAdapter(Class adapter) {
-		if (adapter == TestMetadataRepository.class || adapter == IMetadataRepository.class || adapter == IRepository.class) {
-			return this;
-		}
-		return null;
-	}
-
-	public IInstallableUnit[] getInstallableUnits(IProgressMonitor monitor) {
-		IInstallableUnit[] result = query(null, null, null, false, monitor);
-		return result;
-	}
-
-	public Iterator getIterator(String id, VersionRange range, RequiredCapability[] requirements, boolean and) {
-		return new CompoundIterator(new Iterator[] {units.iterator()}, id, range, requirements, and);
-	}
-
-	public IInstallableUnit[] query(String id, VersionRange range, RequiredCapability[] requirements, boolean and, IProgressMonitor monitor) {
-		return CompoundIterator.asArray(new CompoundIterator(new Iterator[] {units.iterator()}, id, range, requirements, and), null);
-	}
-
-	public void removeAll() {
-		units.clear();
-	}
-
-	public void removeInstallableUnits(IInstallableUnit[] toRemove) {
-		for (int i = 0; i < toRemove.length; i++) {
-			units.remove(toRemove[i]);
-		}
-	}
-
-	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 38ac283..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/AllTests.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.p2.tests.artifact.repository;
-
-import junit.framework.*;
-
-/**
- * Performs all automated director tests.
- */
-public class AllTests extends TestCase {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		//TODO This test currently fails because our file formats are not stable
-		//		suite.addTestSuite(JarURLRepositoryTest.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/JarURLRepositoryTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/JarURLRepositoryTest.java
deleted file mode 100644
index 8612213..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/JarURLRepositoryTest.java
+++ /dev/null
@@ -1,47 +0,0 @@
-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.p2.artifact.repository.IArtifactRepository;
-import org.eclipse.equinox.p2.artifact.repository.IArtifactRepositoryManager;
-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() {
-		URL engineJar = TestActivator.getContext().getBundle().getEntry("/testData/enginerepo.jar");
-		URL jarRepoURL = null;
-		try {
-			jarRepoURL = new URL("jar:" + engineJar.toString() + "!/");
-		} catch (MalformedURLException e) {
-			fail(e.getMessage());
-		}
-		IArtifactRepository repo = manager.loadRepository(jarRepoURL, null);
-		assertTrue(repo.contains(new ArtifactKey("eclipse", "plugin", "org.eclipse.equinox.p2.engine", new Version("0.1.0.200709241631"))));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/optimizer/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/optimizer/AllTests.java
deleted file mode 100644
index b9d5a13..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/optimizer/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.artifact.repository.optimizer;
-
-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(PackRepositoryTest.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/optimizer/PackRepositoryTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/optimizer/PackRepositoryTest.java
deleted file mode 100644
index 010430c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/optimizer/PackRepositoryTest.java
+++ /dev/null
@@ -1,110 +0,0 @@
-package org.eclipse.equinox.p2.tests.artifact.repository.optimizer;
-
-import java.io.*;
-import java.net.URL;
-import junit.framework.TestCase;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.p2.repositoryoptimizer.Optimizer;
-import org.eclipse.equinox.p2.artifact.repository.*;
-import org.eclipse.equinox.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.eclipse.osgi.service.urlconversion.URLConverter;
-import org.osgi.framework.Version;
-import org.osgi.util.tracker.ServiceTracker;
-
-public class PackRepositoryTest extends TestCase {
-	private ServiceTracker managerTracker;
-	private File workDir;
-
-	public PackRepositoryTest(String name) {
-		super(name);
-	}
-
-	public PackRepositoryTest() {
-		super("");
-	}
-
-	protected void setUp() throws Exception {
-		managerTracker = new ServiceTracker(TestActivator.getContext(), IArtifactRepositoryManager.class.getName(), null);
-		managerTracker.open();
-		workDir = File.createTempFile("work", "");
-		if (!workDir.delete())
-			throw new IOException("Could not delete file for creating temporary working dir.");
-		if (!workDir.mkdirs())
-			throw new IOException("Could not create temporary working dir.");
-
-	}
-
-	protected void tearDown() throws Exception {
-		managerTracker.close();
-	}
-
-	public void testJarURLRepository() {
-		URL repositoryJar = TestActivator.getContext().getBundle().getEntry("/testData/enginerepo");
-		URL repositoryURL = extractRepositoryJAR(repositoryJar, workDir);
-		assertNotNull("Could not extract repository", repositoryURL);
-		IArtifactRepository repository = ((IArtifactRepositoryManager) managerTracker.getService()).loadRepository(repositoryURL, null);
-		IArtifactKey key = new ArtifactKey("eclipse", "plugin", "org.eclipse.equinox.prov.engine", new Version("0.1.0.200709241631"));
-		IArtifactDescriptor[] descriptors = repository.getArtifactDescriptors(key);
-		assertTrue("Artifact Descriptor for engine missing", descriptors.length == 1);
-
-		new Optimizer(repository).run();
-		descriptors = repository.getArtifactDescriptors(key);
-		assertTrue("Optimization was a no-op", descriptors.length == 2);
-
-		IArtifactDescriptor canonical = null;
-		IArtifactDescriptor optimized = null;
-		for (int i = 0; i < descriptors.length; i++) {
-			if (descriptors[i].getProcessingSteps().length == 0)
-				canonical = descriptors[i];
-			else
-				optimized = descriptors[i];
-		}
-
-		assertTrue("Optmized descriptor not found", optimized != null);
-		assertTrue("Canonical descriptor not found", canonical != null);
-		long optimizedSize = Long.parseLong(optimized.getProperty(IArtifactDescriptor.DOWNLOAD_SIZE));
-		long canonicalSize = Long.parseLong(canonical.getProperty(IArtifactDescriptor.DOWNLOAD_SIZE));
-		assertTrue("Optimzed not smaller than canonical", optimizedSize < canonicalSize);
-
-		File canonicalFile = fetchArtifact("canonical", canonical);
-		File optimizedFile = fetchArtifact("optimized", canonical);
-		compareFiles(canonicalFile, optimizedFile);
-	}
-
-	private URL extractRepositoryJAR(URL source, File destination) {
-		String filter = "(protocol=" + source.getProtocol() + ")";
-		URLConverter converter = (URLConverter) ServiceHelper.getService(TestActivator.getContext(), URLConverter.class.getName(), filter);
-		try {
-			return converter == null ? null : converter.toFileURL(source);
-		} catch (IOException e) {
-			return null;
-		}
-	}
-
-	private void compareFiles(File canonicalFile, File optimizedFile) {
-		assertTrue("Canonical file does not exist", canonicalFile.exists());
-		assertTrue("Optimized file does not exist", optimizedFile.exists());
-		assertEquals(canonicalFile.length(), optimizedFile.length());
-		// TODO compare the actual content
-	}
-
-	private File fetchArtifact(String name, IArtifactDescriptor descriptor) {
-		try {
-			File result = new File(workDir, name);
-			OutputStream destination = new BufferedOutputStream(new FileOutputStream(result));
-			try {
-				descriptor.getRepository().getArtifact(descriptor, destination, new NullProgressMonitor());
-				return result;
-			} finally {
-				if (destination != null)
-					destination.close();
-			}
-		} catch (IOException e) {
-			fail("Could not fetch artifact " + descriptor);
-		}
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/Adder.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/Adder.java
deleted file mode 100644
index 6854545..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/Adder.java
+++ /dev/null
@@ -1,54 +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.p2.tests.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;
-import org.eclipse.equinox.p2.artifact.repository.IArtifactDescriptor;
-import org.eclipse.equinox.p2.artifact.repository.processing.ProcessingStep;
-import org.eclipse.equinox.p2.artifact.repository.processing.ProcessingStepDescriptor;
-
-public class Adder extends ProcessingStep {
-
-	protected int operand;
-
-	public Adder() {
-		// needed
-	}
-
-	public Adder(int operand) {
-		super();
-		this.operand = operand;
-	}
-
-	public void initialize(ProcessingStepDescriptor descriptor, IArtifactDescriptor context) {
-		super.initialize(descriptor, context);
-		try {
-			operand = Integer.valueOf(descriptor.getData()).intValue();
-		} catch (NumberFormatException e) {
-			int code = descriptor.isRequired() ? IStatus.ERROR : IStatus.INFO;
-			status = new Status(code, Activator.ID, "Adder operand specification invalid", e);
-			return;
-		}
-	}
-
-	public void write(int b) throws IOException {
-		destination.write(b + operand);
-	}
-
-	public void close() throws IOException {
-		super.close();
-		status = Status.OK_STATUS;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/AllTests.java
deleted file mode 100644
index 9091fb7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/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.artifact.repository.processing;
-
-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(ProcessingStepHandlerTest.class);
-		return suite;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/ByteShifter.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/ByteShifter.java
deleted file mode 100644
index bcf3071..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/ByteShifter.java
+++ /dev/null
@@ -1,73 +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.p2.tests.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;
-import org.eclipse.equinox.p2.artifact.repository.IArtifactDescriptor;
-import org.eclipse.equinox.p2.artifact.repository.processing.ProcessingStep;
-import org.eclipse.equinox.p2.artifact.repository.processing.ProcessingStepDescriptor;
-
-public class ByteShifter extends ProcessingStep {
-
-	protected int operand;
-
-	public ByteShifter() {
-		super();
-	}
-
-	public ByteShifter(int shiftLeft) {
-		super();
-		this.operand = shiftLeft;
-		basicInitialize(null);
-	}
-
-	private void basicInitialize(ProcessingStepDescriptor descriptor) {
-		// if the status is already set to something that not ok, we've already found a problem.
-		if (status != null && status.getCode() != IStatus.OK)
-			return;
-
-		int code;
-		// if there is a descriptor, decide if the "bad case" is an error or info.  If no 
-		// descriptor then default to error.
-		if (descriptor != null)
-			code = descriptor.isRequired() ? IStatus.ERROR : IStatus.INFO;
-		else
-			code = IStatus.ERROR;
-
-		// finally, check the actual setup and set the status.
-		if (operand <= 0)
-			status = new Status(code, Activator.ID, "ByteShifter operand invalid: " + operand);
-	}
-
-	public void initialize(ProcessingStepDescriptor descriptor, IArtifactDescriptor context) {
-		super.initialize(descriptor, context);
-		try {
-			operand = Integer.valueOf(descriptor.getData()).intValue();
-		} catch (NumberFormatException e) {
-			int code = descriptor.isRequired() ? IStatus.ERROR : IStatus.INFO;
-			status = new Status(code, Activator.ID, "ByteShifter operand specification invalid", e);
-			return;
-		}
-		basicInitialize(descriptor);
-	}
-
-	public void write(int b) throws IOException {
-		destination.write(b == -1 ? b : b << operand);
-	}
-
-	public IStatus getStatus() {
-		return Status.OK_STATUS;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/Counter.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/Counter.java
deleted file mode 100644
index c13e22b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/Counter.java
+++ /dev/null
@@ -1,86 +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.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;
-import org.eclipse.equinox.p2.artifact.repository.IArtifactDescriptor;
-import org.eclipse.equinox.p2.artifact.repository.processing.ProcessingStep;
-import org.eclipse.equinox.p2.artifact.repository.processing.ProcessingStepDescriptor;
-
-public class Counter extends ProcessingStep {
-
-	protected long size = -1;
-	long total = 0;
-
-	public Counter() {
-		// needed
-	}
-
-	public Counter(long size) {
-		super();
-		this.size = size;
-		basicInitialize(null);
-	}
-
-	private void basicInitialize(ProcessingStepDescriptor descriptor) {
-		// if the status is already set to something that not ok, we've already found a problem.
-		if (status != null && status.getCode() != IStatus.OK)
-			return;
-
-		int code;
-		// if there is a descriptor, decide if the "bad case" is an error or info.  If no 
-		// descriptor then default to erorr.
-		if (descriptor != null)
-			code = descriptor.isRequired() ? IStatus.ERROR : IStatus.INFO;
-		else
-			code = IStatus.ERROR;
-
-		// finally, check the actual setup and set the status.
-		if (size != -1)
-			status = new Status(code, Activator.ID, "Counter size not set");
-	}
-
-	public void initialize(ProcessingStepDescriptor descriptor, IArtifactDescriptor context) {
-		super.initialize(descriptor, context);
-		String data = descriptor.getData();
-		if (data == null)
-			return;
-		try {
-			if (data.equals("download"))
-				size = Long.parseLong(context.getProperty(IArtifactDescriptor.DOWNLOAD_SIZE));
-			else if (data.equals("artifact"))
-				size = Long.parseLong(context.getProperty(IArtifactDescriptor.ARTIFACT_SIZE));
-			else
-				size = Long.parseLong(data);
-		} catch (NumberFormatException e) {
-			int code = descriptor.isRequired() ? IStatus.ERROR : IStatus.INFO;
-			status = new Status(code, Activator.ID, "Counter size specification invalid", e);
-			return;
-		}
-		basicInitialize(descriptor);
-	}
-
-	public void write(int b) throws IOException {
-		total++;
-		destination.write(b);
-	}
-
-	public void close() throws IOException {
-		super.close();
-		if (total != size)
-			status = new Status(IStatus.WARNING, "plugin id", "Size mismatch.  Was " + total + " should have been " + size);
-		else
-			status = Status.OK_STATUS;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/MD5Verifier.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/MD5Verifier.java
deleted file mode 100644
index 56758cc..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/MD5Verifier.java
+++ /dev/null
@@ -1,90 +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.p2.tests.artifact.repository.processing;
-
-import java.io.IOException;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-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.p2.artifact.repository.IArtifactDescriptor;
-import org.eclipse.equinox.p2.artifact.repository.processing.ProcessingStep;
-import org.eclipse.equinox.p2.artifact.repository.processing.ProcessingStepDescriptor;
-
-public class MD5Verifier extends ProcessingStep {
-
-	protected String md5Test;
-	private MessageDigest md5;
-
-	public MD5Verifier() {
-		super();
-	}
-
-	public MD5Verifier(String md5Test) {
-		super();
-		this.md5Test = md5Test;
-		basicInitialize(null);
-	}
-
-	public void initialize(ProcessingStepDescriptor descriptor, IArtifactDescriptor context) {
-		super.initialize(descriptor, context);
-		String data = descriptor.getData();
-		if (data.equals("download"))
-			md5Test = context.getProperty(IArtifactDescriptor.DOWNLOAD_MD5);
-		else if (data.equals("artifact"))
-			md5Test = context.getProperty(IArtifactDescriptor.ARTIFACT_MD5);
-		else
-			md5Test = data;
-		basicInitialize(descriptor);
-	}
-
-	private void basicInitialize(ProcessingStepDescriptor descriptor) {
-		int code;
-		if (descriptor == null)
-			code = IStatus.ERROR;
-		else
-			code = descriptor.isRequired() ? IStatus.ERROR : IStatus.INFO;
-		if (md5Test == null || md5Test.length() != 32)
-			status = new Status(code, Activator.ID, "MD5 value not available or incorrect size");
-		try {
-			md5 = MessageDigest.getInstance("MD5");
-		} catch (NoSuchAlgorithmException e) {
-			status = new Status(code, Activator.ID, "Could not create MD5 algorithm", e);
-		}
-	}
-
-	public void write(int b) throws IOException {
-		if (b != -1)
-			md5.update((byte) b);
-		destination.write(b);
-	}
-
-	public void close() throws IOException {
-		super.close();
-
-		byte[] digest = md5.digest();
-		StringBuffer buf = new StringBuffer();
-		for (int i = 0; i < digest.length; i++) {
-			if ((digest[i] & 0xFF) < 0x10)
-				buf.append('0');
-			buf.append(Integer.toHexString(digest[i] & 0xFF));
-		}
-
-		// if the hashes don't line up set the status to error.
-		if (!buf.toString().equals(md5Test)) {
-			String message = "Error processing stream. MD5 hash is not as expected.";
-			status = new Status(IStatus.ERROR, "plugin id", message);
-		} else
-			status = Status.OK_STATUS;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/Multiplier.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/Multiplier.java
deleted file mode 100644
index 05f0550..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/Multiplier.java
+++ /dev/null
@@ -1,54 +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.p2.tests.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;
-import org.eclipse.equinox.p2.artifact.repository.IArtifactDescriptor;
-import org.eclipse.equinox.p2.artifact.repository.processing.ProcessingStep;
-import org.eclipse.equinox.p2.artifact.repository.processing.ProcessingStepDescriptor;
-
-public class Multiplier extends ProcessingStep {
-
-	protected int operand;
-
-	public Multiplier() {
-		// needed
-	}
-
-	public Multiplier(int operand) {
-		super();
-		this.operand = operand;
-	}
-
-	public void initialize(ProcessingStepDescriptor descriptor, IArtifactDescriptor context) {
-		super.initialize(descriptor, context);
-		try {
-			operand = Integer.valueOf(descriptor.getData()).intValue();
-		} catch (NumberFormatException e) {
-			int code = descriptor.isRequired() ? IStatus.ERROR : IStatus.INFO;
-			status = new Status(code, Activator.ID, "Multiplier operand specification invalid", e);
-			return;
-		}
-	}
-
-	public void write(int b) throws IOException {
-		destination.write(b == -1 ? b : b * operand);
-	}
-
-	public void close() throws IOException {
-		super.close();
-		status = Status.OK_STATUS;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/ProcessingStepHandlerTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/ProcessingStepHandlerTest.java
deleted file mode 100644
index 270db57..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/ProcessingStepHandlerTest.java
+++ /dev/null
@@ -1,209 +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.p2.tests.artifact.repository.processing;
-
-import java.io.*;
-import java.util.Arrays;
-import junit.framework.TestCase;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.artifact.repository.Unpack200Step;
-import org.eclipse.equinox.p2.artifact.repository.processing.*;
-import org.eclipse.equinox.p2.core.helpers.FileUtils;
-import org.eclipse.equinox.p2.tests.TestActivator;
-
-public class ProcessingStepHandlerTest extends TestCase {
-
-	//	private static final int BUFFER_SIZE = 8 * 1024;
-
-	ProcessingStepHandler handler = new ProcessingStepHandler();
-	IProgressMonitor monitor = new NullProgressMonitor();
-
-	public void testExecuteNoPSs() throws IOException {
-		ProcessingStepDescriptor[] descriptors = new ProcessingStepDescriptor[0];
-		OutputStream result = new ByteArrayOutputStream(10);
-		OutputStream testStream = handler.createAndLink(descriptors, null, result, monitor);
-		testStream.write("Test".getBytes());
-		testStream.close();
-		assertEquals("Test", result.toString());
-	}
-
-	public void testExecuteOneByteShifterPS() throws IOException {
-		ProcessingStep[] steps = new ProcessingStep[] {new ByteShifter(1)};
-		ByteArrayOutputStream result = new ByteArrayOutputStream(10);
-		OutputStream testStream = handler.link(steps, result, monitor);
-		testStream.write(new byte[] {1});
-		testStream.close();
-		assertTrue(Arrays.equals(new byte[] {2}, result.toByteArray()));
-	}
-
-	public void testExecuteTwoByteShifterPSs() throws IOException {
-		ProcessingStep[] steps = new ProcessingStep[] {new ByteShifter(1), new ByteShifter(2)};
-		ByteArrayOutputStream result = new ByteArrayOutputStream(10);
-		OutputStream testStream = handler.link(steps, result, monitor);
-		testStream.write(new byte[] {1});
-		testStream.close();
-		assertTrue(Arrays.equals(new byte[] {8}, result.toByteArray()));
-	}
-
-	public void testExecuteOneMD5VerifierPSOk() throws IOException {
-		ProcessingStep[] steps = new ProcessingStep[] {new MD5Verifier("0cbc6611f5540bd0809a388dc95a615b")};
-		ByteArrayOutputStream result = new ByteArrayOutputStream(10);
-		OutputStream testStream = handler.link(steps, result, monitor);
-		testStream.write("Test".getBytes());
-		testStream.close();
-		assertEquals("Test", result.toString());
-	}
-
-	public void testExecuteOneMD5VerifierPSFails() throws IOException {
-		ProcessingStep[] steps = new ProcessingStep[] {new MD5Verifier("9cbc6611f5540bd0809a388dc95a615b")};
-		ByteArrayOutputStream result = new ByteArrayOutputStream(10);
-		OutputStream testStream = handler.link(steps, result, monitor);
-		testStream.write("Test".getBytes());
-		try {
-			testStream.close();
-			assertEquals("Test", result.toString());
-			assertTrue((handler.checkStatus(testStream).getSeverity() == IStatus.ERROR));
-		} catch (IOException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testExecuteOneByteShifterAndOneMD5VerifierPSOk() throws IOException {
-		// Order of PSs is important!!
-		ProcessingStep[] steps = new ProcessingStep[] {new ByteShifter(1), new MD5Verifier("ceeee507e8db83294600218b4e198897")};
-		ByteArrayOutputStream result = new ByteArrayOutputStream(10);
-		OutputStream testStream = handler.link(steps, result, monitor);
-		testStream.write(new byte[] {1, 2, 3, 4, 5});
-		testStream.close();
-		assertTrue(Arrays.equals(new byte[] {2, 4, 6, 8, 10}, result.toByteArray()));
-	}
-
-	public void testExecuteOneByteShifterAndOneMD5VerifierPSFailWrongOrder() throws IOException {
-		// Order of PSs is important - here it wrong!!
-		ProcessingStep[] steps = new ProcessingStep[] {new MD5Verifier("af476bbaf152a4c39ca4e5c498a88aa0"), new ByteShifter(1)};
-		ByteArrayOutputStream result = new ByteArrayOutputStream(10);
-		OutputStream testStream = handler.link(steps, result, monitor);
-		testStream.write(new byte[] {1, 2, 3, 4, 5});
-		try {
-			testStream.close();
-			assertTrue(Arrays.equals(new byte[] {2, 4, 6, 8, 10}, result.toByteArray()));
-			assertTrue((handler.checkStatus(testStream).getSeverity() == IStatus.ERROR));
-		} catch (IOException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testAssureOrderingOfPSs1() throws IOException {
-		ProcessingStep[] steps = new ProcessingStep[] {new Adder(1), new Multiplier(2)};
-		ByteArrayOutputStream result = new ByteArrayOutputStream(10);
-		OutputStream testStream = handler.link(steps, result, monitor);
-		testStream.write(new byte[] {1, 2, 3, 4, 5});
-		testStream.close();
-		assertTrue(Arrays.equals(new byte[] {4, 6, 8, 10, 12}, result.toByteArray()));
-	}
-
-	public void testAssureOrderingOfPSs2() throws IOException {
-		ProcessingStep[] steps = new ProcessingStep[] {new Multiplier(2), new Adder(1)};
-		ByteArrayOutputStream result = new ByteArrayOutputStream(10);
-		OutputStream testStream = handler.link(steps, result, monitor);
-		testStream.write(new byte[] {1, 2, 3, 4, 5});
-		testStream.close();
-		assertTrue(Arrays.equals(new byte[] {3, 5, 7, 9, 11}, result.toByteArray()));
-	}
-
-	public void testExecuteOnePack200UnpackerPS() throws IOException {
-		ProcessingStepDescriptor descriptor = new ProcessingStepDescriptor("org.eclipse.equinox.p2.processing.Pack200Unpacker", null, true);
-		ProcessingStep[] steps = new ProcessingStep[] {handler.create(descriptor, null)};
-		ByteArrayOutputStream result = new ByteArrayOutputStream(100000);
-		OutputStream testStream = handler.link(steps, result, monitor);
-		InputStream inputStream = TestActivator.getContext().getBundle().getEntry("testData/jarprocessor.jar.pack.gz").openStream();
-		FileUtils.copyStream(inputStream, true, testStream, true);
-		assertEquals(35062, result.size());
-	}
-
-	public void testCreateByteShifterPS() {
-		ProcessingStepDescriptor descriptor = new ProcessingStepDescriptor("org.eclipse.equinox.p2.processing.ByteShifter", "1", true);
-		ProcessingStep step = handler.create(descriptor, null);
-		assertNotNull(step);
-		assertEquals(ByteShifter.class, step.getClass());
-	}
-
-	public void testCreateMD5VerifierPS() {
-		ProcessingStepDescriptor descriptor = new ProcessingStepDescriptor("org.eclipse.equinox.p2.processing.MD5Verifier", "1", true);
-		ProcessingStep step = handler.create(descriptor, null);
-		assertNotNull(step);
-		assertEquals(MD5Verifier.class, step.getClass());
-	}
-
-	public void testCreateAdderPS() {
-		ProcessingStepDescriptor descriptor = new ProcessingStepDescriptor("org.eclipse.equinox.p2.processing.Adder", "1", true);
-		ProcessingStep step = handler.create(descriptor, null);
-		assertNotNull(step);
-		assertEquals(Adder.class, step.getClass());
-	}
-
-	public void testCreateMultiplierPS() {
-		ProcessingStepDescriptor descriptor = new ProcessingStepDescriptor("org.eclipse.equinox.p2.processing.Multiplier", "2", true);
-		ProcessingStep step = handler.create(descriptor, null);
-		assertNotNull(step);
-		assertEquals(Multiplier.class, step.getClass());
-	}
-
-	public void testCreatePack200UnpackerPS() {
-		ProcessingStepDescriptor descriptor = new ProcessingStepDescriptor("org.eclipse.equinox.p2.processing.Pack200Unpacker", null, true);
-		ProcessingStep step = handler.create(descriptor, null);
-		assertNotNull(step);
-		assertEquals(Unpack200Step.class, step.getClass());
-	}
-
-	public void testCreatePSsAndAssureOrderingOfPSs1() throws IOException {
-		ProcessingStepDescriptor descriptor = new ProcessingStepDescriptor("org.eclipse.equinox.p2.processing.Adder", "1", true);
-		ProcessingStep adder = handler.create(descriptor, null);
-
-		descriptor = new ProcessingStepDescriptor("org.eclipse.equinox.p2.processing.Multiplier", "2", true);
-		ProcessingStep multiplier = handler.create(descriptor, null);
-
-		ProcessingStep[] steps = new ProcessingStep[] {adder, multiplier};
-		ByteArrayOutputStream result = new ByteArrayOutputStream(10);
-		OutputStream testStream = handler.link(steps, result, monitor);
-		testStream.write(new byte[] {1, 2, 3, 4, 5});
-		testStream.close();
-		assertTrue(Arrays.equals(new byte[] {4, 6, 8, 10, 12}, result.toByteArray()));
-	}
-
-	public void testCreatePSsAndAssureOrderingOfPSs2() throws IOException {
-		ProcessingStepDescriptor descriptor = new ProcessingStepDescriptor("org.eclipse.equinox.p2.processing.Adder", "1", true);
-		ProcessingStep adder = handler.create(descriptor, null);
-
-		descriptor = new ProcessingStepDescriptor("org.eclipse.equinox.p2.processing.Multiplier", "2", true);
-		ProcessingStep multiplier = handler.create(descriptor, null);
-
-		ProcessingStep[] steps = new ProcessingStep[] {multiplier, adder};
-		ByteArrayOutputStream result = new ByteArrayOutputStream(10);
-		OutputStream testStream = handler.link(steps, result, monitor);
-		testStream.write(new byte[] {1, 2, 3, 4, 5});
-		testStream.close();
-		assertTrue(Arrays.equals(new byte[] {3, 5, 7, 9, 11}, result.toByteArray()));
-	}
-
-	public void testLinkPSs() throws IOException {
-		ProcessingStepDescriptor descriptor1 = new ProcessingStepDescriptor("org.eclipse.equinox.p2.processing.Adder", "1", true);
-		ProcessingStepDescriptor descriptor2 = new ProcessingStepDescriptor("org.eclipse.equinox.p2.processing.Multiplier", "2", true);
-		ProcessingStepDescriptor[] descriptors = new ProcessingStepDescriptor[] {descriptor1, descriptor2};
-		ByteArrayOutputStream result = new ByteArrayOutputStream(10);
-		OutputStream testStream = handler.createAndLink(descriptors, null, result, monitor);
-		testStream.write(new byte[] {1, 2, 3, 4, 5});
-		testStream.close();
-		assertTrue(Arrays.equals(new byte[] {4, 6, 8, 10, 12}, result.toByteArray()));
-	}
-
-}
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 92e5a38..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/AllTests.java
+++ /dev/null
@@ -1,35 +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(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 11c84e5..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/AutomatedDirectorTest.java
+++ /dev/null
@@ -1,256 +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.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.p2.director.IDirector;
-import org.eclipse.equinox.p2.engine.Profile;
-import org.eclipse.equinox.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.osgi.framework.Version;
-
-/**
- * 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
-		InstallableUnit requiredIU = new InstallableUnit();
-		requiredIU.setId("required." + getName());
-		requiredIU.setVersion(version);
-
-		InstallableUnit toInstallIU = new InstallableUnit();
-		toInstallIU.setId("toInstall." + getName());
-		toInstallIU.setVersion(version);
-		String filter = createFilter("FilterKey", "true");
-		RequiredCapability capability = new RequiredCapability(IInstallableUnit.IU_NAMESPACE, requiredIU.getId(), ANY_VERSION, filter, false, false);
-		toInstallIU.setRequiredCapabilities(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
-		Profile satisfied = new Profile("Satisfied." + getName());
-		satisfied.setValue(Profile.PROP_ENVIRONMENTS, "FilterKey=true");
-		IStatus result = director.install(toInstallArray, satisfied, null);
-		assertTrue("1.0", result.isOK());
-		assertProfileContains("1.1", satisfied, allUnits);
-
-		//Install into a profile in which the filter is not satisfied
-
-		//Install into a profile in which the filter key is undefined
-
-	}
-
-	/**
-	 * 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
-		InstallableUnit requiredIU = new InstallableUnit();
-		requiredIU.setId("required." + getName());
-		requiredIU.setVersion(version);
-		requiredIU.setCapabilities(new ProvidedCapability[] {new ProvidedCapability("test.capability", capabilityId, version)});
-
-		//The IU that optionally requires the capability
-		InstallableUnit toInstallIU = new InstallableUnit();
-		toInstallIU.setId("toInstall." + getName());
-		toInstallIU.setVersion(version);
-		RequiredCapability required = new RequiredCapability("test.capability", capabilityId, ANY_VERSION, null, true, false);
-		toInstallIU.setRequiredCapabilities(new RequiredCapability[] {required});
-
-		IInstallableUnit[] allUnits = new IInstallableUnit[] {toInstallIU, requiredIU};
-		IInstallableUnit[] toInstallArray = new IInstallableUnit[] {toInstallIU};
-		createTestMetdataRepository(allUnits);
-
-		Profile profile = new Profile("TestProfile." + getName());
-		IDirector director = createDirector();
-		IStatus result = director.install(toInstallArray, profile, null);
-		if (!result.isOK())
-			LogHelper.log(result);
-		assertTrue("1.0", result.isOK());
-		assertProfileContains("1.1", profile, allUnits);
-	}
-
-	/**
-	 * Tests installing an IU that has an optional prerequisite that is not available.
-	 */
-	public void testInstallOptionalUnavailable() {
-		String capabilityId = "test." + getName();
-		InstallableUnit toInstallIU = new InstallableUnit();
-		toInstallIU.setId("toInstall." + getName());
-		toInstallIU.setVersion(version);
-		//no IU will be available that exports this capability
-		RequiredCapability required = new RequiredCapability("test.capability", capabilityId, ANY_VERSION, null, true, false);
-		toInstallIU.setRequiredCapabilities(new RequiredCapability[] {required});
-
-		IInstallableUnit[] allUnits = new IInstallableUnit[] {toInstallIU};
-		createTestMetdataRepository(allUnits);
-
-		Profile profile = new Profile("TestProfile." + getName());
-		IDirector director = createDirector();
-		IStatus result = director.install(allUnits, profile, 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();
-		InstallableUnit requiredIU = new InstallableUnit();
-		requiredIU.setId("required." + getName());
-		requiredIU.setVersion(version);
-		requiredIU.setCapabilities(new ProvidedCapability[] {new ProvidedCapability("test.capability", capabilityId, version)});
-		requiredIU.setFilter(createFilter("osgi.os", "blort"));
-
-		InstallableUnit toInstallIU = new InstallableUnit();
-		toInstallIU.setId("toInstall." + getName());
-		toInstallIU.setVersion(version);
-		toInstallIU.setRequiredCapabilities(createRequiredCapabilities("test.capability", capabilityId, ANY_VERSION, null));
-
-		IInstallableUnit[] allUnits = new IInstallableUnit[] {requiredIU, toInstallIU};
-		IInstallableUnit[] toInstallArray = new IInstallableUnit[] {toInstallIU};
-		createTestMetdataRepository(allUnits);
-
-		Profile profile = new Profile("TestProfile." + getName());
-		IDirector director = createDirector();
-		IStatus result = director.install(toInstallArray, profile, null);
-		assertTrue("1.0", !result.isOK());
-
-		//try again with the filter satisfied
-		profile.setValue(Profile.PROP_ENVIRONMENTS, "osgi.os=blort");
-		result = director.install(toInstallArray, profile, 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
-		InstallableUnit requiredIU = new InstallableUnit();
-		requiredIU.setId("required." + getName());
-		requiredIU.setVersion(version);
-		requiredIU.setCapabilities(new ProvidedCapability[] {new ProvidedCapability("test.capability", capabilityId, version)});
-
-		InstallableUnit toInstallIU = new InstallableUnit();
-		toInstallIU.setId("toInstall." + getName());
-		toInstallIU.setVersion(version);
-		toInstallIU.setRequiredCapabilities(createRequiredCapabilities("test.capability", capabilityId, ANY_VERSION, null));
-
-		IInstallableUnit[] allUnits = new IInstallableUnit[] {requiredIU, toInstallIU};
-		IInstallableUnit[] toInstallArray = new IInstallableUnit[] {toInstallIU};
-		createTestMetdataRepository(allUnits);
-
-		Profile profile = new Profile("TestProfile." + getName());
-
-		IDirector director = createDirector();
-		IStatus result = director.install(toInstallArray, profile, 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
-		InstallableUnit requiredIU = new InstallableUnit();
-		requiredIU.setId("required." + getName());
-		requiredIU.setVersion(version);
-
-		InstallableUnit toInstallIU = new InstallableUnit();
-		toInstallIU.setId("toInstall." + getName());
-		toInstallIU.setVersion(version);
-		RequiredCapability capability = new RequiredCapability(IInstallableUnit.IU_NAMESPACE, requiredIU.getId(), null, null, false, false);
-		toInstallIU.setRequiredCapabilities(new RequiredCapability[] {capability});
-
-		IInstallableUnit[] allUnits = new IInstallableUnit[] {requiredIU, toInstallIU};
-		IInstallableUnit[] toInstallArray = new IInstallableUnit[] {toInstallIU};
-		createTestMetdataRepository(allUnits);
-
-		Profile profile = new Profile("TestProfile." + getName());
-
-		IDirector director = createDirector();
-		IStatus result = director.install(toInstallArray, profile, 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
-		InstallableUnit requiredIU = new InstallableUnit();
-		requiredIU.setId("required." + getName());
-		requiredIU.setVersion(version);
-
-		InstallableUnit toInstallIU = new InstallableUnit();
-		toInstallIU.setId("toInstall." + getName());
-		toInstallIU.setVersion(version);
-		RequiredCapability capability = new RequiredCapability(IInstallableUnit.IU_NAMESPACE, requiredIU.getId(), ANY_VERSION, null, false, false);
-		toInstallIU.setRequiredCapabilities(new RequiredCapability[] {capability});
-
-		IInstallableUnit[] allUnits = new IInstallableUnit[] {requiredIU, toInstallIU};
-		IInstallableUnit[] toInstallArray = new IInstallableUnit[] {toInstallIU};
-		createTestMetdataRepository(allUnits);
-
-		Profile profile = new Profile("TestProfile." + getName());
-
-		IDirector director = createDirector();
-		IStatus result = director.install(toInstallArray, profile, 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 2a0aae3..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 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this 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.p2.director.IDirector;
-import org.eclipse.equinox.p2.engine.Profile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.InstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.osgi.framework.Version;
-
-public class Bug203637 extends AbstractProvisioningTest {
-	public void test() {
-		IDirector d = createDirector();
-		Profile profile = new Profile("TestProfile." + getName());
-		InstallableUnit a1 = new InstallableUnit();
-		a1.setId("A");
-		a1.setVersion(new Version(1, 0, 0));
-		a1.setSingleton(true);
-
-		assertOK(d.replace(new IInstallableUnit[0], new IInstallableUnit[] {a1}, profile, 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 158658b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/OperationGenerationTest.java
+++ /dev/null
@@ -1,196 +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 java.util.ArrayList;
-import java.util.Collection;
-import junit.framework.TestCase;
-import org.eclipse.equinox.internal.p2.director.OperationGenerator;
-import org.eclipse.equinox.p2.metadata.IInstallableUnitConstants;
-import org.eclipse.equinox.p2.metadata.InstallableUnit;
-import org.eclipse.equinox.p2.resolution.ResolutionHelper;
-import org.osgi.framework.Version;
-
-public class OperationGenerationTest extends TestCase {
-	public void testInstallUninstall() {
-		InstallableUnit a1 = new InstallableUnit();
-		a1.setId("a");
-		a1.setVersion(new Version(1, 0, 0));
-
-		InstallableUnit a2 = new InstallableUnit();
-		a2.setId("a");
-		a2.setVersion(new Version(2, 0, 0));
-
-		InstallableUnit a3 = new InstallableUnit();
-		a3.setId("a");
-		a3.setVersion(new Version(3, 0, 0));
-
-		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);
-		new OperationGenerator().generateOperation(from, to);
-	}
-
-	public void test1() {
-		InstallableUnit a1 = new InstallableUnit();
-		a1.setId("a");
-		a1.setVersion(new Version(1, 0, 0));
-
-		InstallableUnit a2 = new InstallableUnit();
-		a2.setId("a");
-		a2.setVersion(new Version(2, 0, 0));
-
-		InstallableUnit a3 = new InstallableUnit();
-		a3.setId("a");
-		a3.setVersion(new Version(3, 0, 0));
-
-		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);
-		new OperationGenerator().generateOperation(from, to);
-	}
-
-	public void test2() {
-		InstallableUnit a1 = new InstallableUnit();
-		a1.setId("a");
-		a1.setVersion(new Version(1, 0, 0));
-
-		InstallableUnit a2 = new InstallableUnit();
-		a2.setId("a");
-		a2.setVersion(new Version(2, 0, 0));
-
-		InstallableUnit a3 = new InstallableUnit();
-		a3.setId("a");
-		a3.setVersion(new Version(3, 0, 0));
-
-		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);
-		new OperationGenerator().generateOperation(from, to);
-	}
-
-	public void testUpdate3() {
-		InstallableUnit a1 = new InstallableUnit();
-		a1.setId("a");
-		a1.setVersion(new Version(1, 0, 0));
-
-		InstallableUnit a2 = new InstallableUnit();
-		a2.setId("a");
-		a2.setVersion(new Version(2, 0, 0));
-
-		InstallableUnit b = new InstallableUnit();
-		b.setId("b");
-		b.setVersion(new Version(1, 0, 0));
-		b.setProperty(IInstallableUnitConstants.UPDATE_FROM, "a");
-		b.setProperty(IInstallableUnitConstants.UPDATE_RANGE, "[1.0.0, 2.0.0)");
-
-		InstallableUnit c = new InstallableUnit();
-		c.setId("c");
-		c.setVersion(new Version(1, 0, 0));
-		c.setProperty(IInstallableUnitConstants.UPDATE_FROM, "a");
-		c.setProperty(IInstallableUnitConstants.UPDATE_RANGE, "[2.0.0, 2.3.0)");
-
-		Collection from;
-		from = new ArrayList();
-		from.add(a1);
-		from.add(a2);
-
-		Collection to;
-		to = new ArrayList();
-		to.add(b);
-		to.add(c);
-
-		from = new ResolutionHelper(null, null).attachCUs(from);
-		to = new ResolutionHelper(null, null).attachCUs(to);
-		new OperationGenerator().generateOperation(from, to);
-	}
-
-	public void testUpdate2() {
-		InstallableUnit a1 = new InstallableUnit();
-		a1.setId("a");
-		a1.setVersion(new Version(1, 0, 0));
-
-		InstallableUnit a2 = new InstallableUnit();
-		a2.setId("a");
-		a2.setVersion(new Version(2, 0, 0));
-
-		InstallableUnit b = new InstallableUnit();
-		b.setId("b");
-		b.setVersion(new Version(1, 0, 0));
-		b.setProperty(IInstallableUnitConstants.UPDATE_FROM, "a");
-		b.setProperty(IInstallableUnitConstants.UPDATE_RANGE, "[1.0.0, 3.0.0)");
-
-		Collection from;
-		from = new ArrayList();
-		from.add(a1);
-		from.add(a2);
-
-		Collection to;
-		to = new ArrayList();
-		to.add(b);
-
-		from = new ResolutionHelper(null, null).attachCUs(from);
-		to = new ResolutionHelper(null, null).attachCUs(to);
-		new OperationGenerator().generateOperation(from, to);
-	}
-
-	public void testUpdate1() {
-		InstallableUnit a = new InstallableUnit();
-		a.setId("a");
-		a.setVersion(new Version(1, 0, 0));
-
-		InstallableUnit b = new InstallableUnit();
-		b.setId("b");
-		b.setVersion(new Version(1, 0, 0));
-		b.setProperty(IInstallableUnitConstants.UPDATE_FROM, "a");
-		b.setProperty(IInstallableUnitConstants.UPDATE_RANGE, "[1.0.0, 2.0.0)");
-
-		Collection from;
-		from = new ArrayList();
-		from.add(a);
-
-		Collection to;
-		to = new ArrayList();
-		to.add(b);
-
-		from = new ResolutionHelper(null, null).attachCUs(from);
-		to = new ResolutionHelper(null, null).attachCUs(to);
-		new OperationGenerator().generateOperation(from, to);
-	}
-
-}
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 a9e9a36..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/OracleTest.java
+++ /dev/null
@@ -1,74 +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 org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.p2.director.IDirector;
-import org.eclipse.equinox.p2.engine.Profile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.InstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class OracleTest extends AbstractProvisioningTest {
-	InstallableUnit a1;
-	InstallableUnit a2;
-	InstallableUnit b1;
-	InstallableUnit c1;
-	InstallableUnit d1;
-	InstallableUnit d2;
-
-	IDirector director;
-	Profile profile;
-
-	protected void setUp() throws Exception {
-		a1 = new InstallableUnit();
-		a1.setId("A");
-		a1.setVersion(new Version(1, 0, 0));
-		a1.setSingleton(true);
-		a1.setRequiredCapabilities(createRequiredCapabilities(IInstallableUnit.IU_NAMESPACE, "C", new VersionRange("[1.0.0, 2.0.0)"), null));
-
-		c1 = new InstallableUnit();
-		c1.setId("C");
-		c1.setVersion(new Version(1, 0, 0));
-		c1.setSingleton(true);
-		c1.setRequiredCapabilities(createRequiredCapabilities(IInstallableUnit.IU_NAMESPACE, "D", new VersionRange("[1.0.0, 3.0.0)"), null));
-
-		d1 = new InstallableUnit();
-		d1.setId("D");
-		d1.setVersion(new Version(1, 0, 0));
-		d1.setSingleton(true);
-
-		b1 = new InstallableUnit();
-		b1.setId("B");
-		b1.setVersion(new Version(1, 0, 0));
-		b1.setSingleton(true);
-		b1.setRequiredCapabilities(createRequiredCapabilities(IInstallableUnit.IU_NAMESPACE, "D", new VersionRange("[2.0.0, 3.0.0)"), null));
-
-		d2 = new InstallableUnit();
-		d2.setId("D");
-		d2.setVersion(new Version(2, 0, 0));
-		d2.setSingleton(true);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, c1, d1, b1});
-
-		profile = new Profile("TestProfile." + getName());
-		director = createDirector();
-
-	}
-
-	public void testInstallA1() {
-		assertEquals(director.install(new IInstallableUnit[] {a1}, profile, null).getSeverity(), IStatus.OK);
-
-		createTestMetdataRepository(new IInstallableUnit[] {d2});
-		//		assertEquals(new Oracle().canInstall(new IInstallableUnit[] {b1}, profile, null), true);
-		assertEquals(director.install(new IInstallableUnit[] {b1}, profile, null).getSeverity(), IStatus.OK);
-	}
-}
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 7017463..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/OracleTest2.java
+++ /dev/null
@@ -1,91 +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 org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.p2.director.IDirector;
-import org.eclipse.equinox.p2.engine.Profile;
-import org.eclipse.equinox.p2.metadata.*;
-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 InstallableUnit a1;
-	private InstallableUnit a2;
-	private InstallableUnit b1;
-	private InstallableUnit c1;
-	private InstallableUnit c2;
-
-	IDirector director;
-	Profile profile;
-
-	protected void setUp() throws Exception {
-		a1 = new InstallableUnit();
-		a1.setId("A");
-		a1.setVersion(new Version(1, 0, 0));
-		a1.setSingleton(true);
-		a1.setRequiredCapabilities(createRequiredCapabilities(IInstallableUnit.IU_NAMESPACE, "C", new VersionRange("[1.0.0, 2.0.0)"), null));
-
-		c1 = new InstallableUnit();
-		c1.setId("C");
-		c1.setVersion(new Version(1, 0, 0));
-		c1.setSingleton(true);
-
-		a2 = new InstallableUnit();
-		a2.setId("A");
-		a2.setVersion(new Version(2, 0, 0));
-		a2.setSingleton(true);
-		a2.setProperty(IInstallableUnitConstants.UPDATE_FROM, "A");
-		a2.setProperty(IInstallableUnitConstants.UPDATE_RANGE, "[1.0.0, 2.3.0)");
-		a2.setRequiredCapabilities(createRequiredCapabilities(IInstallableUnit.IU_NAMESPACE, "C", new VersionRange("[2.0.0, 3.0.0)"), null));
-
-		b1 = new InstallableUnit();
-		b1.setId("B");
-		b1.setVersion(new Version(1, 0, 0));
-		b1.setSingleton(true);
-		b1.setRequiredCapabilities(createRequiredCapabilities(IInstallableUnit.IU_NAMESPACE, "C", new VersionRange("[2.0.0, 3.0.0)"), null));
-
-		c2 = new InstallableUnit();
-		c2.setId("C");
-		c2.setVersion(new Version(2, 0, 0));
-		c2.setSingleton(true);
-		c2.setProperty(IInstallableUnitConstants.UPDATE_FROM, "C");
-		c2.setProperty(IInstallableUnitConstants.UPDATE_RANGE, "[1.0.0, 2.3.0)");
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, c1});
-
-		profile = new Profile("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 = new Profile("testInstallA1bis." + getName());
-		director = createDirector();
-		createTestMetdataRepository(new IInstallableUnit[] {a1, a2, c1, c2, b1});
-
-		assertEquals(director.install(new IInstallableUnit[] {a1}, profile, null).getSeverity(), IStatus.OK);
-	}
-}
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 625d07c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/PickerTest.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.p2.tests.director;
-
-import junit.framework.TestCase;
-import org.eclipse.equinox.internal.p2.director.Picker;
-import org.eclipse.equinox.p2.metadata.*;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-/**
- * Testing of the {@link Picker} class.
- */
-public class PickerTest extends TestCase {
-	InstallableUnit unitVersion5;
-	private Picker picker;
-
-	public PickerTest() {
-		super(""); //$NON-NLS-1$
-	}
-
-	public PickerTest(String name) {
-		super(name);
-	}
-
-	private RequiredCapability[] createRequiredCapabilities(String namespace, String name, VersionRange range, String filter) {
-		return new RequiredCapability[] {new RequiredCapability(namespace, name, range, filter, false, false)};
-	}
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		Version version = new Version(5, 0, 0);
-
-		//create some sample IUs to be available for the picker
-		unitVersion5 = new InstallableUnit();
-		unitVersion5.setId("required");
-		unitVersion5.setVersion(version);
-		unitVersion5.setCapabilities(new ProvidedCapability[] {new ProvidedCapability("test.capability", "test", version)});
-
-		InstallableUnit[] units = new InstallableUnit[] {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/RollbackTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/RollbackTest.java
deleted file mode 100644
index f526009..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/RollbackTest.java
+++ /dev/null
@@ -1,65 +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 java.net.MalformedURLException;
-import java.net.URL;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.director.DirectorActivator;
-import org.eclipse.equinox.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.p2.core.location.AgentLocation;
-import org.eclipse.equinox.p2.director.IDirector;
-import org.eclipse.equinox.p2.engine.Profile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.InstallableUnit;
-import org.eclipse.equinox.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.p2.metadata.repository.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.osgi.framework.Version;
-
-public class RollbackTest extends AbstractProvisioningTest {
-
-	private InstallableUnit a1;
-	private Profile profile;
-	private IDirector director;
-
-	protected void setUp() throws Exception {
-		a1 = new InstallableUnit();
-		a1.setId("A");
-		a1.setVersion(new Version(1, 0, 0));
-		a1.setSingleton(true);
-
-		profile = new Profile("TestProfile." + getName());
-		director = createDirector();
-	}
-
-	public void test() {
-		System.out.println(director.install(new IInstallableUnit[] {a1}, profile, new NullProgressMonitor()));
-		printProfile(profile);
-		IMetadataRepositoryManager repoMan = (IMetadataRepositoryManager) ServiceHelper.getService(TestActivator.getContext(), IMetadataRepositoryManager.class.getName());
-		IMetadataRepository repo = null;
-		repo = repoMan.getRepository(getRollbackRepository());
-		IInstallableUnit[] ius = repo.getInstallableUnits(null);
-		for (int i = 0; i < ius.length; i++)
-			System.out.println(ius[i]);
-		director.become(ius[0], profile, new NullProgressMonitor());
-		printProfile(profile);
-	}
-
-	private URL getRollbackRepository() {
-		try {
-			URL location = ((AgentLocation) ServiceHelper.getService(DirectorActivator.context, AgentLocation.class.getName())).getDataArea(DirectorActivator.PI_DIRECTOR);
-			return new URL(location, "rollback");
-		} catch (MalformedURLException e) {
-			fail("4.99", e);
-			return null;
-		}
-	}
-}
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 87f0f59..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/SingletonTest.java
+++ /dev/null
@@ -1,81 +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 org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.p2.director.IDirector;
-import org.eclipse.equinox.p2.engine.Profile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.InstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.osgi.framework.Version;
-
-public class SingletonTest extends AbstractProvisioningTest {
-	InstallableUnit f1;
-	InstallableUnit f1_1;
-
-	InstallableUnit f2;
-	InstallableUnit f2_1;
-
-	InstallableUnit junit38;
-	InstallableUnit junit40;
-
-	IDirector director;
-	Profile profile;
-
-	protected void setUp() throws Exception {
-		f1 = new InstallableUnit();
-		f1.setId("f1");
-		f1.setVersion(new Version(1, 0, 0));
-		f1.setSingleton(true);
-
-		f1_1 = new InstallableUnit();
-		f1_1.setId("f1");
-		f1_1.setVersion(new Version(1, 1, 0));
-		f1_1.setSingleton(true);
-
-		f2 = new InstallableUnit();
-		f2.setId("f2");
-		f2.setVersion(new Version(1, 0, 0));
-		f2.setSingleton(true);
-
-		f2_1 = new InstallableUnit();
-		f2_1.setId("f2");
-		f2_1.setVersion(new Version(1, 0, 1));
-
-		junit38 = new InstallableUnit();
-		junit38.setId("junit");
-		junit38.setVersion(new Version(3, 8, 1));
-
-		junit40 = new InstallableUnit();
-		junit40.setId("junit");
-		junit40.setVersion(new Version(4, 0, 1));
-
-		createTestMetdataRepository(new IInstallableUnit[] {f1, f1_1, junit38, junit40, f2, f2_1});
-
-		profile = new Profile("TestProfile." + getName());
-		director = createDirector();
-	}
-
-	public void testMultipleVersionNonSingleton() {
-		//The installation of junit38 and junit 40 together should succeed
-		assertEquals(director.install(new IInstallableUnit[] {junit38, junit40}, profile, new NullProgressMonitor()).getSeverity(), IStatus.OK);
-	}
-
-	public void testMultipleVersionSingleton() {
-		//The installation of junit38 and junit 40 together should succeed
-		assertEquals(director.install(new IInstallableUnit[] {f1, f1_1}, profile, new NullProgressMonitor()).getSeverity(), IStatus.ERROR);
-	}
-
-	public void testMultipleVersionSingleton2() {
-		//The installation of junit38 and junit 40 together should succeed
-		assertEquals(director.install(new IInstallableUnit[] {f2, f2_1}, profile, new NullProgressMonitor()).getSeverity(), IStatus.ERROR);
-	}
-}
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 0a844dc..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/UninstallTest.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 org.eclipse.equinox.p2.director.IDirector;
-import org.eclipse.equinox.p2.engine.Profile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.InstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.osgi.framework.Version;
-
-public class UninstallTest extends AbstractProvisioningTest {
-	private InstallableUnit a1;
-	private Profile profile;
-	private IDirector director;
-
-	protected void setUp() throws Exception {
-		a1 = new InstallableUnit();
-		a1.setId("A");
-		a1.setVersion(new Version(1, 0, 0));
-		a1.setSingleton(true);
-
-		profile = new Profile("TestProfile." + getName());
-		director = createDirector();
-	}
-
-	public void testUninstall() {
-		System.out.println(director.install(new IInstallableUnit[] {a1}, profile, null));
-		director.uninstall(new IInstallableUnit[] {a1}, profile, null);
-		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 463c3e9..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/UpdateTest.java
+++ /dev/null
@@ -1,77 +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 java.util.Iterator;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.p2.director.IDirector;
-import org.eclipse.equinox.p2.engine.Profile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.InstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class UpdateTest extends AbstractProvisioningTest {
-	InstallableUnit f1;
-	InstallableUnit f1_1;
-	InstallableUnit f1_4;
-
-	InstallableUnit fa;
-	InstallableUnit fap;
-	IDirector director;
-	Profile profile;
-
-	protected void setUp() throws Exception {
-		f1 = new InstallableUnit();
-		f1.setId("f1");
-		f1.setVersion(new Version(1, 0, 0));
-		f1.setSingleton(true);
-
-		f1_1 = new InstallableUnit();
-		f1_1.setId("f1");
-		f1_1.setVersion(new Version(1, 1, 0));
-		f1_1.setSingleton(true);
-
-		f1_4 = new InstallableUnit();
-		f1_4.setId("f1");
-		f1_4.setVersion(new Version(1, 4, 0));
-		f1_4.setSingleton(true);
-
-		fa = new InstallableUnit();
-		fa.setId("fa");
-		fa.setVersion(new Version(1, 0, 0));
-		fa.setRequiredCapabilities(createRequiredCapabilities(IInstallableUnit.IU_NAMESPACE, "f1", new VersionRange("[1.0.0, 1.3.0)"), null));
-
-		fap = new InstallableUnit();
-		fap.setId("fa");
-		fap.setVersion(new Version(1, 1, 0));
-		fap.setRequiredCapabilities(createRequiredCapabilities(IInstallableUnit.IU_NAMESPACE, "f1", new VersionRange("[1.0.0, 1.4.0)"), null));
-
-		createTestMetdataRepository(new IInstallableUnit[] {f1, fa});
-
-		profile = new Profile("TestProfile." + getName());
-		director = createDirector();
-		director.install(new IInstallableUnit[] {fa}, profile, null);
-
-		createTestMetdataRepository(new IInstallableUnit[] {f1_1, f1_4});
-	}
-
-	public void testInstall() {
-		assertEquals(IStatus.OK, director.install(new IInstallableUnit[] {f1_1}, profile, new NullProgressMonitor()).getSeverity());
-		for (Iterator iterator = profile.getInstallableUnits(); iterator.hasNext();) {
-			System.out.println(iterator.next());
-
-		}
-		assertEquals(IStatus.ERROR, director.install(new IInstallableUnit[] {f1_4}, profile, new NullProgressMonitor()).getSeverity());
-
-		//		director.replace(new IInstallableUnit[] {fap}, profile, new NullProgressMonitor());
-	}
-}
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 a615da4..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/download/DownloadManagerTest.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.download;
-
-import junit.framework.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.p2.download.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();
-		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/engine/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/AllTests.java
deleted file mode 100644
index 2901653..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(InstallRegistryTest.class);
-		suite.addTestSuite(PhaseSetTest.class);
-		suite.addTestSuite(PhaseTest.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 975e5fb..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/EngineTest.java
+++ /dev/null
@@ -1,256 +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 java.io.File;
-import java.util.*;
-import junit.framework.TestCase;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.*;
-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 TestCase {
-	private ServiceReference engineRef;
-	private Engine 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(Engine.class.getName());
-		engine = (Engine) TestActivator.getContext().getService(engineRef);
-	}
-
-	protected void tearDown() throws Exception {
-		engine = null;
-		TestActivator.getContext().ungetService(engineRef);
-	}
-
-	public void testNullProfile() {
-
-		Profile profile = null;
-		PhaseSet phaseSet = new DefaultPhaseSet();
-		Operand[] operands = new Operand[] {};
-		try {
-			engine.perform(profile, phaseSet, operands, new NullProgressMonitor());
-		} catch (IllegalArgumentException expected) {
-			return;
-		}
-		fail();
-	}
-
-	public void testNullPhaseSet() {
-
-		Profile profile = new Profile("test");
-		PhaseSet phaseSet = null;
-		Operand[] operands = new Operand[] {};
-		try {
-			engine.perform(profile, phaseSet, operands, new NullProgressMonitor());
-		} catch (IllegalArgumentException expected) {
-			return;
-		}
-		fail();
-	}
-
-	public void testNullOperands() {
-
-		Profile profile = new Profile("test");
-		PhaseSet phaseSet = new DefaultPhaseSet();
-		Operand[] operands = null;
-		try {
-			engine.perform(profile, phaseSet, operands, new NullProgressMonitor());
-		} catch (IllegalArgumentException expected) {
-			return;
-		}
-		fail();
-	}
-
-	public void testEmptyOperands() {
-
-		Profile profile = new Profile("test");
-		PhaseSet phaseSet = new DefaultPhaseSet();
-		Operand[] operands = new Operand[] {};
-		IStatus result = engine.perform(profile, phaseSet, operands, new NullProgressMonitor());
-		assertTrue(result.isOK());
-	}
-
-	public void testEmptyPhaseSet() {
-
-		Profile profile = new Profile("test");
-		PhaseSet phaseSet = new PhaseSet(new Phase[] {}) {
-			// empty PhaseSet
-		};
-		Operand op = new Operand(new ResolvedInstallableUnit(new InstallableUnit()), null);
-		Operand[] operands = new Operand[] {op};
-		IStatus result = engine.perform(profile, phaseSet, operands, new NullProgressMonitor());
-		assertTrue(result.isOK());
-	}
-
-	public void testPerformSingleNullOperand() {
-
-		Profile profile = new Profile("test");
-		PhaseSet phaseSet = new DefaultPhaseSet();
-		Operand[] operands = new Operand[] {new Operand(null, null)};
-		IStatus result = engine.perform(profile, phaseSet, operands, new NullProgressMonitor());
-		assertTrue(result.isOK());
-	}
-
-	public void testPerformInstallOSGiFramework() {
-
-		Profile profile = new Profile("test");
-		profile.setValue(Profile.PROP_INSTALL_FOLDER, testProvisioning.getAbsolutePath());
-		for (Iterator it = profile.getInstallableUnits(); it.hasNext();) {
-			PhaseSet phaseSet = new DefaultPhaseSet();
-			InstallableUnit doomed = (InstallableUnit) it.next();
-			Operand[] operands = new Operand[] {new Operand(doomed.getResolved(), null)};
-			engine.perform(profile, phaseSet, operands, new NullProgressMonitor());
-		}
-		PhaseSet phaseSet = new DefaultPhaseSet();
-
-		Operand[] operands = new Operand[] {new Operand(null, createOSGiIU())};
-		IStatus result = engine.perform(profile, phaseSet, operands, new NullProgressMonitor());
-		assertTrue(result.isOK());
-		Iterator ius = profile.getInstallableUnits();
-		assertTrue(ius.hasNext());
-	}
-
-	public void testPerformUpdateOSGiFramework() {
-
-		Profile profile = new Profile("test");
-		profile.setValue(Profile.PROP_INSTALL_FOLDER, testProvisioning.getAbsolutePath());
-		PhaseSet phaseSet = new DefaultPhaseSet();
-		Operand[] operands = new Operand[] {new Operand(createOSGiIU(), createOSGiIU())};
-		IStatus result = engine.perform(profile, phaseSet, operands, new NullProgressMonitor());
-		assertTrue(result.isOK());
-		Iterator ius = profile.getInstallableUnits();
-		assertTrue(ius.hasNext());
-	}
-
-	public void testPerformUninstallOSGiFramework() {
-
-		Profile profile = new Profile("test");
-		profile.setValue(Profile.PROP_INSTALL_FOLDER, testProvisioning.getAbsolutePath());
-		PhaseSet phaseSet = new DefaultPhaseSet();
-		Operand[] operands = new Operand[] {new Operand(createOSGiIU(), null)};
-		IStatus result = engine.perform(profile, phaseSet, operands, new NullProgressMonitor());
-		assertTrue(result.isOK());
-		Iterator ius = profile.getInstallableUnits();
-		assertFalse(ius.hasNext());
-	}
-
-	public void testPerformRollback() {
-
-		Profile profile = new Profile("test");
-		profile.setValue(Profile.PROP_INSTALL_FOLDER, testProvisioning.getAbsolutePath());
-		PhaseSet phaseSet = new DefaultPhaseSet();
-
-		Iterator ius = profile.getInstallableUnits();
-		assertFalse(ius.hasNext());
-
-		Operand[] operands = new Operand[] {new Operand(null, createOSGiIU()), new Operand(null, createBadIU())};
-		IStatus result = engine.perform(profile, phaseSet, operands, new NullProgressMonitor());
-		assertFalse(result.isOK());
-		ius = profile.getInstallableUnits();
-		assertFalse(ius.hasNext());
-	}
-
-	private IResolvedInstallableUnit createOSGiIU() {
-		InstallableUnit iu = new InstallableUnit();
-		iu.setId("org.eclipse.osgi");
-		iu.setVersion(new Version("3.3.1.R33x_v20070828"));
-		iu.setTouchpointType(new TouchpointType("eclipse", new Version("1.0.0")));
-		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});");
-
-		IResolvedInstallableUnit[] cus = new IResolvedInstallableUnit[1];
-		InstallableUnitFragment tmp = new InstallableUnitFragment();
-		tmp.setImmutableTouchpointData(new TouchpointData(touchpointData));
-		cus[0] = tmp.getResolved();
-
-		//IArtifactKey key = new ArtifactKey("eclipse", "plugin", "org.eclipse.osgi", new Version("3.3.1.R33x_v20070828"));
-		//iu.setArtifacts(new IArtifactKey[] {key});
-
-		ResolvedInstallableUnit result = (ResolvedInstallableUnit) iu.getResolved();
-		result.setFragments(cus);
-
-		return result;
-	}
-
-	private IResolvedInstallableUnit createBadIU() {
-		InstallableUnit iu = new InstallableUnit();
-		iu.setId("org.eclipse.osgi.bad");
-		iu.setVersion(new Version("3.3.1.R33x_v20070828"));
-		iu.setTouchpointType(new TouchpointType("eclipse", new Version("1.0.0")));
-		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");
-
-		IResolvedInstallableUnit[] cus = new IResolvedInstallableUnit[1];
-		InstallableUnitFragment tmp = new InstallableUnitFragment();
-		tmp.setImmutableTouchpointData(new TouchpointData(touchpointData));
-		cus[0] = tmp.getResolved();
-
-		//IArtifactKey key = new ArtifactKey("eclipse", "plugin", "org.eclipse.osgi", new Version("3.3.1.R33x_v20070828"));
-		//iu.setArtifacts(new IArtifactKey[] {key});
-
-		ResolvedInstallableUnit result = (ResolvedInstallableUnit) iu.getResolved();
-		result.setFragments(cus);
-
-		return result;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/InstallRegistryTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/InstallRegistryTest.java
deleted file mode 100644
index 600879b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/InstallRegistryTest.java
+++ /dev/null
@@ -1,101 +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.TestCase;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.installregistry.IInstallRegistry;
-import org.eclipse.equinox.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.osgi.framework.ServiceReference;
-import org.osgi.framework.Version;
-
-/**
- * Simple test of the engine API.
- */
-public class InstallRegistryTest extends TestCase {
-	private ServiceReference registryRef;
-	private IInstallRegistry registry;
-	private ServiceReference engineRef;
-	private Engine engine;
-
-	public InstallRegistryTest(String name) {
-		super(name);
-	}
-
-	public InstallRegistryTest() {
-		super("");
-	}
-
-	protected void setUp() throws Exception {
-		registryRef = TestActivator.getContext().getServiceReference(IInstallRegistry.class.getName());
-		registry = (IInstallRegistry) TestActivator.getContext().getService(registryRef);
-		engineRef = TestActivator.getContext().getServiceReference(Engine.class.getName());
-		engine = (Engine) TestActivator.getContext().getService(engineRef);
-	}
-
-	protected void tearDown() throws Exception {
-		engine = null;
-		TestActivator.getContext().ungetService(engineRef);
-		registry = null;
-		TestActivator.getContext().ungetService(registryRef);
-	}
-
-	public void testAddRemoveIU() {
-		PhaseSet phaseSet = new DefaultPhaseSet();
-		Profile profile = new Profile("testProfile");
-		assertEquals(0, registry.getProfileInstallRegistry(profile).getInstallableUnits().length);
-		engine.perform(profile, phaseSet, new Operand[] {new Operand(null, createTestIU())}, new NullProgressMonitor());
-		assertEquals(1, registry.getProfileInstallRegistry(profile).getInstallableUnits().length);
-		engine.perform(profile, phaseSet, new Operand[] {new Operand(createTestIU(), null)}, new NullProgressMonitor());
-		assertEquals(0, registry.getProfileInstallRegistry(profile).getInstallableUnits().length);
-		registry.getProfileInstallRegistries().remove(profile);
-	}
-
-	public void testPeristence() {
-		PhaseSet phaseSet = new DefaultPhaseSet();
-		Profile profile = new Profile("testProfile");
-		assertEquals(0, registry.getProfileInstallRegistry(profile).getInstallableUnits().length);
-		engine.perform(profile, phaseSet, new Operand[] {new Operand(null, createTestIU())}, new NullProgressMonitor());
-		assertEquals(1, registry.getProfileInstallRegistry(profile).getInstallableUnits().length);
-
-		restart();
-
-		assertEquals(1, registry.getProfileInstallRegistry(profile).getInstallableUnits().length);
-		engine.perform(profile, phaseSet, new Operand[] {new Operand(createTestIU(), null)}, new NullProgressMonitor());
-		assertEquals(0, registry.getProfileInstallRegistry(profile).getInstallableUnits().length);
-		restart();
-		assertEquals(0, registry.getProfileInstallRegistry(profile).getInstallableUnits().length);
-	}
-
-	private void restart() {
-		try {
-			tearDown();
-			TestActivator.getBundle("org.eclipse.equinox.p2.exemplarysetup").stop();
-			TestActivator.getBundle("org.eclipse.equinox.p2.exemplarysetup").start();
-			setUp();
-		} catch (Exception e) {
-			fail();
-			e.printStackTrace();
-		}
-	}
-
-	private IResolvedInstallableUnit createTestIU() {
-		InstallableUnit iu = new InstallableUnit();
-		iu.setId("org.eclipse.test");
-		iu.setVersion(new Version("1.0.0"));
-		iu.setTouchpointType(new TouchpointType("null", new Version("1.0.0")));
-		ResolvedInstallableUnit result = (ResolvedInstallableUnit) iu.getResolved();
-
-		return result;
-	}
-}
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 cd7a9c3..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/PhaseSetTest.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.engine;
-
-import junit.framework.TestCase;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.InstallableUnit;
-import org.eclipse.equinox.p2.metadata.ResolvedInstallableUnit;
-
-/**
- * Simple test of the engine API.
- */
-public class PhaseSetTest extends TestCase {
-	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 testEmptyPhases() {
-		Profile profile = new Profile("test");
-		PhaseSet phaseSet = new PhaseSet(new Phase[] {}) {
-			// empty PhaseSet
-		};
-		Operand op = new Operand(new ResolvedInstallableUnit(new InstallableUnit()), null);
-		Operand[] operands = new Operand[] {op};
-
-		IStatus result = phaseSet.perform(new EngineSession(profile), profile, operands, 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 22d9b14..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/PhaseTest.java
+++ /dev/null
@@ -1,226 +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 java.util.Map;
-import junit.framework.TestCase;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.osgi.framework.ServiceReference;
-
-/**
- * Simple test of the engine API.
- */
-public class PhaseTest extends TestCase {
-	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 Phase {
-
-		boolean completeOperand;
-		boolean getAction;
-		boolean initializeOperand;
-		boolean completePhase;
-		boolean initializePhase;
-
-		protected TestPhase() {
-			super("test", 1, "testPhase");
-		}
-
-		protected TestPhase(String phaseId, int weight, String phaseName) {
-			super(phaseId, weight, phaseName);
-		}
-
-		protected ProvisioningAction[] getActions(Operand currentOperand) {
-			return null;
-		}
-
-		protected boolean isApplicable(Operand op) {
-			return true;
-		}
-
-		protected IStatus completeOperand(Operand operand, Map parameters) {
-			completeOperand = true;
-			return super.completeOperand(operand, parameters);
-		}
-
-		public ProvisioningAction getAction(String actionId) {
-			getAction = true;
-			return super.getAction(actionId);
-		}
-
-		protected IStatus initializeOperand(Profile profile, Operand operand, Map parameters, IProgressMonitor monitor) {
-			initializeOperand = true;
-			return super.initializeOperand(profile, operand, parameters, monitor);
-		}
-
-		protected IStatus completePhase(IProgressMonitor monitor, Profile profile, Map parameters) {
-			completePhase = true;
-			return super.completePhase(monitor, profile, parameters);
-		}
-
-		protected IStatus initializePhase(IProgressMonitor monitor, Profile profile, Map parameters) {
-			initializePhase = true;
-			return super.initializePhase(monitor, profile, parameters);
-		}
-	}
-
-	private ServiceReference engineRef;
-	private Engine engine;
-
-	public PhaseTest(String name) {
-		super(name);
-	}
-
-	public PhaseTest() {
-		super("");
-	}
-
-	protected void setUp() throws Exception {
-		engineRef = TestActivator.getContext().getServiceReference(Engine.class.getName());
-		engine = (Engine) TestActivator.getContext().getService(engineRef);
-	}
-
-	protected void tearDown() throws Exception {
-		engine = null;
-		TestActivator.getContext().ungetService(engineRef);
-	}
-
-	public void testNullPhaseId() {
-		try {
-			new TestPhase(null, 1, "xyz");
-		} catch (IllegalArgumentException expected) {
-			return;
-		}
-		fail();
-	}
-
-	public void testEmptyPhaseId() {
-		try {
-			new TestPhase("", 1, "xyz");
-		} catch (IllegalArgumentException expected) {
-			return;
-		}
-		fail();
-	}
-
-	public void testNegativeWeight() {
-		try {
-			new TestPhase("xyz", -1, "xyz");
-		} catch (IllegalArgumentException expected) {
-			return;
-		}
-		fail();
-	}
-
-	public void testZeroWeight() {
-		try {
-			new TestPhase("xyz", 0, "xyz");
-		} catch (IllegalArgumentException expected) {
-			return;
-		}
-		fail();
-	}
-
-	public void testNullPhaseName() {
-		try {
-			new TestPhase("xyz", 1, null);
-		} catch (IllegalArgumentException expected) {
-			return;
-		}
-		fail();
-	}
-
-	public void testEmptyPhaseName() {
-		try {
-			new TestPhase("xyz", 1, "");
-		} catch (IllegalArgumentException expected) {
-			return;
-		}
-		fail();
-	}
-
-	public void testPerform() {
-		PhaseSet phaseSet = new TestPhaseSet();
-		Profile profile = new Profile("testProfile");
-
-		engine.perform(profile, phaseSet, new Operand[0], new NullProgressMonitor());
-	}
-
-	public void testInitCompletePhase() {
-		TestPhase phase = new TestPhase() {
-			protected IStatus initializePhase(IProgressMonitor monitor, Profile profile, Map parameters) {
-				assertFalse(initializePhase);
-				assertFalse(completePhase);
-				super.initializePhase(monitor, profile, parameters);
-				assertTrue(initializePhase);
-				assertFalse(completePhase);
-				return null;
-			}
-
-			protected IStatus completePhase(IProgressMonitor monitor, Profile profile, Map parameters) {
-				assertTrue(initializePhase);
-				assertFalse(completePhase);
-				super.completePhase(monitor, profile, parameters);
-				assertTrue(initializePhase);
-				assertTrue(completePhase);
-				return null;
-			}
-		};
-		PhaseSet phaseSet = new TestPhaseSet(phase);
-		Profile profile = new Profile("testProfile");
-
-		engine.perform(profile, phaseSet, new Operand[] {new Operand(null, null)}, new NullProgressMonitor());
-		assertTrue(phase.initializePhase);
-		assertTrue(phase.completePhase);
-	}
-
-	public void testInitCompleteOperand() {
-		TestPhase phase = new TestPhase() {
-			protected IStatus completeOperand(Operand operand, Map parameters) {
-				assertTrue(initializeOperand);
-				assertFalse(completeOperand);
-				super.completeOperand(operand, parameters);
-				assertTrue(initializeOperand);
-				assertTrue(completeOperand);
-				return null;
-			}
-
-			protected IStatus initializeOperand(Profile 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);
-		Profile profile = new Profile("testProfile");
-
-		engine.perform(profile, phaseSet, new Operand[] {new Operand(null, 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 ab7b5fb..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/ProfileRegistryTest.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.p2.tests.engine;
-
-import junit.framework.TestCase;
-import org.eclipse.equinox.p2.engine.IProfileRegistry;
-import org.eclipse.equinox.p2.engine.Profile;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.osgi.framework.ServiceReference;
-
-/**
- * Simple test of the engine API.
- */
-public class ProfileRegistryTest extends TestCase {
-	private ServiceReference registryRef;
-	private IProfileRegistry registry;
-
-	public ProfileRegistryTest(String name) {
-		super(name);
-	}
-
-	public ProfileRegistryTest() {
-		super("");
-	}
-
-	protected void setUp() throws Exception {
-		registryRef = TestActivator.getContext().getServiceReference(IProfileRegistry.class.getName());
-		registry = (IProfileRegistry) TestActivator.getContext().getService(registryRef);
-	}
-
-	protected void tearDown() throws Exception {
-		registry = null;
-		TestActivator.getContext().ungetService(registryRef);
-	}
-
-	public void testAddRemoveProfile() {
-		assertNull(registry.getProfile("test"));
-		Profile test = new Profile("test");
-		registry.addProfile(test);
-		assertEquals(test, registry.getProfile("test"));
-		registry.removeProfile(test);
-		assertNull(registry.getProfile("test"));
-	}
-
-	public void testPeristence() {
-		assertNull(registry.getProfile("test"));
-		Profile test = new Profile("test");
-		registry.addProfile(test);
-		assertEquals(test, registry.getProfile("test"));
-
-		restart();
-
-		registry.removeProfile(test);
-		assertNull(registry.getProfile("test"));
-
-		restart();
-		assertNull(registry.getProfile("test"));
-	}
-
-	private void restart() {
-		try {
-			tearDown();
-			TestActivator.getBundle("org.eclipse.equinox.p2.exemplarysetup").stop();
-			TestActivator.getBundle("org.eclipse.equinox.p2.exemplarysetup").start();
-			setUp();
-		} catch (Exception e) {
-			fail();
-			e.printStackTrace();
-		}
-	}
-}
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 b4884df..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/ProfileTest.java
+++ /dev/null
@@ -1,45 +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.TestCase;
-import org.eclipse.equinox.p2.engine.Profile;
-
-/**
- * Simple test of the engine API.
- */
-public class ProfileTest extends TestCase {
-	public ProfileTest(String name) {
-		super(name);
-	}
-
-	public ProfileTest() {
-		super("");
-	}
-
-	public void testNullProfile() {
-		try {
-			new Profile(null);
-		} catch (IllegalArgumentException exepcted) {
-			return;
-		}
-		fail();
-	}
-
-	public void testEmptyProfile() {
-		try {
-			new Profile("");
-		} catch (IllegalArgumentException exepcted) {
-			return;
-		}
-		fail();
-	}
-}
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 4da94b7..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 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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 junit.framework.TestCase;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.*;
-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 TestCase {
-
-	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(Profile profile, String phaseId, Operand operand, Map parameters) {
-			completeOperand++;
-			return super.completeOperand(profile, phaseId, operand, parameters);
-		}
-
-		public IStatus completePhase(IProgressMonitor monitor, Profile profile, String phaseId, Map touchpointParameters) {
-			completePhase++;
-			return super.completePhase(monitor, profile, phaseId, touchpointParameters);
-		}
-
-		public IStatus initializeOperand(Profile profile, String phaseId, Operand operand, Map parameters) {
-			initializeOperand++;
-			return super.initializeOperand(profile, phaseId, operand, parameters);
-		}
-
-		public IStatus initializePhase(IProgressMonitor monitor, Profile profile, String phaseId, Map touchpointParameters) {
-			initializePhase++;
-			return super.initializePhase(monitor, profile, phaseId, touchpointParameters);
-		}
-
-		public ProvisioningAction getAction(String actionId) {
-			return null;
-		}
-
-		public TouchpointType getTouchpointType() {
-			return new TouchpointType("test", new Version("1.0.0"));
-		}
-	}
-
-	public static class OperandTestTouchpoint extends TestTouchpoint {
-		public IStatus completeOperand(Profile profile, String phaseId, Operand 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(Profile profile, String phaseId, Operand 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, Profile 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, Profile profile, String phaseId, Operand operand, 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 Engine engine;
-
-	public TouchpointTest(String name) {
-		super(name);
-	}
-
-	public TouchpointTest() {
-		super("");
-	}
-
-	protected void setUp() throws Exception {
-		engineRef = TestActivator.getContext().getServiceReference(Engine.class.getName());
-		engine = (Engine) TestActivator.getContext().getService(engineRef);
-	}
-
-	protected void tearDown() throws Exception {
-		engine = null;
-		TestActivator.getContext().ungetService(engineRef);
-	}
-
-	public void testInitCompleteOperand() {
-		PhaseSet phaseSet = new TestPhaseSet();
-		Profile profile = new Profile("testProfile");
-		engine.perform(profile, phaseSet, new Operand[] {new Operand(null, createTestIU("operandTest"))}, new NullProgressMonitor());
-		assertEquals(1, testTouchpoint.initializeOperand);
-		assertEquals(1, testTouchpoint.completeOperand);
-	}
-
-	public void testInitCompletePhase() {
-		PhaseSet phaseSet = new TestPhaseSet();
-		Profile profile = new Profile("testProfile");
-		engine.perform(profile, phaseSet, new Operand[] {new Operand(null, createTestIU("phaseTest"))}, new NullProgressMonitor());
-		assertEquals(1, testTouchpoint.initializeOperand);
-		assertEquals(1, testTouchpoint.completeOperand);
-	}
-
-	private IResolvedInstallableUnit createTestIU(String touchpointName) {
-		InstallableUnit iu = new InstallableUnit();
-		iu.setId("org.eclipse.test");
-		iu.setVersion(new Version("1.0.0"));
-		iu.setTouchpointType(new TouchpointType(touchpointName, new Version("1.0.0")));
-		ResolvedInstallableUnit result = (ResolvedInstallableUnit) iu.getResolved();
-
-		return result;
-	}
-
-}
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 a3bcf38..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/DirectorTest.java
+++ /dev/null
@@ -1,145 +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.full;
-
-import java.util.Collection;
-import java.util.Iterator;
-import junit.framework.TestCase;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.p2.core.helpers.*;
-import org.eclipse.equinox.p2.core.location.AgentLocation;
-import org.eclipse.equinox.p2.director.IDirector;
-import org.eclipse.equinox.p2.engine.IProfileRegistry;
-import org.eclipse.equinox.p2.engine.Profile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.IResolvedInstallableUnit;
-import org.eclipse.equinox.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.p2.metadata.repository.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.eclipse.osgi.service.environment.EnvironmentInfo;
-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 TestCase {
-
-	public void testInstallIU() {
-		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");
-		}
-
-		IMetadataRepository[] repos = mgr.getKnownRepositories();
-		TwoTierMap allIUs = new TwoTierMap();
-		for (int i = 0; i < repos.length; i++) {
-			IInstallableUnit[] ius = repos[i].getInstallableUnits(null);
-			for (int j = 0; j < ius.length; j++) {
-				allIUs.put(ius[j].getId(), ius[j].getVersion(), ius[j]);
-			}
-		}
-
-		String installFolder = System.getProperty(Profile.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 profileId = installFolder;
-		String newFlavor = System.getProperty("eclipse.p2.configurationFlavor");
-		boolean doUninstall = (Boolean.TRUE.equals(Boolean.valueOf(System.getProperty("eclipse.p2.doUninstall"))));
-
-		Profile p = profileRegistry.getProfile(profileId);
-		if (p == null) {
-			if (doUninstall) {
-				throw new RuntimeException("Uninstalling from a nonexistent profile");
-			}
-			p = new Profile(installFolder); //Typically a profile would receive a name.
-			p.setValue(Profile.PROP_INSTALL_FOLDER, installFolder);
-			p.setValue(Profile.PROP_FLAVOR, newFlavor);
-			// TODO: should we add the profile to the registry here? instead of after test?
-		} else {
-			String currentFlavor = p.getValue(Profile.PROP_FLAVOR);
-			if (currentFlavor != null && !currentFlavor.endsWith(newFlavor)) {
-				throw new RuntimeException("Install flavor not consistent with profile flavor");
-			} else if (currentFlavor == null) {
-				p.setValue(Profile.PROP_FLAVOR, newFlavor);
-			}
-		}
-
-		EnvironmentInfo info = (EnvironmentInfo) ServiceHelper.getService(TestActivator.getContext(), EnvironmentInfo.class.getName());
-		if (info != null)
-			p.setValue(Profile.PROP_ENVIRONMENTS, "osgi.os=" + info.getOS() + ",osgi.ws=" + info.getWS() + ",osgi.arch=" + info.getOSArch());
-
-		IInstallableUnit[] allRoots = new IInstallableUnit[1];
-		Collection allJobs = allIUs.getAll(System.getProperty("eclipse.p2.autoInstall"));
-		IStatus operationStatus = null;
-		if (allJobs.size() != 0) {
-			allRoots[0] = (IInstallableUnit) allJobs.iterator().next();
-			if (!doUninstall) {
-				operationStatus = director.install(allRoots, p, new NullProgressMonitor());
-			} else {
-				operationStatus = director.uninstall(allRoots, p, new NullProgressMonitor());
-			}
-		} else {
-			operationStatus = new Status(IStatus.INFO, "org.eclipse.equinox.p2.director.test", "The installable unit '" + System.getProperty("eclipse.p2.autoInstall") + "' has not been found");
-		}
-
-		if (operationStatus.isOK()) {
-			System.out.println((!doUninstall ? "installation" : "uninstallation") + " complete");
-			if (profileRegistry.getProfile(p.getProfileId()) == null) {
-				profileRegistry.addProfile(p);
-			} else {
-				// TODO: should delete the profile if it is 'empty'
-				// if (p.isEmpty()) {
-				//     profileRegistry.removeProfile(p);
-				// }
-			}
-		} else {
-			System.out.println((!doUninstall ? "installation" : "uninstallation") + " failed. " + operationStatus);
-			LogHelper.log(operationStatus);
-		}
-		if (!operationStatus.isOK())
-			fail("The installation has failed");
-
-		IInstallableUnit[] result = p.query(allRoots[0].getId(), null, null, false, null);
-		assertEquals(result.length, (!doUninstall ? 1 : 0));
-		result = p.query("toolingdefault", null, null, false, null);
-
-		ensureFragmentAssociationIsNotPersisted(mgr);
-	}
-
-	private void ensureFragmentAssociationIsNotPersisted(IMetadataRepositoryManager mgr) {
-		//Test for https://bugs.eclipse.org/bugs/show_bug.cgi?id=177661
-		AgentLocation location = (AgentLocation) ServiceHelper.getService(TestActivator.getContext(), AgentLocation.class.getName());
-		mgr.removeRepository(mgr.getRepository(location.getMetadataRepositoryURL()));
-		IMetadataRepository repo = null;
-		repo = mgr.loadRepository(location.getMetadataRepositoryURL(), null);
-		Iterator it = repo.getIterator("org.eclipse.equinox.simpleconfigurator", null, null, false);
-		if (!it.hasNext())
-			return;
-		IInstallableUnit sc = (IInstallableUnit) it.next();
-		if (sc instanceof IResolvedInstallableUnit)
-			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 e5c3cb3..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/End2EndTest.java
+++ /dev/null
@@ -1,168 +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.full;
-
-import java.util.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.p2.director.IDirector;
-import org.eclipse.equinox.p2.director.IPlanner;
-import org.eclipse.equinox.p2.engine.IProfileRegistry;
-import org.eclipse.equinox.p2.engine.Profile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.p2.metadata.repository.IMetadataRepositoryManager;
-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 IMetadataRepository[] repos;
-	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());
-		IMetadataRepositoryManager mgr = (IMetadataRepositoryManager) TestActivator.context.getService(sr2);
-		if (mgr == null) {
-			throw new RuntimeException("Repository manager could not be loaded");
-		}
-		repos = mgr.getKnownRepositories();
-	}
-
-	private Profile createProfile(String profileId) {
-		String installFolder = System.getProperty(Profile.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"))));
-
-		Profile profile1 = profileRegistry.getProfile(profileId);
-		if (profile1 == null) {
-			if (doUninstall) {
-				throw new RuntimeException("Uninstalling from a nonexistent profile");
-			}
-			profile1 = new Profile(profileId); //Typically a profile would receive a name.
-			profile1.setValue(Profile.PROP_INSTALL_FOLDER, installFolder + '/' + profileId);
-			profile1.setValue(Profile.PROP_FLAVOR, newFlavor);
-			// TODO: should we add the profile to the registry here? instead of after test?
-		} else {
-			String currentFlavor = profile1.getValue(Profile.PROP_FLAVOR);
-			if (currentFlavor != null && !currentFlavor.endsWith(newFlavor)) {
-				throw new RuntimeException("Install flavor not consistent with profile flavor");
-			} else if (currentFlavor == null) {
-				profile1.setValue(Profile.PROP_FLAVOR, newFlavor);
-			}
-		}
-
-		EnvironmentInfo info = (EnvironmentInfo) ServiceHelper.getService(TestActivator.getContext(), EnvironmentInfo.class.getName());
-		if (info != null)
-			profile1.setValue(Profile.PROP_ENVIRONMENTS, "osgi.os=" + info.getOS() + ",osgi.ws=" + info.getWS() + ",osgi.arch=" + info.getOSArch());
-
-		return profile1;
-	}
-
-	public void testInstallSDK() {
-		Profile profile2 = createProfile("profile2");
-		//First we install the sdk
-		IStatus s = director.install(new IInstallableUnit[] {getIU("sdk", new Version("3.3.0"))}, profile2, 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
-		s = director.uninstall(new IInstallableUnit[] {getIU("sdk", new Version("3.3.0"))}, profile2, new NullProgressMonitor());
-		if (!s.isOK())
-			fail("The uninstallation has failed and it was not expected");
-
-		assertEquals(false, profile2.getInstallableUnits().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!!!
-		assertEquals(false, profile2.getIterator("sdk", VersionRange.emptyRange, null, false).hasNext());
-
-		// Now test the rollback to a previous state, in this case we reinstall the SDK
-		s = director.become(snapshots[0].equals(firstSnapshot) ? snapshots[1] : snapshots[0], profile2, new NullProgressMonitor());
-		if (!s.isOK())
-			fail("The become operation failed");
-
-		assertNotNull(getIU("sdk"));
-
-		//Test replace
-		s = director.replace(new IInstallableUnit[] {getIU("sdk", new Version("3.3.0"))}, planner.updatesFor(getIU("sdk", new Version("3.3.0"))), profile2, new NullProgressMonitor());
-		assertOK(s);
-		assertProfileContainsAll("", profile2, new IInstallableUnit[] {getIU("sdk", new Version("3.4.0"))});
-		assertNotIUs(new IInstallableUnit[] {getIU("sdk", new Version("3.3.0"))}, profile2.getInstallableUnits());
-
-		//Remove everything from the profile by becoming an empty profile
-		s = director.become(firstSnapshot, profile2, new NullProgressMonitor());
-		assertOK(s);
-		//		assertEmptyProfile(profile2);
-	}
-
-	public IInstallableUnit[] getIU(String property, String value) {
-		Collection result = new ArrayList();
-		for (int i = 0; i < repos.length; i++) {
-			IInstallableUnit[] ius = repos[i].getInstallableUnits(null);
-			for (int j = 0; j < ius.length; j++) {
-				String v = ius[j].getProperty(property);
-				if (v != null && v.equals(value))
-					result.add(ius[j]);
-			}
-		}
-		return (IInstallableUnit[]) result.toArray(new IInstallableUnit[result.size()]);
-	}
-
-	public IInstallableUnit[] getIUs(String id) {
-		Collection result = new ArrayList();
-		for (int i = 0; i < repos.length; i++) {
-			Iterator it = repos[i].getIterator(id, VersionRange.emptyRange, null, false);
-			while (it.hasNext()) {
-				result.add(it.next());
-			}
-		}
-		return (IInstallableUnit[]) result.toArray(new IInstallableUnit[result.size()]);
-	}
-
-	public IInstallableUnit getIU(String id) {
-		for (int i = 0; i < repos.length; i++) {
-			Iterator it = repos[i].getIterator(id, VersionRange.emptyRange, null, false);
-			while (it.hasNext()) {
-				return (IInstallableUnit) it.next();
-			}
-		}
-		return null;
-	}
-
-	public IInstallableUnit getIU(String id, Version v) {
-		for (int i = 0; i < repos.length; i++) {
-			Iterator it = repos[i].getIterator(id, new VersionRange("[" + v.toString() + "," + v.toString() + "]"), null, false);
-			while (it.hasNext()) {
-				return (IInstallableUnit) it.next();
-			}
-		}
-		return null;
-	}
-}
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 c7538b7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/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.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);
-		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 7bcf967..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/EclipseSDK33Test.java
+++ /dev/null
@@ -1,111 +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 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.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.ProvidedCapability;
-import org.eclipse.equinox.p2.metadata.generator.Generator;
-import org.eclipse.equinox.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);
-	}
-
-	public void testGeneration() {
-		IGeneratorInfo generatorInfo = createGeneratorInfo();
-		Generator generator = new Generator(generatorInfo);
-		generator.generate();
-
-		TestMetadataRepository repo = (TestMetadataRepository) generatorInfo.getMetadataRepository();
-		IInstallableUnit unit = repo.find("org.eclipse.cvs.source.featureIU", "1.0.0.v20070606-7C79_79EI99g_Y9e");
-		assertNotNull(unit);
-		assertGroup(unit);
-		unit = repo.find("org.eclipse.rcp.featureIU", "3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG");
-		assertNotNull(unit);
-		assertGroup(unit);
-		unit = repo.find("org.eclipse.jdt.featureIU", "3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR");
-		assertNotNull(unit);
-		assertGroup(unit);
-		unit = repo.find("org.eclipse.cvs.featureIU", "1.0.0.v20070606-7C79_79EI99g_Y9e");
-		assertNotNull(unit);
-		assertGroup(unit);
-		unit = repo.find("org.eclipse.pde.source.featureIU", "3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC");
-		assertNotNull(unit);
-		assertGroup(unit);
-		unit = repo.find("org.eclipse.sdk.featureIU", "3.3.0.v20070607-7M7J-BIolz-OcxWxvWAPSfLPqevO");
-		assertNotNull(unit);
-		assertGroup(unit);
-		unit = repo.find("org.eclipse.platform.featureIU", "3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G");
-		assertNotNull(unit);
-		assertGroup(unit);
-		unit = repo.find("org.eclipse.platform.source.featureIU", "3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G");
-		assertNotNull(unit);
-		assertGroup(unit);
-		unit = repo.find("org.eclipse.jdt.source.featureIU", "3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR");
-		assertNotNull(unit);
-		assertGroup(unit);
-		unit = repo.find("org.eclipse.pde.featureIU", "3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC");
-		assertNotNull(unit);
-		assertGroup(unit);
-		unit = repo.find("org.eclipse.rcp.source.featureIU", "3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG");
-		assertNotNull(unit);
-		assertGroup(unit);
-
-	}
-
-	/**
-	 * Asserts that the given IU represents a group.
-	 */
-	private void assertGroup(IInstallableUnit unit) {
-		ProvidedCapability[] capabilities = unit.getProvidedCapabilities();
-		for (int i = 0; i < capabilities.length; i++) {
-			if (capabilities[i].getNamespace().equals(IInstallableUnit.IU_KIND_NAMESPACE) && capabilities[i].getName().equals("group"))
-				return;
-		}
-		fail("IU is not a group:" + unit);
-	}
-
-	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/TestGeneratorInfo.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/TestGeneratorInfo.java
deleted file mode 100644
index 3ece95f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/TestGeneratorInfo.java
+++ /dev/null
@@ -1,137 +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 java.io.File;
-import java.util.ArrayList;
-import java.util.Set;
-import org.eclipse.equinox.frameworkadmin.ConfigData;
-import org.eclipse.equinox.frameworkadmin.LauncherData;
-import org.eclipse.equinox.p2.artifact.repository.IArtifactRepository;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.generator.IGeneratorInfo;
-import org.eclipse.equinox.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 String flavor;
-	private IMetadataRepository metadataRepo;
-	private String rootId;
-	private String rootVersion;
-	private File baseLocation;
-
-	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 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 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 File getJRELocation() {
-		return null;
-	}
-
-}
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 7c37d12..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/AllTests.java
+++ /dev/null
@@ -1,30 +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(FragmentMethodTest.class);
-		suite.addTestSuite(FragmentTest.class);
-		suite.addTestSuite(MultipleIUAndFragmentTest.class);
-		suite.addTestSuite(RecommendationTest.class);
-		suite.addTestSuite(ResolutionHelperTest.class);
-		return suite;
-	}
-
-}
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 3de97a8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/FragmentMethodTest.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.tests.metadata;
-
-import java.util.*;
-import junit.framework.AssertionFailedError;
-import junit.framework.TestCase;
-import org.eclipse.equinox.p2.metadata.*;
-import org.eclipse.equinox.p2.resolution.ResolutionHelper;
-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();) {
-			IResolvedInstallableUnit iu = (IResolvedInstallableUnit) 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 capability is not listed in the capabilities
-		assertDoesNotContain(mergedCapabilities, InstallableUnitFragment.FRAGMENT_CAPABILITY);
-
-		//The fragment does not contain iu namespace
-		for (int i = 0; i < initialFragmentCapabilities.length; i++) {
-			if (initialFragmentCapabilities[i].getNamespace().equals(IInstallableUnit.IU_NAMESPACE)) {
-				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 testDependencies() {
-		RequiredCapability[] iuDependencies = iu1Deps;
-		RequiredCapability[] initialFragmentDependencies = iu3Deps;
-
-		RequiredCapability[] mergedDependencies = iu1.getRequiredCapabilities();
-		for (int i = 0; i < iuDependencies.length; i++) {
-			FragmentTest.assertContains(mergedDependencies, iuDependencies[i]);
-		}
-		for (int i = 0; i < initialFragmentDependencies.length; i++) {
-			FragmentTest.assertContains(mergedDependencies, initialFragmentDependencies[i]);
-		}
-		assertEquals("The fragment dependencies should not change", initialFragmentDependencies, iu3.getRequiredCapabilities(), false);
-	}
-
-	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) {
-		InstallableUnitFragment iu = new InstallableUnitFragment();
-		iu.setId(name);
-		iu.setVersion(new Version(1, 0, 0));
-		iu.setTouchpointType(new TouchpointType("eclipse", new Version(1, 0, 0)));
-		iu.setProperty(PROP_FRAG, "value");
-
-		RequiredCapability[] reqs = new RequiredCapability[] {new RequiredCapability("eclipse.touchpoint", "bundle", VersionRange.emptyRange, null, false, true), new RequiredCapability(TEST_REQUIRED, TEST_REQUIRED, VersionRange.emptyRange, null, true, false)};
-		iu.setRequiredCapabilities(reqs);
-
-		ProvidedCapability[] cap = new ProvidedCapability[] {new ProvidedCapability("testCapabilityInFragment", "testCapabilityInFragment", new Version(1, 0, 0))};
-		iu.setCapabilities(cap);
-
-		return iu;
-	}
-
-	public IInstallableUnit createIU(String name) {
-		InstallableUnit iu = new InstallableUnit();
-		iu.setId(name);
-		iu.setVersion(new Version(1, 0, 0));
-		iu.setTouchpointType(new TouchpointType("eclipse", new Version(1, 0, 0)));
-		iu.setProperty(PROP_IU, "valueIU");
-
-		ProvidedCapability[] cap = new ProvidedCapability[] {new ProvidedCapability("eclipse.touchpoint", "bundle", new Version(1, 0, 0)), new ProvidedCapability("testCapability", "testCapability", new Version(1, 0, 0))};
-		iu.setCapabilities(cap);
-		return 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 db9a72c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/FragmentTest.java
+++ /dev/null
@@ -1,147 +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 java.util.*;
-import junit.framework.AssertionFailedError;
-import junit.framework.TestCase;
-import org.eclipse.equinox.p2.metadata.*;
-import org.eclipse.equinox.p2.resolution.ResolutionHelper;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class FragmentTest extends TestCase {
-	public void testAssociation() {
-		IInstallableUnit iu1 = createIU("ui.test1");
-		IInstallableUnit iu2 = createIUFragment("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();) {
-			IResolvedInstallableUnit iu = (IResolvedInstallableUnit) iterator.next();
-			if (iu.getId().equals("iu1.test1")) {
-				assertEquals(iu.getFragments().length, 1);
-				assertEquals(iu.getFragments()[0].getId(), "iuFragment.test1");
-			}
-		}
-	}
-
-	public void testAssociation2() {
-		IInstallableUnit iu1 = createIU("ui.test1");
-		IInstallableUnit iu3 = createIU("ui.test3");
-		IInstallableUnit iu2 = createIUFragment("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();) {
-			IResolvedInstallableUnit iu = (IResolvedInstallableUnit) iterator.next();
-			if (iu.getId().equals("iu1.test1")) {
-				assertEquals(iu.getFragments().length, 1);
-				assertEquals(iu.getFragments()[0].getId(), "iuFragment.test1");
-			}
-			if (iu.getId().equals("iu1.test3")) {
-				assertEquals(iu.getFragments().length, 1);
-				assertEquals(iu.getFragments()[0].getId(), "iuFragment.test1");
-			}
-		}
-	}
-
-	public void testTouchpointData() {
-		assertEquals(createIUWithTouchpointData().getTouchpointData().length, 1);
-		assertEquals(createIUFragmentWithTouchpointData().getTouchpointData().length, 1);
-		IInstallableUnit iu1 = createIUWithTouchpointData();
-		IInstallableUnit iu2 = createIUFragmentWithTouchpointData();
-		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();) {
-			IResolvedInstallableUnit iu = (IResolvedInstallableUnit) iterator.next();
-			if (iu.getId().equals(iu1.getId()))
-				assertEquals(iu.getTouchpointData().length, 2);
-
-		}
-	}
-
-	public void testFragmentCapability() {
-		IInstallableUnit iu = createIUFragment("iuFragment.test1");
-		ProvidedCapability[] all = iu.getProvidedCapabilities();
-		assertContains(all, InstallableUnitFragment.FRAGMENT_CAPABILITY);
-	}
-
-	public void testDefaultIUCapability() {
-		IInstallableUnit iu = createIU("ui.test1");
-		ProvidedCapability[] cap = iu.getProvidedCapabilities();
-		for (int i = 0; i < cap.length; i++) {
-			if (cap[i].getNamespace().equals(IInstallableUnit.IU_NAMESPACE)) {
-
-				assertEquals(cap[i].getNamespace(), IInstallableUnit.IU_NAMESPACE);
-				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");
-	}
-
-	public static InstallableUnit createIUFragment(String name) {
-		InstallableUnitFragment iu = new InstallableUnitFragment();
-		iu.setId(name);
-		iu.setVersion(new Version(1, 0, 0));
-		iu.setTouchpointType(new TouchpointType("eclipse", new Version(1, 0, 0)));
-		iu.setRequiredCapabilities(new RequiredCapability[] {new RequiredCapability("eclipse.touchpoint", "bundle", VersionRange.emptyRange, null, false, true)});
-		return iu;
-	}
-
-	public static InstallableUnit createIU(String name) {
-		InstallableUnit iu = new InstallableUnit();
-		iu.setId(name);
-		iu.setVersion(new Version(1, 0, 0));
-		iu.setTouchpointType(new TouchpointType("eclipse", new Version(1, 0, 0)));
-
-		ProvidedCapability[] cap = new ProvidedCapability[] {new ProvidedCapability("eclipse.touchpoint", "bundle", new Version(1, 0, 0))};
-		iu.setCapabilities(cap);
-		return iu;
-	}
-
-	private IInstallableUnit createIUWithTouchpointData() {
-		InstallableUnit unit = createIU("ui.test1");
-		unit.setImmutableTouchpointData(new TouchpointData(new HashMap()));
-		return unit;
-	}
-
-	private IInstallableUnit createIUFragmentWithTouchpointData() {
-		InstallableUnit unit = createIUFragment("iuFragment.test1");
-		unit.setImmutableTouchpointData(new TouchpointData(new HashMap()));
-		return unit;
-	}
-}
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 bce261e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/MultipleIUAndFragmentTest.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.p2.tests.metadata;
-
-import java.util.*;
-import junit.framework.TestCase;
-import org.eclipse.equinox.p2.metadata.*;
-import org.eclipse.equinox.p2.resolution.ResolutionHelper;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class MultipleIUAndFragmentTest extends TestCase {
-	IInstallableUnit iu1;
-	IInstallableUnit iu2;
-	IInstallableUnit iu3;
-	Collection result;
-
-	protected void setUp() throws Exception {
-		iu1 = createIU("one");
-		iu2 = createIUWithDependencyOn("two", "one");
-		iu3 = createIUFragment("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 {
-		iu1 = null;
-		iu2 = null;
-		iu3 = null;
-	}
-
-	public void testAttachement() {
-		for (Iterator iterator = result.iterator(); iterator.hasNext();) {
-			IResolvedInstallableUnit iu = (IResolvedInstallableUnit) iterator.next();
-			if (iu.getId().equals(iu1.getId())) {
-				assertEquals(iu.getFragments().length, 1);
-				assertEquals(iu.getFragments()[0].getId(), iu3.getId());
-			}
-			if (iu.getId().equals(iu2.getId())) {
-				assertEquals(iu.getFragments().length, 1);
-				assertEquals(iu.getFragments()[0].getId(), iu3.getId());
-			}
-			if (iu.getId().equals(iu3.getId())) {
-				assertEquals(iu.getFragments().length, 0);
-			}
-		}
-
-	}
-
-	private IInstallableUnit createIUFragment(String name) {
-		InstallableUnitFragment iu = new InstallableUnitFragment();
-		iu.setId(name);
-		iu.setVersion(new Version(1, 0, 0));
-		iu.setTouchpointType(new TouchpointType("eclipse", new Version(1, 0, 0)));
-
-		RequiredCapability[] reqs = new RequiredCapability[] {new RequiredCapability("eclipse.touchpoint", "bundle", VersionRange.emptyRange, null, false, true)};
-		iu.setRequiredCapabilities(reqs);
-		return iu;
-	}
-
-	private static IInstallableUnit createIU(String name) {
-		InstallableUnit iu = new InstallableUnit();
-		iu.setId(name);
-		iu.setVersion(new Version(1, 0, 0));
-		iu.setTouchpointType(new TouchpointType("eclipse", new Version(1, 0, 0)));
-
-		ProvidedCapability[] cap = new ProvidedCapability[] {new ProvidedCapability("eclipse.touchpoint", "bundle", new Version(1, 0, 0))};
-		iu.setCapabilities(cap);
-		return iu;
-	}
-
-	private static IInstallableUnit createIUWithDependencyOn(String name, String dependencyOn) {
-		InstallableUnit iu = new InstallableUnit();
-		iu.setId(name);
-		iu.setVersion(new Version(1, 0, 0));
-		iu.setTouchpointType(new TouchpointType("eclipse", new Version(1, 0, 0)));
-		iu.setCapabilities(new ProvidedCapability[] {new ProvidedCapability("eclipse.touchpoint", "bundle", new Version(1, 0, 0))});
-		iu.setRequiredCapabilities(new RequiredCapability[] {new RequiredCapability(IInstallableUnit.IU_NAMESPACE, dependencyOn, VersionRange.emptyRange, null, false, true)});
-		return iu;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/OldTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/OldTest.java
deleted file mode 100644
index b627c61..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/OldTest.java
+++ /dev/null
@@ -1,105 +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 org.eclipse.equinox.p2.metadata.*;
-import org.eclipse.equinox.p2.resolution.Transformer;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.eclipse.osgi.service.resolver.*;
-import org.osgi.framework.ServiceReference;
-import org.osgi.framework.Version;
-
-public class OldTest {
-	public void testDependencyOnCapability() {
-		InstallableUnit osgi = new InstallableUnit();
-		osgi.setId("org.eclipse.osgi");
-		osgi.setVersion(new Version(3, 2, 0, null));
-
-		osgi.setRequiredCapabilities(new RequiredCapability[] {new RequiredCapability("java.runtime", "JRE", null, null, false, false)});
-
-		InstallableUnit jre = new InstallableUnit();
-		jre.setId("com.ibm.jre");
-		jre.setVersion(new Version(1, 4, 2, "sr2"));
-		jre.setCapabilities(new ProvidedCapability[] {new ProvidedCapability("java.runtime", "JRE", new Version(1, 4, 2, "sr2"))});
-
-		ServiceReference sr = TestActivator.context.getServiceReference(PlatformAdmin.class.getName());
-
-		StateObjectFactory factory = ((PlatformAdmin) TestActivator.context.getService(sr)).getFactory();
-		Transformer t = new Transformer(factory);
-		t.visitInstallableUnit(osgi);
-		BundleDescription osgiBd = t.getResult();
-
-		t = new Transformer(factory);
-		t.visitInstallableUnit(jre);
-		BundleDescription jreBd = t.getResult();
-
-		State state = factory.createState(true);
-		state.addBundle(osgiBd);
-		state.addBundle(jreBd);
-		state.resolve();
-
-		System.out.println(osgiBd + ": " + osgiBd.isResolved());
-		System.out.println(jreBd + ": " + jreBd.isResolved());
-	}
-
-	public void testNamedDependency() {
-		InstallableUnit jface = new InstallableUnit();
-		jface.setId("org.eclipse.jface");
-		jface.setVersion(new Version(3, 2, 0, null));
-
-		jface.setRequiredCapabilities(new RequiredCapability[] {RequiredCapability.createRequiredCapabilityForName("org.eclipse.swt", null, false)});
-
-		InstallableUnit swt = new InstallableUnit();
-		swt.setId("org.eclipse.swt");
-		swt.setVersion(new Version(3, 2, 0, null));
-
-		ServiceReference sr = TestActivator.context.getServiceReference(PlatformAdmin.class.getName());
-
-		StateObjectFactory factory = ((PlatformAdmin) TestActivator.context.getService(sr)).getFactory();
-		Transformer t = new Transformer(factory);
-		t.visitInstallableUnit(jface);
-		BundleDescription jfaceBd = t.getResult();
-
-		t = new Transformer(factory);
-		t.visitInstallableUnit(swt);
-		BundleDescription swtBd = t.getResult();
-
-		State state = factory.createState(true);
-		state.addBundle(jfaceBd);
-		state.addBundle(swtBd);
-		state.resolve();
-
-		System.out.println(jfaceBd + ": " + jfaceBd.isResolved());
-		System.out.println(swtBd + ": " + swtBd.isResolved());
-	}
-
-	public void testBackup() {
-		InstallableUnit osgi = new InstallableUnit();
-		osgi.setId("org.eclipse.osgi");
-		osgi.setVersion(new Version(3, 2, 0, null));
-		osgi.setRequiredCapabilities(new RequiredCapability[] {new RequiredCapability("java.runtime", "JRE", null, null, false, false)});
-
-		InstallableUnit jre = new InstallableUnit();
-		jre.setId("com.ibm.jre");
-		jre.setVersion(new Version(1, 4, 2, "sr2"));
-		jre.setCapabilities(new ProvidedCapability[] {new ProvidedCapability("java.runtime", "JRE", new Version(1, 4, 2, "sr2"))});
-
-		throw new IllegalStateException("XStream has been removed.  Should this test be fixed? or removed?");
-		//		ArrayList all = new ArrayList();
-		//		all.add(osgi);
-		//		try {
-		//			new XStream().toXML(all, new FileOutputStream(new File("d:/tmp/m2.xml")));
-		//		} catch (FileNotFoundException e) {
-		//			// TODO Auto-generated catch block
-		//			e.printStackTrace();
-		//		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/RecommendationTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/RecommendationTest.java
deleted file mode 100644
index eb5d2ec..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/RecommendationTest.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.tests.metadata;
-
-import java.lang.reflect.Method;
-import java.util.HashSet;
-import java.util.Set;
-import junit.framework.TestCase;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.director.Picker;
-import org.eclipse.equinox.p2.metadata.*;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class RecommendationTest extends TestCase {
-	//test name dependency over
-	//test
-	//check that the picker is returning something in the range
-	public void testRecommendation() {
-		RequiredCapability applyOn, newValue;
-		applyOn = new RequiredCapability("namespace", "name", new VersionRange("[1.0, 2.0)"), null, false, false);
-		newValue = new RequiredCapability("namespace", "name", new VersionRange("[1.1, 2.0)"), null, false, false);
-		Recommendation r1 = new Recommendation(applyOn, newValue);
-
-		RequiredCapability goodMatch = new RequiredCapability("namespace", "name", new VersionRange("[1.0, 2.0)"), null, false, false);
-		assertEquals(true, r1.matches(goodMatch));
-
-		RequiredCapability badNamespace = new RequiredCapability("badNamespace", "name", new VersionRange("[1.0, 2.0)"), null, false, false);
-		assertEquals(false, r1.matches(badNamespace));
-
-		RequiredCapability badName = new RequiredCapability("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
-		InstallableUnit iu1 = createIU("iu1", new Version(1, 0, 0));
-		InstallableUnit iu2 = createIU("iu2", new Version(4, 0, 0));
-
-		//The recommendations to be used
-		RequiredCapability applyOn, newValue;
-		applyOn = new RequiredCapability(IInstallableUnit.IU_NAMESPACE, "iu1", new VersionRange("[1.0, 2.0)"), null, false, false);
-		newValue = new RequiredCapability(IInstallableUnit.IU_NAMESPACE, "iu1", new VersionRange("[1.1, 2.0)"), null, false, false);
-		Recommendation r1 = new Recommendation(applyOn, newValue);
-
-		RequiredCapability applyOn2, newValue2;
-		applyOn2 = new RequiredCapability(IInstallableUnit.IU_NAMESPACE, "iu2", new VersionRange("[4.2, 5.0)"), null, false, false);
-		newValue2 = new RequiredCapability(IInstallableUnit.IU_NAMESPACE, "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 InstallableUnit[] {iu1, iu2}, null);
-		IInstallableUnit[][] matches = p.findInstallableUnit(null, null, new RequiredCapability[] {new RequiredCapability(IInstallableUnit.IU_NAMESPACE, "iu1", null, null, false, false)}, false);
-		assertEquals(matches[1][0], iu1);
-
-		Picker p1 = new Picker(new InstallableUnit[] {iu1, iu2}, new RecommendationDescriptor(recommendations));
-		matches = p1.findInstallableUnit(null, null, new RequiredCapability[] {new RequiredCapability(IInstallableUnit.IU_NAMESPACE, "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[] {new RequiredCapability(IInstallableUnit.IU_NAMESPACE, "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
-		InstallableUnit 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 = new RequiredCapability(IInstallableUnit.IU_NAMESPACE, "iu1", new VersionRange("[4.2, 5.0)"), null, false, false);
-		newValue2 = new RequiredCapability(IInstallableUnit.IU_NAMESPACE, "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 InstallableUnit[] {iu1}, null);
-		IInstallableUnit[][] matches = p2.findInstallableUnit(null, null, new RequiredCapability[] {new RequiredCapability(IInstallableUnit.IU_NAMESPACE, "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 InstallableUnit[] {iu1}, new RecommendationDescriptor(recommendations));
-		matches = p1.findInstallableUnit(null, null, new RequiredCapability[] {new RequiredCapability(IInstallableUnit.IU_NAMESPACE, "iu1", new VersionRange("[4.2, 5.0)"), null, false, false)}, false);
-		assertEquals(matches[1].length, 1);
-
-	}
-
-	public void testRecommendationDescriptorMerge() {
-		RequiredCapability applyOn1, newValue1;
-		applyOn1 = new RequiredCapability("namespace", "name", new VersionRange("[1.0, 2.0)"), null, false, false);
-		newValue1 = new RequiredCapability("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 = new RequiredCapability("namespace", "name", new VersionRange("[1.0, 2.0)"), null, false, false);
-		newValue2 = new RequiredCapability("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(new RequiredCapability("namespace", "name", new VersionRange("[1.0, 2.0)"), null, false, false)));
-	}
-
-	public void testRecommendationDescriptorMergeConflict() {
-		RequiredCapability applyOn1, newValue1;
-		applyOn1 = new RequiredCapability("namespace", "name", new VersionRange("[1.0, 2.0)"), null, false, false);
-		newValue1 = new RequiredCapability("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 = new RequiredCapability("namespace", "name", new VersionRange("[1.0, 2.0)"), null, false, false);
-		newValue2 = new RequiredCapability("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");
-		}
-	}
-
-	private static InstallableUnit createIU(String name, Version version) {
-		InstallableUnit iu = new InstallableUnit();
-		iu.setId(name);
-		iu.setVersion(version);
-		return iu;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/ResolutionHelperTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/ResolutionHelperTest.java
deleted file mode 100644
index c5926ba..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/ResolutionHelperTest.java
+++ /dev/null
@@ -1,302 +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 java.util.*;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.equinox.p2.metadata.*;
-import org.eclipse.equinox.p2.resolution.ResolutionHelper;
-import org.eclipse.equinox.p2.resolution.UnsatisfiedCapability;
-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
-		InstallableUnit required = new InstallableUnit();
-		required.setId("required");
-		required.setVersion(version);
-		required.setCapabilities(new ProvidedCapability[] {new ProvidedCapability("test.capability", "test", version)});
-
-		//an IU whose required capability falls outside available range
-		InstallableUnit toInstall = new InstallableUnit();
-		toInstall.setId("match");
-		toInstall.setVersion(version);
-		toInstall.setRequiredCapabilities(createRequiredCapabilities("test.capability", "test", new VersionRange("[2.0,5.0)"), null));
-
-		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
-		InstallableUnit required = new InstallableUnit();
-		required.setId("required");
-		required.setVersion(version);
-		required.setCapabilities(new ProvidedCapability[] {new ProvidedCapability("test.capability", "test", version)});
-
-		//an IU whose required capability falls outside available range
-		InstallableUnit toInstall = new InstallableUnit();
-		toInstall.setId("match");
-		toInstall.setVersion(version);
-		toInstall.setRequiredCapabilities(createRequiredCapabilities("test.capability", "test", new VersionRange("(2.0,3.0)"), null));
-
-		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
-		InstallableUnit required = new InstallableUnit();
-		required.setId("required");
-		required.setVersion(version);
-		required.setCapabilities(new ProvidedCapability[] {new ProvidedCapability("test.capability", "test", version)});
-		required.setFilter(createFilter(FILTER_KEY, "win32"));
-
-		InstallableUnit toInstall = new InstallableUnit();
-		toInstall.setId("toInstall");
-		toInstall.setVersion(version);
-		toInstall.setRequiredCapabilities(createRequiredCapabilities("test.capability", "test", ANY_VERSION, null));
-
-		//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
-		InstallableUnit required = new InstallableUnit();
-		required.setId("required");
-		required.setVersion(version);
-		required.setCapabilities(new ProvidedCapability[] {new ProvidedCapability("test.capability", "test", version)});
-
-		//an IU whose filter will match the environment
-		InstallableUnit toInstall = new InstallableUnit();
-		toInstall.setId("match");
-		toInstall.setVersion(version);
-		toInstall.setRequiredCapabilities(createRequiredCapabilities("test.capability", "test", createFilter(FILTER_KEY, "matchValue")));
-
-		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
-		InstallableUnit required = new InstallableUnit();
-		required.setId("required");
-		required.setVersion(version);
-		required.setCapabilities(new ProvidedCapability[] {new ProvidedCapability("test.capability", "test", version)});
-
-		//an IU whose filter will not match the environment
-		InstallableUnit toInstall = new InstallableUnit();
-		toInstall.setId("noMatch");
-		toInstall.setVersion(version);
-		toInstall.setRequiredCapabilities(createRequiredCapabilities("test.capability", "test", createFilter(FILTER_KEY, "noMatchValue")));
-
-		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() {
-		InstallableUnit osgi = new InstallableUnit();
-		osgi.setId("org.eclipse.osgi");
-		osgi.setVersion(new Version(3, 2, 0, null));
-		osgi.setRequiredCapabilities(new RequiredCapability[] {new RequiredCapability("java.runtime", "JRE", null, null, false, false)});
-
-		InstallableUnit jre = new InstallableUnit();
-		jre.setId("com.ibm.jre");
-		jre.setVersion(new Version(1, 4, 2, "sr2"));
-		jre.setCapabilities(new ProvidedCapability[] {new ProvidedCapability("java.runtime", "JRE", new Version(1, 4, 2, "sr2"))});
-
-		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
-		InstallableUnit required = new InstallableUnit();
-		required.setId("required");
-		required.setVersion(version);
-		required.setCapabilities(new ProvidedCapability[] {new ProvidedCapability("test.capability", "test", version)});
-
-		//an IU whose filter will match the environment
-		InstallableUnit toInstall = new InstallableUnit();
-		toInstall.setId("match");
-		toInstall.setVersion(version);
-		toInstall.setRequiredCapabilities(createRequiredCapabilities("test.capability", "does.not.exist", createFilter(FILTER_KEY, "matchValue")));
-
-		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
-		InstallableUnit required = new InstallableUnit();
-		required.setId("required");
-		required.setVersion(version);
-		required.setCapabilities(new ProvidedCapability[] {new ProvidedCapability("test.capability", "test", version)});
-
-		//an IU whose filter will not match the environment
-		InstallableUnit toInstall = new InstallableUnit();
-		toInstall.setId("noMatch");
-		toInstall.setVersion(version);
-		toInstall.setRequiredCapabilities(createRequiredCapabilities("test.capability", "does.not.exist", createFilter(FILTER_KEY, "noMatchValue")));
-
-		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/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 0bf2a24..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/AllTests.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.p2.tests.metadata.repository;
-
-import junit.framework.*;
-
-/**
- * Performs all automated director tests.
- */
-public class AllTests extends TestCase {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		//TODO This test currently fails because our file formats are not stable
-		suite.addTestSuite(JarURLRepositoryTest.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 d40ffe6..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/JarURLRepositoryTest.java
+++ /dev/null
@@ -1,82 +0,0 @@
-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.core.runtime.IStatus;
-import org.eclipse.equinox.p2.core.helpers.FileUtils;
-import org.eclipse.equinox.p2.metadata.generator.EclipseInstallGeneratorInfoProvider;
-import org.eclipse.equinox.p2.metadata.generator.Generator;
-import org.eclipse.equinox.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.p2.metadata.repository.IMetadataRepositoryManager;
-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");
-		provider.setMetadataRepository(manager.createRepository(testRepo.toURL(), "testRepo", "org.eclipse.equinox.p2.metadata.repository.simpleRepository"));
-		IStatus result = 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() {
-		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.getInstallableUnits(null).length > 0);
-		manager.removeRepository(repo);
-	}
-}
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 fb7b593..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/enginerepo/artifacts.xml b/bundles/org.eclipse.equinox.p2.tests/testData/enginerepo/artifacts.xml
deleted file mode 100644
index 5cc03fc..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/enginerepo/artifacts.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<org.eclipse.equinox.internal.p2.artifact.repository.SimpleArtifactRepository>
-  <mappingRules>
-    <string-array>
-      <string>(&amp; (namespace=eclipse) (classifier=plugin))</string>
-      <string>${repoUrl}/plugins/${id}_${version}.jar</string>
-    </string-array>
-    <string-array>
-      <string>(&amp; (namespace=eclipse) (classifier=native))</string>
-      <string>${repoUrl}/native/${id}_${version}</string>
-    </string-array>
-    <string-array>
-      <string>(&amp; (namespace=eclipse) (classifier=feature))</string>
-      <string>${repoUrl}/features/${id}_${version}.jar</string>
-    </string-array>
-  </mappingRules>
-  <artifactDescriptors>
-    <org.eclipse.equinox.p2.artifact.repository.ArtifactDescriptor>
-      <key class="org.eclipse.equinox.internal.p2.metadata.ArtifactKey">
-        <namespace>eclipse</namespace>
-        <id>org.eclipse.equinox.prov.engine</id>
-        <classifier>plugin</classifier>
-        <version>0.1.0.200709241631</version>
-      </key>
-      <processingSteps/>
-      <properties>
-        <entry>
-          <string>download.size</string>
-          <string>51366</string>
-        </entry>
-        <entry>
-          <string>artifact.size</string>
-          <string>51366</string>
-        </entry>
-      </properties>
-    </org.eclipse.equinox.p2.artifact.repository.ArtifactDescriptor>
-  </artifactDescriptors>
-  <signatureVerification>false</signatureVerification>
-  <blobStore>
-    <store>file:D:/workspaces/prov.selfhost/org.eclipse.equinox.p2.tests/testData/enginerepo/.blobstore/</store>
-    <fileBased>true</fileBased>
-    <mask>127</mask>
-  </blobStore>
-  <name>file:D:\workspaces\prov.selfhost\org.eclipse.equinox.p2.tests\testData\enginerepo - artifacts</name>
-  <type>org.eclipse.equinox.internal.p2.artifact.repository.SimpleArtifactRepository</type>
-  <version>1</version>
-  <description></description>
-  <provider></provider>
-  <properties/>
-</org.eclipse.equinox.internal.p2.artifact.repository.SimpleArtifactRepository>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/enginerepo/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/enginerepo/content.xml
deleted file mode 100644
index 9a13f21..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/enginerepo/content.xml
+++ /dev/null
@@ -1,207 +0,0 @@
-<org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository>
-  <units>
-    <org.eclipse.equinox.p2.metadata.InstallableUnit>
-      <id>org.eclipse.equinox.prov.engine</id>
-      <version>0.1.0.200709241631</version>
-      <singleton>true</singleton>
-      <properties>
-        <propertyMap>
-          <entry>
-            <string>equinox.p2.update.from</string>
-            <string>org.eclipse.equinox.prov.engine</string>
-          </entry>
-          <entry>
-            <string>equinox.p2.update.range</string>
-            <string>0.0.0</string>
-          </entry>
-          <entry>
-            <string>equinox.p2.name</string>
-            <string>Engine Plug-in (Incubation)</string>
-          </entry>
-        </propertyMap>
-      </properties>
-      <artifacts>
-        <org.eclipse.equinox.internal.p2.metadata.ArtifactKey>
-          <namespace>eclipse</namespace>
-          <id>org.eclipse.equinox.prov.engine</id>
-          <classifier>plugin</classifier>
-          <version>0.1.0.200709241631</version>
-        </org.eclipse.equinox.internal.p2.metadata.ArtifactKey>
-      </artifacts>
-      <touchpointType>
-        <id>eclipse</id>
-        <versionObject>
-          <major>1</major>
-          <minor>0</minor>
-          <micro>0</micro>
-          <qualifier></qualifier>
-        </versionObject>
-        <version>1.0.0</version>
-      </touchpointType>
-      <immutableTouchpointData>
-        <instructions>
-          <entry>
-            <string>manifest</string>
-            <string>Bundle-Activator: org.eclipse.equinox.internal.prov.engine.EngineActivator
-Require-Bundle: org.eclipse.equinox.common,org.eclipse.equinox.registry
-Manifest-Version: 1.0
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,J2SE-1.4
-Import-Package: com.thoughtworks.xstream,org.eclipse.equinox.prov.artifact.repository,org.eclipse.equinox.prov.core.eventbus,org.eclipse.equinox.prov.core.helpers,org.eclipse.equinox.prov.core.location,org.eclipse.equinox.prov.download,org.eclipse.equinox.prov.metadata,org.eclipse.equinox.prov.query,org.eclipse.osgi.service.datalocation;version=&quot;1.0.0&quot;,org.eclipse.osgi.service.resolver;version=&quot;1.1.0&quot;,org.eclipse.osgi.util;version=&quot;1.0.0&quot;,org.osgi.framework;version=&quot;1.3.0&quot;,org.osgi.util.tracker;version=&quot;1.3.3&quot;
-Eclipse-LazyStart: true
-Ant-Version: Apache Ant 1.7.0
-Bundle-Name: Engine Plug-in (Incubation)
-Export-Package: org.eclipse.equinox.internal.prov.engine;x-internal:=true,org.eclipse.equinox.prov.engine,org.eclipse.equinox.prov.engine.phases,org.eclipse.equinox.prov.installregistry
-Created-By: 1.6.0_02-b06 (Sun Microsystems Inc.)
-Bundle-Version: 0.1.0.200709241631
-eclipse.p2.bundle.format: jar
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.prov.engine;singleton:=true
-</string>
-          </entry>
-        </instructions>
-      </immutableTouchpointData>
-      <requires>
-        <org.eclipse.equinox.p2.metadata.RequiredCapability>
-          <multiple>false</multiple>
-          <name>org.eclipse.equinox.common</name>
-          <namespace>org.eclipse.equinox.p2.iunamespace</namespace>
-          <optional>false</optional>
-          <selectors/>
-        </org.eclipse.equinox.p2.metadata.RequiredCapability>
-        <org.eclipse.equinox.p2.metadata.RequiredCapability>
-          <multiple>false</multiple>
-          <name>org.eclipse.equinox.registry</name>
-          <namespace>org.eclipse.equinox.p2.iunamespace</namespace>
-          <optional>false</optional>
-          <selectors/>
-        </org.eclipse.equinox.p2.metadata.RequiredCapability>
-        <org.eclipse.equinox.p2.metadata.RequiredCapability>
-          <multiple>false</multiple>
-          <name>com.thoughtworks.xstream</name>
-          <namespace>osgi.packages</namespace>
-          <optional>false</optional>
-          <selectors/>
-        </org.eclipse.equinox.p2.metadata.RequiredCapability>
-        <org.eclipse.equinox.p2.metadata.RequiredCapability>
-          <multiple>false</multiple>
-          <name>org.eclipse.equinox.prov.artifact.repository</name>
-          <namespace>osgi.packages</namespace>
-          <optional>false</optional>
-          <selectors/>
-        </org.eclipse.equinox.p2.metadata.RequiredCapability>
-        <org.eclipse.equinox.p2.metadata.RequiredCapability>
-          <multiple>false</multiple>
-          <name>org.eclipse.equinox.prov.core.eventbus</name>
-          <namespace>osgi.packages</namespace>
-          <optional>false</optional>
-          <selectors/>
-        </org.eclipse.equinox.p2.metadata.RequiredCapability>
-        <org.eclipse.equinox.p2.metadata.RequiredCapability>
-          <multiple>false</multiple>
-          <name>org.eclipse.equinox.prov.core.helpers</name>
-          <namespace>osgi.packages</namespace>
-          <optional>false</optional>
-          <selectors/>
-        </org.eclipse.equinox.p2.metadata.RequiredCapability>
-        <org.eclipse.equinox.p2.metadata.RequiredCapability>
-          <multiple>false</multiple>
-          <name>org.eclipse.equinox.prov.core.location</name>
-          <namespace>osgi.packages</namespace>
-          <optional>false</optional>
-          <selectors/>
-        </org.eclipse.equinox.p2.metadata.RequiredCapability>
-        <org.eclipse.equinox.p2.metadata.RequiredCapability>
-          <multiple>false</multiple>
-          <name>org.eclipse.equinox.prov.download</name>
-          <namespace>osgi.packages</namespace>
-          <optional>false</optional>
-          <selectors/>
-        </org.eclipse.equinox.p2.metadata.RequiredCapability>
-        <org.eclipse.equinox.p2.metadata.RequiredCapability>
-          <multiple>false</multiple>
-          <name>org.eclipse.equinox.prov.metadata</name>
-          <namespace>osgi.packages</namespace>
-          <optional>false</optional>
-          <selectors/>
-        </org.eclipse.equinox.p2.metadata.RequiredCapability>
-        <org.eclipse.equinox.p2.metadata.RequiredCapability>
-          <multiple>false</multiple>
-          <name>org.eclipse.equinox.prov.query</name>
-          <namespace>osgi.packages</namespace>
-          <optional>false</optional>
-          <selectors/>
-        </org.eclipse.equinox.p2.metadata.RequiredCapability>
-        <org.eclipse.equinox.p2.metadata.RequiredCapability>
-          <multiple>false</multiple>
-          <name>org.eclipse.osgi.service.datalocation</name>
-          <namespace>osgi.packages</namespace>
-          <optional>false</optional>
-          <range>1.0.0</range>
-          <selectors/>
-        </org.eclipse.equinox.p2.metadata.RequiredCapability>
-        <org.eclipse.equinox.p2.metadata.RequiredCapability>
-          <multiple>false</multiple>
-          <name>org.eclipse.osgi.service.resolver</name>
-          <namespace>osgi.packages</namespace>
-          <optional>false</optional>
-          <range>1.1.0</range>
-          <selectors/>
-        </org.eclipse.equinox.p2.metadata.RequiredCapability>
-        <org.eclipse.equinox.p2.metadata.RequiredCapability>
-          <multiple>false</multiple>
-          <name>org.eclipse.osgi.util</name>
-          <namespace>osgi.packages</namespace>
-          <optional>false</optional>
-          <range>1.0.0</range>
-          <selectors/>
-        </org.eclipse.equinox.p2.metadata.RequiredCapability>
-        <org.eclipse.equinox.p2.metadata.RequiredCapability>
-          <multiple>false</multiple>
-          <name>org.osgi.framework</name>
-          <namespace>osgi.packages</namespace>
-          <optional>false</optional>
-          <range>1.3.0</range>
-          <selectors/>
-        </org.eclipse.equinox.p2.metadata.RequiredCapability>
-        <org.eclipse.equinox.p2.metadata.RequiredCapability>
-          <multiple>false</multiple>
-          <name>org.osgi.util.tracker</name>
-          <namespace>osgi.packages</namespace>
-          <optional>false</optional>
-          <range>1.3.3</range>
-          <selectors/>
-        </org.eclipse.equinox.p2.metadata.RequiredCapability>
-      </requires>
-      <applicabilityFilter></applicabilityFilter>
-      <providedCapabilities>
-        <org.eclipse.equinox.p2.metadata.ProvidedCapability>
-          <namespace>osgi.packages</namespace>
-          <name>org.eclipse.equinox.internal.prov.engine</name>
-        </org.eclipse.equinox.p2.metadata.ProvidedCapability>
-        <org.eclipse.equinox.p2.metadata.ProvidedCapability>
-          <namespace>osgi.packages</namespace>
-          <name>org.eclipse.equinox.prov.engine</name>
-        </org.eclipse.equinox.p2.metadata.ProvidedCapability>
-        <org.eclipse.equinox.p2.metadata.ProvidedCapability>
-          <namespace>osgi.packages</namespace>
-          <name>org.eclipse.equinox.prov.engine.phases</name>
-        </org.eclipse.equinox.p2.metadata.ProvidedCapability>
-        <org.eclipse.equinox.p2.metadata.ProvidedCapability>
-          <namespace>osgi.packages</namespace>
-          <name>org.eclipse.equinox.prov.installregistry</name>
-        </org.eclipse.equinox.p2.metadata.ProvidedCapability>
-        <org.eclipse.equinox.p2.metadata.ProvidedCapability>
-          <namespace>org.eclipse.equinox.p2.eclipsetouchpoint.types</namespace>
-          <name>bundle</name>
-          <version>1.0.0</version>
-        </org.eclipse.equinox.p2.metadata.ProvidedCapability>
-      </providedCapabilities>
-    </org.eclipse.equinox.p2.metadata.InstallableUnit>
-  </units>
-  <name>file:D:\workspaces\prov.selfhost\org.eclipse.equinox.p2.tests\testData\enginerepo - metadata</name>
-  <type>org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository</type>
-  <version>1</version>
-  <description></description>
-  <provider></provider>
-  <properties/>
-</org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/enginerepo/plugins/org.eclipse.equinox.prov.engine_0.1.0.200709241631.jar b/bundles/org.eclipse.equinox.p2.tests/testData/enginerepo/plugins/org.eclipse.equinox.prov.engine_0.1.0.200709241631.jar
deleted file mode 100644
index d53ff00..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/enginerepo/plugins/org.eclipse.equinox.prov.engine_0.1.0.200709241631.jar
+++ /dev/null
Binary files differ
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.tools/.classpath b/bundles/org.eclipse.equinox.p2.tools/.classpath
deleted file mode 100644
index ce73933..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="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.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 78523cd..0000000
--- a/bundles/org.eclipse.equinox.p2.tools/.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.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 ec30c02..0000000
--- a/bundles/org.eclipse.equinox.p2.tools/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,19 +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: 0.1.0.qualifier
-Import-Package: org.eclipse.equinox.app;version="1.0.0",
- org.eclipse.equinox.internal.p2.console,
- org.eclipse.equinox.p2.core,
- org.eclipse.equinox.p2.engine,
- org.eclipse.equinox.p2.metadata,
- org.eclipse.equinox.p2.metadata.repository,
- org.eclipse.equinox.p2.query,
- org.eclipse.osgi.service.resolver;version="1.1.0",
- org.osgi.framework;version="1.4.0"
-Require-Bundle: org.eclipse.equinox.common
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Export-Package: org.eclipse.equinox.p2.tools
diff --git a/bundles/org.eclipse.equinox.p2.tools/ProvTools - compare repos.launch b/bundles/org.eclipse.equinox.p2.tools/ProvTools - compare repos.launch
deleted file mode 100644
index fae7019..0000000
--- a/bundles/org.eclipse.equinox.p2.tools/ProvTools - compare repos.launch
+++ /dev/null
@@ -1,21 +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/tool - compare repos"/>
-<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.queryableApp&#13;&#10;-source file:d:/tmp/equinox.p2/servers/metadataRepository/content.xml&#13;&#10;-target file:d:/tmp/equinox.p2/servers.old/metadataRepository/content.xml&#13;&#10;-compare"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<stringAttribute key="target_bundles" value="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.registry@default:default,org.eclipse.osgi@:,org.eclipse.osgi.services@default:default"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<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.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.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.generator@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.tools@default:default"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.tools/ProvTools - list profile.launch b/bundles/org.eclipse.equinox.p2.tools/ProvTools - list profile.launch
deleted file mode 100644
index 1e5eb44..0000000
--- a/bundles/org.eclipse.equinox.p2.tools/ProvTools - list profile.launch
+++ /dev/null
@@ -1,22 +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/tool - list profile"/>
-<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.queryableApp&#13;&#10;-source foo&#13;&#10;-list &#13;&#10;-profile"/>
-<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/agentdata/"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<stringAttribute key="target_bundles" value="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.registry@default:default,org.eclipse.osgi@:,org.eclipse.osgi.services@default:default"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<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.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.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.generator@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.tools@default:default"/>
-</launchConfiguration>
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 (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-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/plugin.properties b/bundles/org.eclipse.equinox.p2.tools/plugin.properties
deleted file mode 100644
index 2ab65d1..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 Provisioning 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 5f7b0e2..0000000
--- a/bundles/org.eclipse.equinox.p2.tools/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<plugin>
-   <extension
-         id="queryableApp"
-         point="org.eclipse.core.runtime.applications">
-      <application
-            cardinality="1"
-            thread="main"
-            visible="true">
-         <run
-               class="org.eclipse.equinox.p2.tools.MetadataCompareApplication">
-         </run>
-      </application>
-   </extension>
-</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.tools/src/org/eclipse/equinox/p2/tools/MetadataCompareApplication.java b/bundles/org.eclipse.equinox.p2.tools/src/org/eclipse/equinox/p2/tools/MetadataCompareApplication.java
deleted file mode 100644
index 09fa575..0000000
--- a/bundles/org.eclipse.equinox.p2.tools/src/org/eclipse/equinox/p2/tools/MetadataCompareApplication.java
+++ /dev/null
@@ -1,230 +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.tools;
-
-import java.net.MalformedURLException;
-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.console.ProvisioningHelper;
-import org.eclipse.equinox.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.metadata.*;
-import org.eclipse.equinox.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.p2.query.IQueryable;
-import org.eclipse.equinox.p2.query.Query;
-import org.eclipse.osgi.service.resolver.VersionRange;
-
-public class MetadataCompareApplication implements IApplication {
-
-	private String source;
-	private String target;
-	private boolean compare = false;
-	private boolean list = false;
-	private String type = "meta";
-
-	public Object start(IApplicationContext context) throws Exception {
-		initializeFromArguments((String[]) context.getArguments().get("application.args"));
-
-		if (compare)
-			compareMetadataRepositories(new URL(source), new URL(target));
-		if (list) {
-			list(source);
-			list(target);
-		}
-		return IApplication.EXIT_OK;
-	}
-
-	private void list(String sourceLocation) throws ProvisionException {
-		if (sourceLocation == null)
-			return;
-		IQueryable source = null;
-		if (type.equals("meta")) {
-			URL location;
-			try {
-				location = new URL(sourceLocation);
-			} catch (MalformedURLException e) {
-				return;
-			}
-			ProvisioningHelper.addMetadataRepository(location);
-			source = ProvisioningHelper.getMetadataRepository(location);
-			if (source == null)
-				return;
-		} else if (type.equals("profile")) {
-			source = ProvisioningHelper.getProfile(sourceLocation);
-			if (source == null)
-				return;
-		}
-		IInstallableUnit[] sourceIUs = source.query(null, null, null, false, null);
-		sourceIUs = sort(sourceIUs, true);
-		for (int i = 0; i < sourceIUs.length; i++) {
-			System.out.print(sourceIUs[i]);
-			System.out.println(sourceIUs[i].isFragment() ? " (fragment)" : "");
-		}
-		System.out.println("Total: " + sourceIUs.length);
-	}
-
-	private void compareMetadataRepositories(URL source, URL target) throws ProvisionException {
-		ProvisioningHelper.addMetadataRepository(source);
-		IMetadataRepository sourceRepo = ProvisioningHelper.getMetadataRepository(source);
-		if (sourceRepo == null)
-			return;
-		ProvisioningHelper.addMetadataRepository(target);
-		IMetadataRepository targetRepo = ProvisioningHelper.getMetadataRepository(target);
-		if (targetRepo == null)
-			return;
-
-		System.out.println("\n" + source.toExternalForm() + " -> " + target.toExternalForm());
-		compare(sourceRepo, targetRepo);
-
-		System.out.println("\n" + target.toExternalForm() + " -> " + source.toExternalForm());
-		compare(targetRepo, sourceRepo);
-	}
-
-	private void compare(IQueryable sourceRepo, IQueryable targetRepo) {
-		IQueryable[] target = new IQueryable[] {targetRepo};
-		IInstallableUnit[] ius = sourceRepo.query(null, null, null, false, null);
-		ius = sort(ius, true);
-		for (int i = 0; i < ius.length; i++) {
-			IInstallableUnit iu = ius[i];
-			Iterator result = Query.getIterator(target, iu.getId(), new VersionRange(iu.getVersion(), true, iu.getVersion(), true), null, false);
-			if (!result.hasNext())
-				System.out.println(iu);
-			else {
-				String comparison = compare(iu, (IInstallableUnit) result.next());
-				if (comparison.length() > 0)
-					System.out.println(iu + comparison);
-			}
-		}
-	}
-
-	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) {
-		String result = "";
-		if (!iu.equals(next))
-			result += " iu";
-		if (!compare(iu.getApplicabilityFilter(), next.getApplicabilityFilter()))
-			result += " applicabilityFilter";
-		if (!compare(iu.getArtifacts(), next.getArtifacts()))
-			result += " artifactLocators";
-		if (!compare(iu.getProvidedCapabilities(), next.getProvidedCapabilities()))
-			result += " providedCapabilities";
-		if (!compareRequires(iu.getRequiredCapabilities(), next.getRequiredCapabilities()))
-			result += " requiredCapabilities";
-		if (!compare(iu.getTouchpointType(), next.getTouchpointType()))
-			result += " touchpointType";
-
-		if (iu.isFragment()) {
-			if (((InstallableUnitFragment) iu).getHostId() == null || ((InstallableUnitFragment) iu).getHostVersionRange() == null)
-				return result;
-			if (!((InstallableUnitFragment) iu).getHostId().equals(((InstallableUnitFragment) next).getHostId()))
-				result += " hostid";
-			if (!((InstallableUnitFragment) iu).getHostVersionRange().equals(((InstallableUnitFragment) next).getHostVersionRange()))
-				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) {
-		Comparator comparator = 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;
-				int version = sourceIU.getVersion().compareTo(targetIU.getVersion());
-				if (version != 0)
-					return version;
-				return 0;
-			}
-		};
-		IInstallableUnit[] result = ius;
-		if (clone) {
-			result = new InstallableUnit[ius.length];
-			System.arraycopy(ius, 0, result, 0, ius.length);
-		}
-		Arrays.sort(result, comparator);
-		return result;
-	}
-
-	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("-sort"))
-			//				sort = true;
-
-			if (args[i].equalsIgnoreCase("-meta"))
-				type = "meta";
-
-			if (args[i].equalsIgnoreCase("-compare"))
-				compare = true;
-
-			if (args[i].equalsIgnoreCase("-profile"))
-				type = "profile";
-
-			if (args[i].equalsIgnoreCase("-list"))
-				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"))
-				source = arg;
-			if (args[i - 1].equalsIgnoreCase("-target"))
-				target = arg;
-		}
-	}
-
-	public void stop() {
-	}
-
-}
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 7cdeb73..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="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.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 cc70768..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,334 +0,0 @@
-#Tue Aug 21 09:42:55 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.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=false
-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_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.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 322f579..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,28 +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: 0.1.0.qualifier
-Import-Package: org.eclipse.core.runtime;common=split,
- org.eclipse.equinox.frameworkadmin,
- org.eclipse.equinox.internal.frameworkadmin.utils,
- org.eclipse.equinox.p2.artifact.repository,
- org.eclipse.equinox.p2.core.helpers,
- org.eclipse.equinox.p2.core.location,
- org.eclipse.equinox.p2.core.repository,
- org.eclipse.equinox.p2.download,
- org.eclipse.equinox.p2.engine,
- org.eclipse.equinox.p2.metadata,
- org.eclipse.osgi.framework.util,
- org.eclipse.osgi.service.datalocation;version="1.0.0",
- org.eclipse.osgi.service.environment;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.2"
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
- J2SE-1.4
-Eclipse-LazyStart: true
-Bundle-Activator: org.eclipse.equinox.internal.p2.touchpoint.eclipse.Activator
-Export-Package: org.eclipse.equinox.internal.p2.touchpoint.eclipse;x-internal:=true
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 (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-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 15dc984..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 (Incubation)
-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 37cda27..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<plugin>
-	<extension point="org.eclipse.equinox.p2.engine.touchpoints" id="eclipse" name="Eclipse Touchpoint">
-		<touchpoint 
-			type="eclipse" 
-			class="org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint"
-			version="1.0.0"/>
-	</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/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 c5430bf..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/EclipseTouchpoint.java
+++ /dev/null
@@ -1,603 +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 java.io.File;
-import java.io.IOException;
-import java.util.Collection;
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.frameworkadmin.Manipulator;
-import org.eclipse.equinox.p2.artifact.repository.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.*;
-import org.osgi.framework.Version;
-
-public class EclipseTouchpoint extends Touchpoint {
-	private static final TouchpointType TOUCHPOINT_TYPE = new TouchpointType("eclipse", new Version("1.0")); //$NON-NLS-1$ //$NON-NLS-2$
-	private static final String ACTION_ADD_JVM_ARG = "addJvmArg"; //$NON-NLS-1$
-	private static final String ACTION_ADD_PROGRAM_ARG = "addProgramArg"; //$NON-NLS-1$
-	private static final String ACTION_COLLECT = "collect"; //$NON-NLS-1$
-	private static final String ACTION_INSTALL_BUNDLE = "installBundle"; //$NON-NLS-1$
-	private static final String ACTION_MARK_STARTED = "markStarted"; //$NON-NLS-1$
-	private static final String ACTION_REMOVE_JVM_ARG = "removeJvmArg"; //$NON-NLS-1$
-	private static final String ACTION_REMOVE_PROGRAM_ARG = "removeProgramArg"; //$NON-NLS-1$
-	private static final String ACTION_SET_FW_DEPENDENT_PROP = "setFwDependentProp"; //$NON-NLS-1$
-	private static final String ACTION_SET_FW_INDEPENDENT_PROP = "setFwIndependentProp"; //$NON-NLS-1$
-	private static final String ACTION_UNINSTALL_BUNDLE = "uninstallBundle"; //$NON-NLS-1$
-	private static final String PARM_ARTIFACT = "@artifact"; //$NON-NLS-1$
-	private static final String PARM_ARTIFACT_REQUESTS = "artifactRequests"; //$NON-NLS-1$
-	private static final String PARM_BUNDLE = "bundle"; //$NON-NLS-1$
-	private static final String PARM_INSTALL_FOLDER = "installFolder"; //$NON-NLS-1$
-	private static final String PARM_IU = "iu"; //$NON-NLS-1$
-	private static final String PARM_JVM_ARG = "jvmArg"; //$NON-NLS-1$
-	private static final String PARM_MANIPULATOR = "manipulator"; //$NON-NLS-1$
-	private static final String PARM_OPERAND = "operand"; //$NON-NLS-1$
-	private static final String PARM_PREVIOUS_START_LEVEL = "previousStartLevel"; //$NON-NLS-1$
-	private static final String PARM_PREVIOUS_STARTED = "previousStarted"; //$NON-NLS-1$
-	private static final String PARM_PREVIOUS_VALUE = "previousValue"; //$NON-NLS-1$
-	private static final String PARM_PROFILE = "profile"; //$NON-NLS-1$
-	private static final String PARM_PROGRAM_ARG = "programArg"; //$NON-NLS-1$
-	private static final String PARM_PROP_NAME = "propName"; //$NON-NLS-1$
-	private static final String PARM_PROP_VALUE = "propValue"; //$NON-NLS-1$
-	private static final String PARM_SET_START_LEVEL = "setStartLevel"; //$NON-NLS-1$
-	private static final String PARM_START_LEVEL = "startLevel"; //$NON-NLS-1$
-	private static final String PARM_STARTED = "started"; //$NON-NLS-1$
-
-	protected static IStatus createError(String message) {
-		return createError(message, null);
-	}
-
-	protected static IStatus createError(String message, Exception e) {
-		return new Status(IStatus.ERROR, Activator.ID, message, e);
-	}
-
-	// TODO: Here we may want to consult multiple caches
-	IArtifactRequest[] collect(IInstallableUnit installableUnit, Profile profile) {
-		IArtifactRepository targetRepo = null;
-		IArtifactKey[] toDownload = installableUnit.getArtifacts();
-		if (toDownload == null || toDownload.length == 0)
-			return IArtifactRepositoryManager.NO_ARTIFACT_REQUEST;
-		IArtifactRequest[] requests = new IArtifactRequest[toDownload.length];
-
-		IFileArtifactRepository bundlePool = Util.getBundlePoolRepo(profile);
-		if (isCompletelyInRepo(bundlePool, toDownload))
-			return IArtifactRepositoryManager.NO_ARTIFACT_REQUEST;
-
-		//If the installable unit has installation information, then the artifact is put in the download cache
-		//otherwise it is a jar'ed bundle and we directly store it in the plugin cache
-		if (isZipped(installableUnit.getTouchpointData())) {
-			targetRepo = Util.getDownloadCacheRepo();
-		} else {
-			targetRepo = bundlePool;
-		}
-		int count = 0;
-		for (int i = 0; i < toDownload.length; i++) {
-			IArtifactKey key = toDownload[i];
-			if (!targetRepo.contains(key)) {
-				requests[count++] = Util.getArtifactRepositoryManager().createMirrorRequest(key, targetRepo);
-			}
-		}
-
-		if (requests.length == count)
-			return requests;
-		IArtifactRequest[] result = new IArtifactRequest[count];
-		System.arraycopy(requests, 0, result, 0, count);
-		return result;
-	}
-
-	public IStatus completePhase(IProgressMonitor monitor, Profile profile, String phaseId, Map touchpointParameters) {
-		Manipulator manipulator = (Manipulator) touchpointParameters.get(PARM_MANIPULATOR);
-		try {
-			manipulator.save(false);
-		} catch (RuntimeException e) {
-			return createError("Error saving manipulator", e);
-		} catch (IOException e) {
-			return createError("Error saving manipulator", e);
-		}
-		return null;
-	}
-
-	public ProvisioningAction getAction(String actionId) {
-		if (actionId.equals(ACTION_INSTALL_BUNDLE)) {
-			return new ProvisioningAction() {
-				public IStatus execute(Map parameters) {
-					return installBundle(parameters);
-				}
-
-				public IStatus undo(Map parameters) {
-					return uninstallBundle(parameters);
-				}
-			};
-		}
-
-		if (actionId.equals(ACTION_UNINSTALL_BUNDLE)) {
-			return new ProvisioningAction() {
-				public IStatus execute(Map parameters) {
-					return uninstallBundle(parameters);
-				}
-
-				public IStatus undo(Map parameters) {
-					return installBundle(parameters);
-				}
-			};
-		}
-
-		if (actionId.equals(ACTION_COLLECT)) {
-			return new ProvisioningAction() {
-				public IStatus execute(Map parameters) {
-					Profile profile = (Profile) parameters.get(PARM_PROFILE);
-					Operand operand = (Operand) parameters.get(PARM_OPERAND);
-					IArtifactRequest[] requests = collect(operand.second(), profile);
-
-					Collection artifactRequests = (Collection) parameters.get(PARM_ARTIFACT_REQUESTS);
-					artifactRequests.add(requests);
-					return Status.OK_STATUS;
-				}
-
-				public IStatus undo(Map parameters) {
-					// nothing to do for now
-					return Status.OK_STATUS;
-				}
-			};
-		}
-
-		if (actionId.equals(ACTION_ADD_PROGRAM_ARG)) {
-			return new ProvisioningAction() {
-				public IStatus execute(Map parameters) {
-					Manipulator manipulator = (Manipulator) parameters.get(PARM_MANIPULATOR);
-					String programArg = (String) parameters.get(PARM_PROGRAM_ARG);
-					if (programArg == null)
-						return createError("The \"programArg\" parameter was not set in the \"add program args\" action.");
-
-					if (programArg.equals(PARM_ARTIFACT)) {
-						Profile profile = (Profile) parameters.get(PARM_PROFILE);
-						IInstallableUnit iu = (IInstallableUnit) parameters.get(PARM_IU);
-
-						IArtifactKey[] artifacts = iu.getArtifacts();
-						if (artifacts == null || artifacts.length == 0)
-							return createError("Installable unit contains no artifacts");
-
-						IArtifactKey artifactKey = artifacts[0];
-
-						File fileLocation = null;
-						try {
-							fileLocation = Util.getBundleFile(artifactKey, isZipped(iu.getTouchpointData()), profile);
-						} catch (IOException e) {
-							return createError(e.getMessage(), e);
-						}
-						if (fileLocation == null || !fileLocation.exists())
-							return createError("The file is not available" + fileLocation.getAbsolutePath());
-						programArg = fileLocation.getAbsolutePath();
-					}
-
-					manipulator.getLauncherData().addProgramArg(programArg);
-					return Status.OK_STATUS;
-				}
-
-				public IStatus undo(Map parameters) {
-					Manipulator manipulator = (Manipulator) parameters.get(PARM_MANIPULATOR);
-					String programArg = (String) parameters.get(PARM_PROGRAM_ARG);
-					if (programArg == null)
-						return createError("The \"programArg\" parameter was not set in the \"add program args\" action.");
-
-					if (programArg.equals(PARM_ARTIFACT)) {
-						Profile profile = (Profile) parameters.get(PARM_PROFILE);
-						IInstallableUnit iu = (IInstallableUnit) parameters.get(PARM_IU);
-						IArtifactKey[] artifacts = iu.getArtifacts();
-						if (artifacts == null || artifacts.length == 0)
-							return createError("Installable unit contains no artifacts");
-
-						IArtifactKey artifactKey = artifacts[0];
-
-						File fileLocation = null;
-						try {
-							fileLocation = Util.getBundleFile(artifactKey, isZipped(iu.getTouchpointData()), profile);
-						} catch (IOException e) {
-							return createError(e.getMessage(), e);
-						}
-						if (fileLocation == null || !fileLocation.exists())
-							return createError("The file is not available" + fileLocation.getAbsolutePath());
-						programArg = fileLocation.getAbsolutePath();
-					}
-
-					manipulator.getLauncherData().removeProgramArg(programArg);
-					return Status.OK_STATUS;
-				}
-			};
-		}
-
-		if (actionId.equals(ACTION_REMOVE_PROGRAM_ARG)) {
-			return new ProvisioningAction() {
-				public IStatus execute(Map parameters) {
-					Manipulator manipulator = (Manipulator) parameters.get(PARM_MANIPULATOR);
-					String programArg = (String) parameters.get(PARM_PROGRAM_ARG);
-					if (programArg == null)
-						return createError("The \"programArg\" parameter was not set in the \"remove program args\" action.");
-
-					if (programArg.equals(PARM_ARTIFACT)) {
-						Profile profile = (Profile) parameters.get(PARM_PROFILE);
-						IInstallableUnit iu = (IInstallableUnit) parameters.get(PARM_IU);
-						IArtifactKey[] artifacts = iu.getArtifacts();
-						if (artifacts == null || artifacts.length == 0)
-							return createError("Installable unit contains no artifacts");
-
-						IArtifactKey artifactKey = artifacts[0];
-
-						File fileLocation = null;
-						try {
-							fileLocation = Util.getBundleFile(artifactKey, isZipped(iu.getTouchpointData()), profile);
-						} catch (IOException e) {
-							return createError(e.getMessage(), e);
-						}
-						if (fileLocation == null || !fileLocation.exists())
-							return createError("The artifact for " + artifactKey + " is not available");
-						programArg = fileLocation.getAbsolutePath();
-					}
-
-					manipulator.getLauncherData().removeProgramArg(programArg);
-					return Status.OK_STATUS;
-				}
-
-				public IStatus undo(Map parameters) {
-					Manipulator manipulator = (Manipulator) parameters.get(PARM_MANIPULATOR);
-					String programArg = (String) parameters.get(PARM_PROGRAM_ARG);
-					if (programArg == null)
-						return createError("The \"programArg\" parameter was not set in the \"remove program args\" action.");
-
-					if (programArg.equals(PARM_ARTIFACT)) {
-						Profile profile = (Profile) parameters.get(PARM_PROFILE);
-						IInstallableUnit iu = (IInstallableUnit) parameters.get(PARM_IU);
-						IArtifactKey[] artifacts = iu.getArtifacts();
-						if (artifacts == null || artifacts.length == 0)
-							return createError("Installable unit contains no artifacts");
-
-						IArtifactKey artifactKey = artifacts[0];
-
-						File fileLocation = null;
-						try {
-							fileLocation = Util.getBundleFile(artifactKey, isZipped(iu.getTouchpointData()), profile);
-						} catch (IOException e) {
-							return createError(e.getMessage(), e);
-						}
-						if (fileLocation == null || !fileLocation.exists())
-							return createError("The artifact for " + artifactKey + " is not available");
-						programArg = fileLocation.getAbsolutePath();
-					}
-
-					manipulator.getLauncherData().addProgramArg(programArg);
-					return Status.OK_STATUS;
-				}
-			};
-		}
-
-		if (actionId.equals(PARM_SET_START_LEVEL)) {
-			return new ProvisioningAction() {
-				public IStatus execute(Map parameters) {
-					Manipulator manipulator = (Manipulator) parameters.get(PARM_MANIPULATOR);
-					IInstallableUnit iu = (IInstallableUnit) parameters.get(PARM_IU);
-					String startLevel = (String) parameters.get(PARM_START_LEVEL);
-					if (startLevel == null)
-						return createError("The \"startLevel\" parameter was not set in the \"set start level\" action.");
-
-					BundleInfo bundleInfo = new BundleInfo();
-					Util.initFromManifest(Util.getManifest(iu.getTouchpointData()), bundleInfo);
-					BundleInfo[] bundles = manipulator.getConfigData().getBundles();
-					for (int i = 0; i < bundles.length; i++) {
-						if (bundles[i].equals(bundleInfo)) {
-							getMemento().put(PARM_PREVIOUS_START_LEVEL, new Integer(bundles[i].getStartLevel()));
-							try {
-								bundles[i].setStartLevel(Integer.parseInt(startLevel));
-							} catch (NumberFormatException e) {
-								return createError("Error parsing start level: " + startLevel + " for bundle: " + bundles[i].getSymbolicName(), e);
-							}
-							break;
-						}
-					}
-					return Status.OK_STATUS;
-				}
-
-				public IStatus undo(Map parameters) {
-					Manipulator manipulator = (Manipulator) parameters.get(PARM_MANIPULATOR);
-					IInstallableUnit iu = (IInstallableUnit) parameters.get(PARM_IU);
-
-					BundleInfo bundleInfo = new BundleInfo();
-					Util.initFromManifest(Util.getManifest(iu.getTouchpointData()), bundleInfo);
-					BundleInfo[] bundles = manipulator.getConfigData().getBundles();
-					for (int i = 0; i < bundles.length; i++) {
-						if (bundles[i].equals(bundleInfo)) {
-							Integer previousStartLevel = (Integer) getMemento().get(PARM_PREVIOUS_START_LEVEL);
-							if (previousStartLevel != null)
-								bundles[i].setStartLevel(previousStartLevel.intValue());
-							break;
-						}
-					}
-					return Status.OK_STATUS;
-				}
-			};
-		}
-
-		if (actionId.equals(ACTION_MARK_STARTED)) {
-			return new ProvisioningAction() {
-				public IStatus execute(Map parameters) {
-					Manipulator manipulator = (Manipulator) parameters.get(PARM_MANIPULATOR);
-					IInstallableUnit iu = (IInstallableUnit) parameters.get(PARM_IU);
-					String started = (String) parameters.get(PARM_STARTED);
-					if (started == null)
-						return createError("The \"started\" parameter was not set in the \"mark started\" action.");
-
-					BundleInfo bundleInfo = new BundleInfo();
-					Util.initFromManifest(Util.getManifest(iu.getTouchpointData()), bundleInfo);
-					BundleInfo[] bundles = manipulator.getConfigData().getBundles();
-					for (int i = 0; i < bundles.length; i++) {
-						if (bundles[i].equals(bundleInfo)) {
-							getMemento().put(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) {
-					Manipulator manipulator = (Manipulator) parameters.get(PARM_MANIPULATOR);
-					IInstallableUnit iu = (IInstallableUnit) parameters.get(PARM_IU);
-
-					BundleInfo bundleInfo = new BundleInfo();
-					Util.initFromManifest(Util.getManifest(iu.getTouchpointData()), bundleInfo);
-					BundleInfo[] bundles = manipulator.getConfigData().getBundles();
-					for (int i = 0; i < bundles.length; i++) {
-						if (bundles[i].equals(bundleInfo)) {
-							Boolean previousStarted = (Boolean) getMemento().get(PARM_PREVIOUS_STARTED);
-							if (previousStarted != null)
-								bundles[i].setMarkedAsStarted(previousStarted.booleanValue());
-							break;
-						}
-					}
-					return Status.OK_STATUS;
-				}
-			};
-		}
-
-		if (actionId.equals(ACTION_SET_FW_DEPENDENT_PROP)) {
-			return new ProvisioningAction() {
-				public IStatus execute(Map parameters) {
-					Manipulator manipulator = (Manipulator) parameters.get(PARM_MANIPULATOR);
-					String propName = (String) parameters.get(PARM_PROP_NAME);
-					if (propName == null)
-						return createError("The \"propName\" parameter was not set in the \"set framework dependent properties\" action.");
-					String propValue = (String) parameters.get(PARM_PROP_VALUE);
-					if (propValue == null)
-						return createError("The \"propValue\" parameter was not set in the \"set framework dependent properties\" action.");
-					getMemento().put(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(PARM_MANIPULATOR);
-					String propName = (String) parameters.get(PARM_PROP_NAME);
-					if (propName == null)
-						return createError("The \"propName\" parameter was not set in the \"set framework dependent properties\" action.");
-					String previousValue = (String) getMemento().get(PARM_PREVIOUS_VALUE);
-					if (previousValue == null)
-						return createError("The \"propValue\" parameter was not set in the \"set framework dependent properties\" action.");
-					manipulator.getConfigData().setFwDependentProp(propName, previousValue);
-					return Status.OK_STATUS;
-				}
-			};
-		}
-
-		if (actionId.equals(ACTION_SET_FW_INDEPENDENT_PROP)) {
-			return new ProvisioningAction() {
-				public IStatus execute(Map parameters) {
-					Manipulator manipulator = (Manipulator) parameters.get(PARM_MANIPULATOR);
-					String propName = (String) parameters.get(PARM_PROP_NAME);
-					if (propName == null)
-						return createError("The \"propName\" parameter was not set in the \"set framework independent properties\" action.");
-					String propValue = (String) parameters.get(PARM_PROP_VALUE);
-					if (propValue == null)
-						return createError("The \"propValue\" parameter was not set in the \"set framework independent properties\" action.");
-					getMemento().put(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(PARM_MANIPULATOR);
-					String propName = (String) parameters.get(PARM_PROP_NAME);
-					if (propName == null)
-						return createError("The \"propName\" parameter was not set in the \"set framework independent properties\" action.");
-					String previousValue = (String) getMemento().get(PARM_PREVIOUS_VALUE);
-					if (previousValue == null)
-						return createError("The \"propValue\" parameter was not set in the \"set framework independent properties\" action.");
-					manipulator.getConfigData().setFwIndependentProp(propName, previousValue);
-					return Status.OK_STATUS;
-				}
-			};
-		}
-
-		if (actionId.equals(ACTION_ADD_JVM_ARG)) {
-			return new ProvisioningAction() {
-				public IStatus execute(Map parameters) {
-					Manipulator manipulator = (Manipulator) parameters.get(PARM_MANIPULATOR);
-					String jvmArg = (String) parameters.get(PARM_JVM_ARG);
-					if (jvmArg == null)
-						return createError("The \"jvmArg\" parameter was not set in the \"add jvm args\" action.");
-					manipulator.getLauncherData().addJvmArg(jvmArg);
-					return Status.OK_STATUS;
-				}
-
-				public IStatus undo(Map parameters) {
-					Manipulator manipulator = (Manipulator) parameters.get(PARM_MANIPULATOR);
-					String jvmArg = (String) parameters.get(PARM_JVM_ARG);
-					if (jvmArg == null)
-						return createError("The \"jvmArg\" parameter was not set in the \"add jvm args\" action.");
-					manipulator.getLauncherData().removeJvmArg(jvmArg);
-					return Status.OK_STATUS;
-				}
-			};
-		}
-
-		if (actionId.equals(ACTION_REMOVE_JVM_ARG)) {
-			return new ProvisioningAction() {
-				public IStatus execute(Map parameters) {
-					Manipulator manipulator = (Manipulator) parameters.get(PARM_MANIPULATOR);
-					String jvmArg = (String) parameters.get(PARM_JVM_ARG);
-					if (jvmArg == null)
-						return createError("The \"jvmArg\" parameter was not set in the \"remove jvm args\" action.");
-					manipulator.getLauncherData().removeJvmArg(jvmArg);
-					return Status.OK_STATUS;
-				}
-
-				public IStatus undo(Map parameters) {
-					Manipulator manipulator = (Manipulator) parameters.get(PARM_MANIPULATOR);
-					String jvmArg = (String) parameters.get(PARM_JVM_ARG);
-					if (jvmArg == null)
-						return createError("The \"jvmArg\" parameter was not set in the \"remove jvm args\" action.");
-					manipulator.getLauncherData().addJvmArg(jvmArg);
-					return Status.OK_STATUS;
-				}
-			};
-		}
-
-		return null;
-	}
-
-	public TouchpointType getTouchpointType() {
-		//TODO this data probably needs to come from the XML
-		return TOUCHPOINT_TYPE;
-	}
-
-	public IStatus initializePhase(IProgressMonitor monitor, Profile profile, String phaseId, Map touchpointParameters) {
-		touchpointParameters.put(PARM_MANIPULATOR, new LazyManipulator(profile));
-		touchpointParameters.put(PARM_INSTALL_FOLDER, Util.getInstallFolder(profile));
-		return null;
-	}
-
-	IStatus installBundle(Map parameters) {
-
-		Profile profile = (Profile) parameters.get(PARM_PROFILE);
-		IInstallableUnit iu = (IInstallableUnit) parameters.get(PARM_IU);
-		Manipulator manipulator = (Manipulator) parameters.get(PARM_MANIPULATOR);
-		String bundleId = (String) parameters.get(PARM_BUNDLE);
-		if (bundleId == null)
-			return createError("The \"bundleId\" parameter is missing from the \"install bundle\" action");
-
-		//TODO: eventually remove this. What is a fragment doing here??
-		if (iu.isFragment()) {
-			System.out.println("What is a fragment doing here!!! -- " + iu);
-			return Status.OK_STATUS;
-		}
-
-		IArtifactKey[] artifacts = iu.getArtifacts();
-		if (artifacts == null || artifacts.length == 0)
-			return createError("Installable unit contains no artifacts");
-
-		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("No artifact found that matches: " + bundleId);
-
-		boolean isZipped = isZipped(iu.getTouchpointData());
-		File bundleFile;
-		try {
-			bundleFile = Util.getBundleFile(artifactKey, isZipped, profile);
-			if (bundleFile == null)
-				return createError("The artifact " + artifactKey.toString() + " to install was not found.");
-
-		} catch (IOException e) {
-			return createError(e.getMessage(), e);
-		}
-
-		// TODO: do we really need the manifest here or just the bsn and version?
-		String manifest = Util.getManifest(iu.getTouchpointData());
-		if (manifest == null)
-			return createError("The manifest is missing for: " + iu.getTouchpointData());
-
-		BundleInfo bundleInfo = Util.createBundleInfo(bundleFile, manifest);
-		manipulator.getConfigData().addBundle(bundleInfo);
-
-		return Status.OK_STATUS;
-	}
-
-	private boolean isCompletelyInRepo(IArtifactRepository repo, IArtifactKey[] toDownload) {
-		for (int i = 0; i < toDownload.length; i++) {
-			if (!repo.contains(toDownload[i]))
-				return false;
-		}
-		return true;
-	}
-
-	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;
-	}
-
-	protected IStatus uninstallBundle(Map parameters) {
-		Profile profile = (Profile) parameters.get(PARM_PROFILE);
-		IInstallableUnit iu = (IInstallableUnit) parameters.get(PARM_IU);
-		Manipulator manipulator = (Manipulator) parameters.get(PARM_MANIPULATOR);
-		String bundleId = (String) parameters.get(PARM_BUNDLE);
-		if (bundleId == null)
-			return createError("The \"bundleId\" parameter is missing from the \"uninstall bundle\" action.");
-
-		//TODO: eventually remove this. What is a fragment doing here??
-		if (iu.isFragment()) {
-			System.out.println("What is a fragment doing here!!! -- " + iu);
-			return Status.OK_STATUS;
-		}
-
-		IArtifactKey[] artifacts = iu.getArtifacts();
-		if (artifacts == null || artifacts.length == 0)
-			return createError("Installable unit contains no artifacts");
-
-		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("No artifact found that matches: " + bundleId);
-
-		boolean isZipped = isZipped(iu.getTouchpointData());
-		File bundleFile;
-		try {
-			bundleFile = Util.getBundleFile(artifactKey, isZipped, profile);
-			if (bundleFile == null)
-				return createError("The artifact " + artifactKey.toString() + " to uninstall was not found.");
-
-		} catch (IOException e) {
-			return createError(e.getMessage(), e);
-		}
-
-		// TODO: do we really need the manifest here or just the bsn and version?
-		String manifest = Util.getManifest(iu.getTouchpointData());
-		if (manifest == null)
-			return createError("The manifest is missing for: " + iu.getTouchpointData());
-
-		BundleInfo bundleInfo = Util.createBundleInfo(bundleFile, manifest);
-		manipulator.getConfigData().removeBundle(bundleInfo);
-
-		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 5d00b4d..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/LazyManipulator.java
+++ /dev/null
@@ -1,122 +0,0 @@
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse;
-
-import java.io.File;
-import java.io.IOException;
-import org.eclipse.equinox.frameworkadmin.*;
-import org.eclipse.equinox.p2.engine.Profile;
-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 Profile profile;
-
-	public LazyManipulator(Profile profile) {
-		this.profile = profile;
-	}
-
-	private void loadDelegate() {
-		if (manipulator != null)
-			return;
-
-		manipulator = getFrameworkManipulator();
-		if (manipulator == null)
-			throw new IllegalStateException("Could not acquire the framework manipulator service."); //$NON-NLS-1$
-
-		LauncherData launcherData = manipulator.getLauncherData();
-		launcherData.setFwConfigLocation(Util.getConfigurationFolder(profile));
-		launcherData.setLauncher(new File(Util.getInstallFolder(profile), Util.getLauncherName(profile)));
-		try {
-			manipulator.load();
-		} catch (IllegalStateException e2) {
-			// TODO if fwJar is not included, this exception will be thrown. But ignore it. 
-			//				e2.printStackTrace();
-		} catch (FrameworkAdminRuntimeException e2) {
-			// TODO Auto-generated catch block
-			e2.printStackTrace();
-		} catch (IOException e2) {
-			// TODO Auto-generated catch block
-			e2.printStackTrace();
-		}
-		//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$
-	}
-
-	private Manipulator getFrameworkManipulator() {
-		ServiceTracker fwAdminTracker = null;
-		try {
-			Filter filter = Activator.getContext().createFilter(filterFwAdmin);
-			fwAdminTracker = new ServiceTracker(Activator.getContext(), filter, null);
-			fwAdminTracker.open();
-			FrameworkAdmin fwAdmin = (FrameworkAdmin) fwAdminTracker.getService();
-			if (fwAdmin != null)
-				return fwAdmin.getManipulator();
-		} catch (InvalidSyntaxException e) {
-			// should not happen
-			e.printStackTrace();
-		} finally {
-			if (fwAdminTracker != null)
-				fwAdminTracker.close();
-		}
-		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, IOException, FrameworkAdminRuntimeException {
-		loadDelegate();
-		manipulator.load();
-	}
-
-	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/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 8dd1205..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/Util.java
+++ /dev/null
@@ -1,220 +0,0 @@
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.equinox.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.frameworkadmin.FrameworkAdmin;
-import org.eclipse.equinox.p2.artifact.repository.*;
-import org.eclipse.equinox.p2.core.helpers.*;
-import org.eclipse.equinox.p2.core.location.AgentLocation;
-import org.eclipse.equinox.p2.engine.Profile;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.TouchpointData;
-import org.eclipse.osgi.service.environment.EnvironmentInfo;
-import org.eclipse.osgi.util.ManifestElement;
-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 final static String CACHE_PATH = "eclipse.p2.cache"; //$NON-NLS-1$
-	private final static String CONFIG_FOLDER = "eclipse.configurationFolder"; //$NON-NLS-1$
-
-	static AgentLocation getAgentLocation() {
-		return (AgentLocation) ServiceHelper.getService(Activator.getContext(), AgentLocation.class.getName());
-	}
-
-	static IArtifactRepositoryManager getArtifactRepositoryManager() {
-		return (IArtifactRepositoryManager) ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.class.getName());
-	}
-
-	static URL getBundlePoolLocation(Profile profile) {
-		String path = profile.getValue(CACHE_PATH);
-		if (path == null)
-			path = Activator.getContext().getProperty(CACHE_PATH);
-		if (path != null)
-			try {
-				// TODO this is a hack for now.
-				return File.separatorChar == '/' ? new URL("file:" + path) : new URL("file:/" + path); //$NON-NLS-1$ //$NON-NLS-2$
-			} catch (MalformedURLException e) {
-				// TODO Do nothing and use the default approach
-			}
-		AgentLocation location = getAgentLocation();
-		if (location == null)
-			return null;
-		return location.getDataArea(Activator.ID);
-	}
-
-	static IFileArtifactRepository getBundlePoolRepo(Profile profile) {
-		URL location = getBundlePoolLocation(profile);
-		IArtifactRepositoryManager manager = getArtifactRepositoryManager();
-		IArtifactRepository repository = manager.loadRepository(location, null);
-		if (repository == null) {
-			// 	the given repo location is not an existing repo so we have to create something
-			// TODO for now create a random repo by default.
-			String repositoryName = location + " - bundle pool"; //$NON-NLS-1$
-			repository = manager.createRepository(location, repositoryName, "org.eclipse.equinox.p2.artifact.repository.simpleRepository"); //$NON-NLS-1$
-			// TODO: do we still need to do this
-			tagAsImplementation(repository);
-		}
-
-		IFileArtifactRepository bundlePool = (IFileArtifactRepository) repository.getAdapter(IFileArtifactRepository.class);
-		if (bundlePool == null) {
-			throw new IllegalArgumentException("BundlePool repository not writeable: " + location); //$NON-NLS-1$
-		}
-		return bundlePool;
-	}
-
-	private static URL getDownloadCacheLocation() {
-		AgentLocation location = getAgentLocation();
-		return (location != null ? location.getArtifactRepositoryURL() : null);
-	}
-
-	static IFileArtifactRepository getDownloadCacheRepo() {
-		URL location = getDownloadCacheLocation();
-		IArtifactRepositoryManager manager = getArtifactRepositoryManager();
-		IArtifactRepository repository = manager.loadRepository(location, null);
-		if (repository == null) {
-			// 	the given repo location is not an existing repo so we have to create something
-			// TODO for now create a random repo by default.
-			String repositoryName = location + " - Agent download cache"; //$NON-NLS-1$
-			repository = manager.createRepository(location, repositoryName, "org.eclipse.equinox.p2.artifact.repository.simpleRepository"); //$NON-NLS-1$
-			// TODO: do we still need to do this
-			tagAsImplementation(repository);
-		}
-
-		IFileArtifactRepository downloadCache = (IFileArtifactRepository) repository.getAdapter(IFileArtifactRepository.class);
-		if (downloadCache == null) {
-			throw new IllegalArgumentException("Agent download cache not writeable: " + location); //$NON-NLS-1$
-		}
-		return downloadCache;
-	}
-
-	// TODO: Will there be other repositories to tag as implementation?  Should this
-	//		 method to some utility?
-	private static void tagAsImplementation(IArtifactRepository repository) {
-		//		if (repository != null && repository.getProperties().getProperty(IRepositoryInfo.IMPLEMENTATION_ONLY_KEY) == null) {
-		//			IWritableRepositoryInfo writableInfo = (IWritableRepositoryInfo) repository.getAdapter(IWritableRepositoryInfo.class);
-		//			if (writableInfo != null) {
-		//				writableInfo.getModifiableProperties().setProperty(IRepositoryInfo.IMPLEMENTATION_ONLY_KEY, Boolean.valueOf(true).toString());
-		//			}
-		//		}
-	}
-
-	static BundleInfo createBundleInfo(File bundleFile, String manifest) {
-		BundleInfo bundleInfo = new BundleInfo();
-		try {
-			bundleInfo.setLocation(bundleFile.toURL().toExternalForm());
-		} catch (MalformedURLException e) {
-			e.printStackTrace();
-		}
-
-		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$
-			bundleInfo.setSymbolicName(element[0].getValue());
-			bundleInfo.setVersion((String) headers.get(Constants.BUNDLE_VERSION));
-		} catch (BundleException e) {
-			e.printStackTrace();
-		}
-		return bundleInfo;
-	}
-
-	static File getBundleFile(IArtifactKey artifactKey, boolean isZipped, Profile profile) throws IOException {
-
-		if (!isZipped) {
-			IFileArtifactRepository bundlePool = getBundlePoolRepo(profile);
-			File bundleJar = bundlePool.getArtifactFile(artifactKey);
-			return bundleJar;
-		}
-
-		// Handle zipped
-		IFileArtifactRepository downloadCache = getDownloadCacheRepo();
-		File bundleJar = downloadCache.getArtifactFile(artifactKey);
-		if (bundleJar == null)
-			return null;
-
-		File bundleFolder = new File(getBundlePoolLocation(profile).getFile(), "plugins/" + artifactKey.getId() + '_' + artifactKey.getVersion()); //$NON-NLS-1$
-		if (bundleFolder.exists())
-			return bundleFolder;
-
-		if (!bundleFolder.mkdir())
-			throw new IOException("Can't create the folder: " + bundleFolder);
-
-		FileUtils.unzipFile(bundleJar, bundleFolder);
-		return bundleFolder;
-	}
-
-	static File getConfigurationFolder(Profile profile) {
-		String config = profile.getValue(CONFIG_FOLDER);
-		if (config != null)
-			return new File(config);
-		return new File(getInstallFolder(profile), "configuration"); //$NON-NLS-1$
-	}
-
-	static File getInstallFolder(Profile profile) {
-		return new File(profile.getValue(Profile.PROP_INSTALL_FOLDER));
-	}
-
-	/**
-	 * Returns the name of the Eclipse application launcher.
-	 */
-	static String getLauncherName(Profile profile) {
-		String name = profile.getValue(FrameworkAdmin.SERVICE_PROP_KEY_LAUNCHER_NAME);
-		if (name != null)
-			return name;
-		//create a default name based on platform
-		//TODO Need a better solution for launcher name branding
-		EnvironmentInfo info = (EnvironmentInfo) ServiceHelper.getService(Activator.getContext(), EnvironmentInfo.class.getName());
-		if (info.getOS() == org.eclipse.osgi.service.environment.Constants.OS_WIN32)
-			return "eclipse.exe"; //$NON-NLS-1$
-		return "eclipse"; //$NON-NLS-1$
-	}
-
-	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)
-				return manifest;
-		}
-		return null;
-	}
-
-	public static void initFromManifest(String manifest, BundleInfo bInfo) {
-		try {
-			bInfo.setManifest(manifest);
-			Headers headers = Headers.parseManifest(new ByteArrayInputStream(manifest.getBytes()));
-			ManifestElement[] element = ManifestElement.parseHeader("bsn", (String) headers.get(Constants.BUNDLE_SYMBOLICNAME)); //$NON-NLS-1$
-			bInfo.setSymbolicName(element[0].getValue());
-			bInfo.setVersion((String) headers.get(Constants.BUNDLE_VERSION));
-		} catch (BundleException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-	}
-
-	/**
-	 * 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.
-	 */
-	static String computeRelativeAgentLocation(Profile 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$
-		return agentURL.toString();
-	}
-
-}
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 23d4170..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,24 +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: 0.1.0.qualifier
-Bundle-Activator: org.eclipse.equinox.internal.p2.touchpoint.natives.Activator
-Import-Package: org.eclipse.equinox.p2.artifact.repository,
- org.eclipse.equinox.p2.core.helpers,
- org.eclipse.equinox.p2.core.location,
- org.eclipse.equinox.p2.core.repository,
- org.eclipse.equinox.p2.download,
- org.eclipse.equinox.p2.engine,
- org.eclipse.equinox.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 (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-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 ffa4396..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 (Incubation)
-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 64fb474..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="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 73e9304..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.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("");
-		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);
-			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.
-	private 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 7ec1e92..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/Messages.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.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 unzipping;
-	public static String restoring;
-
-}
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 f68aa8d..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/NativeTouchpoint.java
+++ /dev/null
@@ -1,194 +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.net.URL;
-import java.util.Collection;
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.p2.artifact.repository.*;
-import org.eclipse.equinox.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.p2.core.location.AgentLocation;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.*;
-import org.osgi.framework.Version;
-
-public class NativeTouchpoint extends Touchpoint {
-	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("collect")) {
-			return new ProvisioningAction() {
-				public IStatus execute(Map parameters) {
-					Profile profile = (Profile) parameters.get("profile");
-					Operand operand = (Operand) parameters.get("operand");
-					IArtifactRequest[] requests = collect(operand.second(), profile);
-					Collection artifactRequests = (Collection) parameters.get("artifactRequests");
-					artifactRequests.add(requests);
-					return Status.OK_STATUS;
-				}
-
-				public IStatus undo(Map parameters) {
-					// nothing to do for now
-					return Status.OK_STATUS;
-				}
-			};
-		}
-
-		if (actionId.equals("unzip")) {
-			return new ProvisioningAction() {
-				public IStatus execute(Map parameters) {
-					String source = (String) parameters.get("source");
-					if (source == null)
-						return createError("The \"source\" parameter was not set in the \"unzip\" action.");
-					String target = (String) parameters.get("target");
-					if (target == null)
-						return createError("The \"target\" parameter was not set in the \"unzip\" action.");
-
-					if (source.equals("@artifact")) {
-						IInstallableUnit iu = (IInstallableUnit) parameters.get("iu");
-						//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 = getDownloadCacheRepo();
-						if (downloadCache == null)
-							return createError("The download cache could not be found for the \"unzip\" action.");
-						File fileLocation = downloadCache.getArtifactFile(artifactKey);
-						if ((fileLocation == null) || !fileLocation.exists())
-							return createError("The artifact for " + artifactKey + " is not available");
-						source = fileLocation.getAbsolutePath();
-					}
-
-					new Zip().unzip(source, target, null);
-					return Status.OK_STATUS;
-				}
-
-				public IStatus undo(Map parameters) {
-					//TODO: implement undo
-					return Status.OK_STATUS;
-				}
-			};
-		}
-		if (actionId.equals("chmod")) {
-			return new ProvisioningAction() {
-				public IStatus execute(Map parameters) {
-					String targetDir = (String) parameters.get("targetDir");
-					if (targetDir == null)
-						return createError("The \"targetDir\" parameter was not set in the \"chmod\" action.");
-					String targetFile = (String) parameters.get("targetFile");
-					if (targetFile == null)
-						return createError("The \"targetFile\" parameter was not set in the \"chmod\" action.");
-					String permissions = (String) parameters.get("permissions");
-					if (permissions == null)
-						return createError("The \"permissions\" parameter was not set in the \"chmod\" action");
-
-					new Permissions().chmod(targetDir, targetFile, permissions);
-					return Status.OK_STATUS;
-				}
-
-				public IStatus undo(Map parameters) {
-					//TODO: implement undo ??
-					return Status.OK_STATUS;
-				}
-			};
-		}
-
-		return null;
-	}
-
-	public TouchpointType getTouchpointType() {
-		return new TouchpointType("native", new Version(1, 0, 0));
-	}
-
-	private IArtifactRequest[] collect(IInstallableUnit installableUnit, Profile profile) {
-		IArtifactKey[] toDownload = installableUnit.getArtifacts();
-		if (toDownload == null)
-			return new IArtifactRequest[0];
-		IArtifactRepository destination = getDownloadCacheRepo();
-		if (destination == null)
-			throw new IllegalStateException("The download cache is not available.");
-		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(Profile profile) {
-		return profile.getValue(Profile.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 void tagAsImplementation(IArtifactRepository repository) {
-		//		if (repository != null && repository.getProperties().getProperty(IRepositoryInfo.IMPLEMENTATION_ONLY_KEY) == null) {
-		//			IWritableRepositoryInfo writableInfo = (IWritableRepositoryInfo) repository.getAdapter(IWritableRepositoryInfo.class);
-		//			if (writableInfo != null) {
-		//				writableInfo.getModifiableProperties().setProperty(IRepositoryInfo.IMPLEMENTATION_ONLY_KEY, Boolean.valueOf(true).toString());
-		//			}
-		//		}
-	}
-
-	static private IFileArtifactRepository getDownloadCacheRepo() {
-		URL location = getDownloadCacheLocation();
-		if (location == null)
-			throw new IllegalStateException("Could not obtain the download cache location.");
-		IArtifactRepositoryManager manager = getArtifactRepositoryManager();
-		if (manager == null)
-			throw new IllegalStateException("The artifact repository manager could not be found.");
-		IArtifactRepository repository = manager.loadRepository(location, null);
-		if (repository == null) {
-			// 	the given repo location is not an existing repo so we have to create something
-			// TODO for now create a random repo by default.
-			String repositoryName = location + " - Agent download cache"; //$NON-NLS-1$
-			repository = manager.createRepository(location, repositoryName, "org.eclipse.equinox.p2.artifact.repository.simpleRepository");
-			// TODO: do we still need to do this
-			tagAsImplementation(repository);
-		}
-
-		IFileArtifactRepository downloadCache = (IFileArtifactRepository) repository.getAdapter(IFileArtifactRepository.class);
-		if (downloadCache == null) {
-			throw new IllegalArgumentException("Agent download cache not writeable: " + location); //$NON-NLS-1$
-		}
-		return downloadCache;
-	}
-
-	static private URL getDownloadCacheLocation() {
-		AgentLocation location = getAgentLocation();
-		return (location != null ? location.getArtifactRepositoryURL() : null);
-	}
-
-	public IStatus initializePhase(IProgressMonitor monitor, Profile profile, String phaseId, Map touchpointParameters) {
-		touchpointParameters.put("installFolder", getInstallFolder(profile));
-		return null;
-	}
-}
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 98bdcdf..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("chmod " + perms + " " + targetDir + IPath.SEPARATOR + targetFile);
-		} 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 04ae8a0..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);
-	}
-
-	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);
-		}
-		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();
-		else
-			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 77b3f1c..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.p2.core.helpers.FileUtils;
-import org.eclipse.osgi.util.NLS;
-
-//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 void 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?
-			System.out.println(this.getClass().getName() + " the files to be unzipped is not here");
-			//			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) {
-					System.out.println(this.getClass().getName() + " something went wrong when backing up the files");
-					e.printStackTrace();
-					//				throw Util.coreException(e, NLS.bind(Messages.error_backing_up, zipFile));
-				} finally {
-					//				backupPM.done();
-				}
-			}
-			try {
-				String taskName = NLS.bind(Messages.unzipping, source);
-				FileUtils.unzipFile(zipFile, new File(destination), taskName, new NullProgressMonitor());
-			} catch (IOException e) {
-				System.out.println(this.getClass().getName() + " something went wrong when unzipping");
-				System.out.println("zipfile: " + zipFile.getAbsolutePath());
-				System.out.println("destination: " + destination);
-				e.printStackTrace();
-				//				throw Util.coreException(e.getMessage());
-			} finally {
-				//				unzipPM.done();
-			}
-		} finally {
-			//			monitor.done();
-		}
-		//		}
-	}
-}
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 15e212e..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/messages.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
-###############################################################################
-
-# NativeInstallAdapter
-restoring=Restoring {0}
-
-# Util
-unzipping=Extracting {0}
-
-
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 8e5421b..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,39 +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: 0.1.0.qualifier
-Bundle-Activator: org.eclipse.equinox.p2.ui.ProvUIActivator
-Import-Package: org.eclipse.equinox.configurator,
- org.eclipse.equinox.p2.artifact.repository,
- org.eclipse.equinox.p2.artifact.repository.processing,
- org.eclipse.equinox.p2.core,
- org.eclipse.equinox.p2.core.eventbus,
- org.eclipse.equinox.p2.core.helpers,
- org.eclipse.equinox.p2.core.repository,
- org.eclipse.equinox.p2.director,
- org.eclipse.equinox.p2.engine,
- org.eclipse.equinox.p2.engine.phases,
- org.eclipse.equinox.p2.metadata,
- org.eclipse.equinox.p2.metadata.repository,
- org.eclipse.equinox.p2.query,
- org.eclipse.equinox.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.p2.ui,
- org.eclipse.equinox.p2.ui.actions,
- org.eclipse.equinox.p2.ui.dialogs,
- org.eclipse.equinox.p2.ui.model,
- org.eclipse.equinox.p2.ui.operations,
- org.eclipse.equinox.p2.ui.viewers
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.equinox.simpleconfigurator
-Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
- J2SE-1.4
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 (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-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 b404b02..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/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
-###############################################################################
-bin.includes = plugin.properties,\
-               icons/,\
-               .,\
-               about.html,\
-               META-INF/
-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/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.gif b/bundles/org.eclipse.equinox.p2.ui/icons/obj/uninstalled_iu.gif
deleted file mode 100644
index f192b84..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/icons/obj/uninstalled_iu.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.ui/icons/wizban/config_wiz.gif b/bundles/org.eclipse.equinox.p2.ui/icons/wizban/config_wiz.gif
deleted file mode 100644
index 6a19fbf..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/icons/wizban/config_wiz.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/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 904db6c..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=Provisioning UI (Incubation)
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ApplyProfileChangesDialog.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ApplyProfileChangesDialog.java
deleted file mode 100644
index 0b00b60..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ApplyProfileChangesDialog.java
+++ /dev/null
@@ -1,75 +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;
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.window.Window;
-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;
-		String message = ProvUIMessages.OptionalPlatformRestartMessage;
-		if (mustRestart) {
-			message = ProvUIMessages.PlatformRestartMessage;
-		}
-		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/ProvUIMessages.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvUIMessages.java
deleted file mode 100644
index 066c32e..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvUIMessages.java
+++ /dev/null
@@ -1,127 +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;
-
-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 AddColocatedRepositoryDialog_InvalidURL;
-	public static String ApplyProfileChangesDialog_ApplyChanges;
-	public static String ChooseProfileDialog_DefaultDialogTitle;
-	public static String ColocatedRepositoryManipulatorGroup_Add;
-	public static String ColocatedRepositoryManipulatorGroup_LocationColumnHeader;
-	public static String ColocatedRepositoryManipulatorGroup_NameColumnHeader;
-	public static String ColocatedRepositoryManipulatorGroup_Remove;
-	public static String InstallDialog_InstallSelectionMessage;
-	public static String IUPropertiesGroup_CopyrightProperty;
-	public static String IUPropertiesGroup_DescriptionProperty;
-	public static String IUPropertiesGroup_LicenseProperty;
-	public static String IUDetailsLabelProvider_KB;
-	public static String IUDetailsLabelProvider_Bytes;
-	public static String IUDetailsLabelProvider_Unknown;
-	public static String IUPropertiesGroup_NameProperty;
-	public static String IUPropertiesGroup_ProviderProperty;
-	// utility error messages
-	public static String ProvisioningUtil_NoRepositoryManager;
-	public static String ProvisioningUtil_AddRepositoryFailure;
-	public static String ProvisioningUtil_CreateRepositoryFailure;
-	public static String ProvisioningUtil_InstallManyTask;
-	public static String ProvisioningUtil_InstallOneTask;
-	public static String ProvisioningUtil_RepoNotWritable;
-	public static String ProvisioningUtil_RepositoryNotFound;
-	public static String ProvisioningUtil_NoProfileRegistryFound;
-	public static String ProvisioningUtil_NoPlannerFound;
-	public static String ProvisioningUtil_NoEngineFound;
-	public static String ProvisioningUtil_NoIUFound;
-	public static String ProvisioningUtil_NoInstallRegistryFound;
-	public static String ProvisioningUtil_NoProfileInstallRegistryFound;
-	public static String ProvisioningUtil_RepositoriesSearched;
-
-	// 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 InstallIUOperationLabel;
-	public static String InstallIUOperationLabelWithMnemonic;
-	public static String InstallIUCommandLabel;
-	public static String InstallIUCommandTooltip;
-	public static String InstallIUProgress;
-	public static String UninstallDialog_UninstallMessage;
-	public static String UninstallIUOperationLabel;
-	public static String UninstallIUOperationLabelWithMnemonic;
-	public static String UninstallIUCommandLabel;
-	public static String UninstallIUCommandTooltip;
-	public static String UninstallIUProgress;
-	public static String UpdateIUOperationLabel;
-	public static String UpdateIUOperationLabelWithMnemonic;
-	public static String UpdateIUCommandLabel;
-	public static String UpdateIUCommandTooltip;
-	public static String UpdateIUProgress;
-	public static String RollbackIUOperationLabel;
-	public static String RollbackIUOperationLabelWithMnemonic;
-	public static String RollbackIUCommandLabel;
-	public static String RollbackIUCommandTooltip;
-	public static String RollbackIUProgress;
-
-	// Property pages
-	public static String IUPropertyPage_NoIUSelected;
-	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_RepositoryNameFieldLabel;
-	public static String RepositoryGroup_URLRequired;
-	public static String RepositoryGroup_RepositoryURLFieldLabel;
-
-	// Dialogs
-	public static String AddRepositoryDialog_DuplicateURL;
-	public static String AddRepositoryDialog_Title;
-	public static String UpdateAction_UpdateInformationTitle;
-	public static String UpdateAction_UpdatesAvailableMessage;
-	public static String UpdateDialog_AssemblingUpdatesProgress;
-	public static String UpdateAction_UpdatesAvailableTitle;
-	public static String PlatformUpdateTitle;
-	public static String PlatformRestartMessage;
-	public static String ProvUI_InformationTitle;
-	public static String ProvUI_NameColumnTitle;
-	public static String ProvUI_SizeColumnTitle;
-	public static String ProvUI_VersionColumnTitle;
-	public static String ProvUI_IDColumnTitle;
-	public static String OptionalPlatformRestartMessage;
-
-	// Operations
-	public static String UpdateAndInstallGroup_Properties;
-	public static String UpdateAndInstallSelectionDialog_DeselectAllLabel;
-	public static String UpdateAndInstallSelectionDialog_SelectAllLabel;
-	public static String UpdateAndInstallGroup_Refresh;
-	public static String UpdateOperation_NothingToUpdate;
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvisioningEventManager.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvisioningEventManager.java
deleted file mode 100644
index db0bf25..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvisioningEventManager.java
+++ /dev/null
@@ -1,49 +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;
-
-import java.util.EventObject;
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.equinox.p2.ui.IProvisioningListener;
-
-/**
- * ProvisioningEventManager can notify clients of changes to the properties
- * of provisioning objects.
- * 
- * @since 3.4
- */
-
-// TODO This is a HACK class.
-// This class should go away and instead these kinds of events should be handled
-// by the provisioning event bus.  See bug #197052 and #197701
-// 
-public class ProvisioningEventManager {
-
-	private ListenerList listeners = new ListenerList();
-
-	public void addListener(IProvisioningListener listener) {
-		listeners.add(listener);
-	}
-
-	public void removeListener(IProvisioningListener listener) {
-		listeners.remove(listener);
-	}
-
-	public void notifyListeners(EventObject event) {
-		final Object[] listenerArray = listeners.getListeners();
-		for (int i = 0; i < listenerArray.length; i++) {
-			final IProvisioningListener listener = (IProvisioningListener) listenerArray[i];
-			listener.notify(event);
-		}
-
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/StaticContentProvider.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/StaticContentProvider.java
deleted file mode 100644
index 80b9287..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/StaticContentProvider.java
+++ /dev/null
@@ -1,35 +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;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-public final class StaticContentProvider implements IStructuredContentProvider {
-	private final 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) {
-		// input is static
-	}
-}
\ 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 60f74b8..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/messages.properties
+++ /dev/null
@@ -1,107 +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
-###############################################################################
-
-ProvisioningUtil_NoRepositoryManager=No repository manager was found
-ProvisioningUtil_AddRepositoryFailure=Unable to add repository {0}
-ProvisioningUtil_CreateRepositoryFailure=Unable to create repository {0}
-ProvisioningUtil_InstallManyTask=Installing {0} features into {1}
-ProvisioningUtil_InstallOneTask=Installing {0} into {1}
-ProvisioningUtil_RepositoryNotFound=Could not find repository {0}
-ProvisioningUtil_RepoNotWritable=Repository is not writable
-ProvisioningUtil_NoProfileRegistryFound=No profile registry was found
-ProvisioningUtil_NoPlannerFound=No provisioning planner was found
-ProvisioningUtil_NoEngineFound=No provisioning engine was found
-ProvisioningUtil_NoIUFound=Could not find installable unit {0}:{1}
-ProvisioningUtil_NoInstallRegistryFound=No install registry was found
-ProvisioningUtil_NoProfileInstallRegistryFound=No profile install registry was found
-ProvisioningUtil_RepositoriesSearched=The following repositories were searched:
-
-ProvisioningOperation_ExecuteErrorTitle=Error while executing the "{0}" operation
-ProvisioningOperation_RedoErrorTitle=Error while redoing the "{0}" operation
-ProvisioningOperation_UndoErrorTitle=Error while undoing the "{0}" operation
-InstallIUOperationLabel=Install
-InstallIUOperationLabelWithMnemonic=&Install
-InstallIUCommandLabel=&Install...
-InstallIUCommandTooltip=Install the selected items
-InstallIUProgress=Installing...
-UninstallDialog_UninstallMessage=The following items will be uninstalled.
-UninstallIUOperationLabel=Uninstall
-UninstallIUOperationLabelWithMnemonic=&Uninstall
-UninstallIUCommandLabel=&Uninstall...
-UninstallIUCommandTooltip=Uninstall the selected items
-UninstallIUProgress=Uninstalling...
-UpdateIUOperationLabel=Update
-UpdateIUOperationLabelWithMnemonic=&Update
-UpdateIUCommandLabel=&Check for updates...
-UpdateIUCommandTooltip=See if updates are available for the selected items
-UpdateIUProgress=Updating...
-RollbackIUOperationLabel=Revert
-RollbackIUOperationLabelWithMnemonic=&Revert
-RollbackIUCommandLabel=&Revert...
-RollbackIUCommandTooltip=Revert to a previously installed configuration
-RollbackIUProgress=Reverting...
-
-ProvDropAdapter_NoIUsToDrop=No IUs were available to be dropped
-ProvDropAdapter_InvalidDropTarget=Invalid drop target
-ProvDropAdapter_UnsupportedDropOperation=Unsupported drop operation
-
-IUPropertyPage_NoIUSelected=There was nothing selected to show in the properties.
-IUDetailsLabelProvider_KB={0} KB
-IUDetailsLabelProvider_Bytes={0} Bytes
-IUDetailsLabelProvider_Unknown=Unknown
-IUPropertiesGroup_NameProperty=Name
-IUPropertiesGroup_ProviderProperty=Provider
-IUPropertiesGroup_LicenseProperty=License
-RepositoryPropertyPage_NoRepoSelected=There was no repository selected
-
-RepositoryGroup_RepositoryNameFieldLabel=&Name:
-RepositoryGroup_RepositoryURLFieldLabel=&URL:
-RepositoryGroup_LocalRepoBrowseButton=&Local...
-RepositoryGroup_ArchivedRepoBrowseButton=&Archive...
-RepositoryGroup_SelectRepositoryDirectory=Select a repository root directory:
-RepositoryGroup_RepositoryFile=Repository archive
-RepositoryGroup_URLRequired=Must specify a URL
-
-AddRepositoryDialog_Title=Add Repository
-AddRepositoryDialog_DuplicateURL=Duplicate URL
-
-UpdateAndInstallGroup_Properties=&Properties...
-UpdateAndInstallSelectionDialog_DeselectAllLabel=&Deselect All
-UpdateAndInstallSelectionDialog_SelectAllLabel=&Select All
-UpdateAction_UpdateInformationTitle=Update Information
-UpdateAction_UpdatesAvailableMessage=Select the updates you wish to install.
-UpdateDialog_AssemblingUpdatesProgress=Assembling updates
-UpdateAction_UpdatesAvailableTitle=Available Updates
-UpdateOperation_NothingToUpdate=There is nothing to update.
-UpdateAndInstallGroup_Refresh=&Refresh
-ChooseProfileDialog_DefaultDialogTitle=Select a profile
-InstallDialog_InstallSelectionMessage=Select the items you wish to install.
-AddColocatedRepositoryDialog_InvalidURL=The URL is not valid.
-ColocatedRepositoryManipulatorGroup_Add=&Add...
-ColocatedRepositoryManipulatorGroup_Remove=&Remove
-ColocatedRepositoryManipulatorGroup_NameColumnHeader=Name
-ColocatedRepositoryManipulatorGroup_LocationColumnHeader=Location
-IUPropertiesGroup_DescriptionProperty=Description
-IUPropertiesGroup_CopyrightProperty=Copyright
-
-PlatformUpdateTitle = Software Updates
-PlatformRestartMessage = You will need to restart the system for the changes to take effect. \
-Would you like to restart now?
-ProvUI_InformationTitle=Information
-ProvUI_NameColumnTitle=Name
-ProvUI_SizeColumnTitle=Size
-ProvUI_VersionColumnTitle=Version
-ProvUI_IDColumnTitle=Identifier
-
-OptionalPlatformRestartMessage = It is recommended you restart the system for the changes to take effect, \
-but it may be possible to apply the changes you have made without restarting. \
-Would you like to restart now?
-ApplyProfileChangesDialog_ApplyChanges=Apply Changes
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/ColocatedRepositoryInfo.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/ColocatedRepositoryInfo.java
deleted file mode 100644
index df5c807..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/ColocatedRepositoryInfo.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.ui;
-
-import org.eclipse.equinox.p2.core.helpers.UnmodifiableProperties;
-import org.eclipse.equinox.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.spi.p2.core.repository.AbstractRepository;
-
-/**
- * Repository info for a colocated repository.
- * 
- * @since 3.4
- */
-public class ColocatedRepositoryInfo extends AbstractRepository {
-
-	private IMetadataRepository repo;
-
-	public ColocatedRepositoryInfo(IMetadataRepository repo) {
-		super(repo.getName(), repo.getType(), repo.getVersion(), ColocatedRepositoryUtil.makeColocatedRepositoryURL(repo.getLocation()), repo.getDescription(), repo.getProvider());
-		this.repo = repo;
-	}
-
-	public String getDescription() {
-		return repo.getDescription();
-	}
-
-	public String getName() {
-		return repo.getName();
-	}
-
-	public UnmodifiableProperties getProperties() {
-		return repo.getProperties();
-	}
-
-	public String getProvider() {
-		return repo.getProvider();
-	}
-
-	public Object getAdapter(Class adapter) {
-		return repo.getAdapter(adapter);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/ColocatedRepositoryUtil.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/ColocatedRepositoryUtil.java
deleted file mode 100644
index a54ca12..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/ColocatedRepositoryUtil.java
+++ /dev/null
@@ -1,36 +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.ui;
-
-import java.net.URL;
-
-/**
- * Utility methods for manipulating colocated repository URLS
- * 
- * @since 3.4
- */
-public class ColocatedRepositoryUtil {
-
-	public static URL makeArtifactRepositoryURL(URL url) {
-		return url;
-	}
-
-	public static URL makeMetadataRepositoryURL(URL url) {
-		return url;
-	}
-
-	// A colocated repository URL is one level above the metadata or artifact
-	// repository URL.  For example, foo/servers/ instead of foo/servers/metadataRepository
-	public static URL makeColocatedRepositoryURL(URL metadataURL) {
-		return metadataURL;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/IProfileChooser.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/IProfileChooser.java
deleted file mode 100644
index b814439..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/IProfileChooser.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.p2.ui;
-
-import org.eclipse.equinox.p2.engine.Profile;
-
-/**
- * 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, or <code>null</code> if there is no profile
-	 * chosen.
-	 */
-	public Profile getProfile();
-
-	/**
-	 * 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/p2/ui/IProvisioningListener.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/IProvisioningListener.java
deleted file mode 100644
index 0497ac9..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/IProvisioningListener.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.p2.ui;
-
-import org.eclipse.equinox.p2.core.eventbus.ProvisioningListener;
-
-/**
- * Temporary class.  A tagging listener used to distinguish listeners
- * for events that aren't triggered in the core yet.
- * 
- * @since 3.4
- */
-// TODO this should all be defined in the core
-// see https://bugs.eclipse.org/bugs/show_bug.cgi?id=197052
-// see https://bugs.eclipse.org/bugs/show_bug.cgi?id=197701
-public interface IProvisioningListener extends ProvisioningListener {
-
-	public final static String REPO_ADDED = "org.eclipse.equinox.p2.ui.property.repoadded"; //$NON-NLS-1$
-	public final static String REPO_REMOVED = "org.eclipse.equinox.p2.ui.property.reporemoved"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/IRepositoryManipulator.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/IRepositoryManipulator.java
deleted file mode 100644
index 9b2df4f..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/IRepositoryManipulator.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.ui;
-
-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 getLabel();
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/ProvUI.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/ProvUI.java
deleted file mode 100644
index 20535c6..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/ProvUI.java
+++ /dev/null
@@ -1,221 +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.ui;
-
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.operations.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.configurator.Configurator;
-import org.eclipse.equinox.internal.p2.ui.ApplyProfileChangesDialog;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.p2.ui.viewers.IUColumnConfig;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-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 ROLLBACK_COMMAND_LABEL = ProvUIMessages.RollbackIUCommandLabel;
-	public static final String ROLLBACK_COMMAND_TOOLTIP = ProvUIMessages.RollbackIUCommandTooltip;
-
-	static ObjectUndoContext provisioningUndoContext;
-	private static IUColumnConfig[] iuColumnConfig = new IUColumnConfig[] {new IUColumnConfig(ProvUIMessages.ProvUI_NameColumnTitle, IUColumnConfig.COLUMN_NAME), new IUColumnConfig(ProvUIMessages.ProvUI_VersionColumnTitle, IUColumnConfig.COLUMN_VERSION)};
-
-	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) {
-		if (message == null && t != null) {
-			message = t.getMessage();
-		}
-		IStatus status = new Status(IStatus.ERROR, ProvUIActivator.PLUGIN_ID, 0, message, t);
-		StatusManager.getManager().handle(status, StatusManager.SHOW | StatusManager.LOG);
-		return status;
-	}
-
-	public static void reportStatus(IStatus status) {
-		// TODO investigate why platform status manager is so ugly with INFO status
-		if (status.getSeverity() == IStatus.INFO) {
-			MessageDialog.openInformation(null, ProvUIMessages.ProvUI_InformationTitle, status.getMessage());
-			return;
-		}
-		StatusManager.getManager().handle(status, StatusManager.SHOW | StatusManager.LOG);
-	}
-
-	public static IUColumnConfig[] getIUColumnConfig() {
-		return iuColumnConfig;
-	}
-
-	public static void setIUColumnConfig(IUColumnConfig[] columnConfig) {
-		iuColumnConfig = columnConfig;
-	}
-
-	public static void requestRestart(boolean restartRequired, Shell shell) {
-		int retCode = ApplyProfileChangesDialog.promptForRestart(shell, restartRequired);
-		if (retCode == ApplyProfileChangesDialog.PROFILE_APPLYCHANGES) {
-			Configurator configurator = (Configurator) ServiceHelper.getService(ProvUIActivator.getContext(), Configurator.class.getName());
-			try {
-				configurator.applyConfiguration();
-			} catch (IOException e) {
-				ProvUI.handleException(e, null);
-			}
-		} else if (retCode == ApplyProfileChangesDialog.PROFILE_RESTART) {
-			PlatformUI.getWorkbench().restart();
-		}
-	}
-
-	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;
-	}
-
-	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()) {
-									StatusManager.getManager().handle(status[0], StatusManager.SHOW);
-								}
-							} catch (ExecutionException e) {
-								status[0] = new Status(IStatus.ERROR, ProvUIActivator.PLUGIN_ID, e.getMessage(), e);
-								ProvUI.handleException(e.getCause(), null);
-							}
-						}
-					};
-					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);
-							}
-						}
-					});
-
-				}
-				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()) {
-									StatusManager.getManager().handle(status[0], StatusManager.SHOW);
-								}
-							} catch (ExecutionException e) {
-								status[0] = new Status(IStatus.ERROR, ProvUIActivator.PLUGIN_ID, e.getMessage(), e);
-								ProvUI.handleException(e.getCause(), null);
-							}
-						}
-					};
-					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);
-							}
-						}
-					});
-
-				}
-				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;
-			}
-		};
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/ProvUIActivator.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/ProvUIActivator.java
deleted file mode 100644
index 1284c8f..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/ProvUIActivator.java
+++ /dev/null
@@ -1,195 +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.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.p2.ui.ProvisioningEventManager;
-import org.eclipse.equinox.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.core.eventbus.ProvisioningEventBus;
-import org.eclipse.equinox.p2.core.eventbus.ProvisioningListener;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.ui.operations.ProvisioningUtil;
-import org.eclipse.equinox.p2.ui.viewers.StructuredViewerProvisioningListener;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-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;
-	private ProvisioningEventManager eventManager = new ProvisioningEventManager();
-
-	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_ACTIVATION_POLICY); //$NON-NLS-1$
-		getBundle("org.eclipse.equinox.frameworkadmin.equinox").start(Bundle.START_ACTIVATION_POLICY); //$NON-NLS-1$
-		getBundle("org.eclipse.equinox.simpleconfigurator.manipulator").start(Bundle.START_ACTIVATION_POLICY); //$NON-NLS-1$
-		getBundle("org.eclipse.equinox.p2.updatechecker").start(Bundle.START_ACTIVATION_POLICY); //$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 CommitOperationEvent) {
-						CommitOperationEvent event = (CommitOperationEvent) o;
-						try {
-							Profile selfProfile = ProvisioningUtil.getProfile(IProfileRegistry.SELF);
-							if (selfProfile != null && (selfProfile.getProfileId().equals(event.getProfile().getProfileId()))) {
-								// TODO below is what we should do but not until we fix bug #208251
-								/*
-								PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
-									public void run() {
-										ProvUI.requestRestart(false, null);
-									}
-								});
-								*/
-							}
-						} catch (ProvisionException e) {
-							ProvUI.handleException(e, null);
-						}
-					}
-				}
-			};
-		}
-		getProvisioningEventBus().addListener(profileChangeListener);
-	}
-
-	private void removeProfileChangeListener() {
-		if (profileChangeListener != null) {
-			ProvisioningEventBus bus = getProvisioningEventBus();
-			if (bus != null) {
-				getProvisioningEventBus().removeListener(profileChangeListener);
-			}
-		}
-	}
-
-	public void addProvisioningListener(StructuredViewerProvisioningListener listener) {
-		// TODO hack for unsupported repository events.
-		// see https://bugs.eclipse.org/bugs/show_bug.cgi?id=197052
-		if ((listener.getEventTypes() & StructuredViewerProvisioningListener.PROV_EVENT_REPOSITORY) == StructuredViewerProvisioningListener.PROV_EVENT_REPOSITORY) {
-			eventManager.addListener(listener);
-		} else {
-			getProvisioningEventBus().addListener(listener);
-		}
-	}
-
-	private ProvisioningEventBus getProvisioningEventBus() {
-		ServiceReference busReference = context.getServiceReference(ProvisioningEventBus.class.getName());
-		if (busReference == null)
-			return null;
-		return (ProvisioningEventBus) context.getService(busReference);
-	}
-
-	// TODO hack for triggering events from the UI.  
-	public void notifyListeners(EventObject event) {
-		eventManager.notifyListeners(event);
-	}
-
-	public void removeProvisioningListener(StructuredViewerProvisioningListener listener) {
-		if ((listener.getEventTypes() & StructuredViewerProvisioningListener.PROV_EVENT_REPOSITORY) == StructuredViewerProvisioningListener.PROV_EVENT_REPOSITORY) {
-			eventManager.removeListener(listener);
-		} else {
-			ServiceReference busReference = context.getServiceReference(ProvisioningEventBus.class.getName());
-			ProvisioningEventBus bus = (ProvisioningEventBus) context.getService(busReference);
-			bus.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_PROFILE);
-	}
-
-	/**
-	 * 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/p2/ui/ProvUIImages.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/ProvUIImages.java
deleted file mode 100644
index 9b9b82a..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/ProvUIImages.java
+++ /dev/null
@@ -1,65 +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.ui;
-
-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.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$
-
-	/**
-	 * 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/p2/ui/ProvisioningOperationResult.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/ProvisioningOperationResult.java
deleted file mode 100644
index 57dbb5b..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/ProvisioningOperationResult.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.ui;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.equinox.p2.ui.operations.ProvisioningOperation;
-
-/**
- * Reports information about a provisioning operation.
- * 
- * @since 3.4
- */
-public class ProvisioningOperationResult {
-	private ProvisioningOperation op;
-	private IStatus status;
-	private Job job;
-
-	public ProvisioningOperationResult(ProvisioningOperation op) {
-		this.op = op;
-	}
-
-	public IStatus getStatus() {
-		return status;
-	}
-
-	void setStatus(IStatus status) {
-		this.status = status;
-	}
-
-	public Job getJob() {
-		return job;
-	}
-
-	void setJob(Job job) {
-		this.job = job;
-	}
-
-	public ProvisioningOperation getOperation() {
-		return op;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/ProvisioningOperationRunner.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/ProvisioningOperationRunner.java
deleted file mode 100644
index 0862512..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/ProvisioningOperationRunner.java
+++ /dev/null
@@ -1,114 +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.ui;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.operations.IUndoableOperation;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.equinox.p2.ui.operations.ProvisioningOperation;
-import org.eclipse.jface.operation.IRunnableContext;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.progress.WorkbenchJob;
-
-/**
- * Utility methods for running provisioning operations
- * 
- * @since 3.4
- */
-public class ProvisioningOperationRunner {
-
-	private static class ProvisioningJob extends Job {
-		private ProvisioningOperation op;
-		private ProvisioningOperationResult result;
-
-		ProvisioningJob(ProvisioningOperation op, ProvisioningOperationResult result) {
-			super(op.getLabel());
-			this.op = op;
-			this.result = result;
-		}
-
-		protected IStatus run(IProgressMonitor monitor) {
-			try {
-				IStatus status;
-				if (op instanceof IUndoableOperation) {
-					status = PlatformUI.getWorkbench().getOperationSupport().getOperationHistory().execute((IUndoableOperation) op, monitor, null);
-				} else {
-					status = op.execute(monitor, null);
-				}
-				result.setStatus(status);
-				return status;
-			} catch (ExecutionException e) {
-				return ProvUI.handleException(e.getCause(), null);
-			}
-		}
-
-		public boolean belongsTo(Object family) {
-			return family == FAMILY_PROVISIONING_OPERATIONS;
-		}
-
-	}
-
-	private static Object FAMILY_PROVISIONING_OPERATIONS = new Object();
-
-	/**
-	 * 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 context the IRunnableContext provided by the caller for running the operation.  May be <code>null</code>, in which case
-	 *            a runnable context will be created based on whether the operation should be run in the foreground or background.
-	 *            Callers typically need not supply a context unless special handling (such as wizard-based progress reporting) is required.
-	*/
-	// TODO get rid of context parameter and result after M3
-	// should just return the job and callers can hook listeners if they care what's happening
-	public static ProvisioningOperationResult execute(final ProvisioningOperation op, final Shell shell, IRunnableContext context) {
-		final ProvisioningOperationResult result = new ProvisioningOperationResult(op);
-		Job job;
-
-		if (op.runInBackground()) {
-			job = new ProvisioningJob(op, result);
-			job.setPriority(Job.DECORATE); // this is the prio that the old update manager used
-		} 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));
-						}
-						result.setStatus(status);
-						return status;
-					} catch (ExecutionException e) {
-						return ProvUI.handleException(e.getCause(), null);
-					}
-				}
-
-				public boolean belongsTo(Object family) {
-					return family == FAMILY_PROVISIONING_OPERATIONS;
-				}
-
-			};
-		}
-		job.setUser(op.isUser());
-		job.schedule();
-		result.setJob(job);
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/actions/InstallAction.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/actions/InstallAction.java
deleted file mode 100644
index 2ecf348..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/actions/InstallAction.java
+++ /dev/null
@@ -1,75 +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.ui.actions;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.director.ProvisioningPlan;
-import org.eclipse.equinox.p2.engine.Profile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.ui.IProfileChooser;
-import org.eclipse.equinox.p2.ui.ProvUI;
-import org.eclipse.equinox.p2.ui.dialogs.InstallDialog;
-import org.eclipse.equinox.p2.ui.operations.ProvisioningUtil;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Shell;
-
-public class InstallAction extends ProfileModificationAction {
-
-	public InstallAction(ISelectionProvider selectionProvider, Profile profile, IProfileChooser chooser, Shell shell) {
-		super(ProvUI.INSTALL_COMMAND_LABEL, selectionProvider, profile, chooser, shell);
-		setToolTipText(ProvUI.INSTALL_COMMAND_TOOLTIP);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.actions.SelectionProviderAction#selectionChanged(org.eclipse.jface.viewers.IStructuredSelection)
-	 *
-	 *  Overridden to enable only on selections with IU's.  Does not validate
-	 *  whether the IU is already installed in a particular profile.
-	 */
-	public void selectionChanged(IStructuredSelection selection) {
-		Object[] selectionArray = selection.toArray();
-		if (selectionArray.length < 1) {
-			setEnabled(false);
-		} else {
-			for (int i = 0; i < selectionArray.length; i++) {
-				if (!(selectionArray[i] instanceof IInstallableUnit)) {
-					setEnabled(false);
-					return;
-				}
-			}
-			setEnabled(true);
-		}
-	}
-
-	protected String getTaskName() {
-		return ProvUIMessages.InstallIUProgress;
-	}
-
-	protected void performOperation(IInstallableUnit[] ius, Profile targetProfile) {
-		InstallDialog dialog = new InstallDialog(getShell(), ius, targetProfile);
-		dialog.open();
-	}
-
-	protected IStatus validateOperation(IInstallableUnit[] ius, Profile targetProfile, IProgressMonitor monitor) {
-		try {
-			ProvisioningPlan plan = ProvisioningUtil.getInstallPlan(ius, targetProfile, monitor);
-			return plan.getStatus();
-		} catch (ProvisionException e) {
-			return ProvUI.handleException(e, null);
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/actions/ProfileModificationAction.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/actions/ProfileModificationAction.java
deleted file mode 100644
index 2d63bc4..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/actions/ProfileModificationAction.java
+++ /dev/null
@@ -1,97 +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.ui.actions;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.p2.engine.Profile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.ui.IProfileChooser;
-import org.eclipse.equinox.p2.ui.ProvUI;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.swt.widgets.Shell;
-
-abstract class ProfileModificationAction extends ProvisioningAction {
-
-	Profile profile;
-	IProfileChooser profileChooser;
-
-	public ProfileModificationAction(String text, ISelectionProvider selectionProvider, Profile profile, IProfileChooser profileChooser, Shell shell) {
-		super(text, selectionProvider, shell);
-		this.profile = profile;
-		this.profileChooser = profileChooser;
-	}
-
-	public void run() {
-		// If the profile was not provided, see if we have a
-		// viewer element that can tell us.
-		Profile targetProfile = profile;
-		if (targetProfile == null && profileChooser != null) {
-			targetProfile = profileChooser.getProfile();
-		}
-		// We could not figure out a profile to operate on, so return
-		if (targetProfile == null) {
-			return;
-		}
-
-		List elements = getStructuredSelection().toList();
-		List iusList = new ArrayList(elements.size());
-
-		for (int i = 0; i < elements.size(); i++) {
-			Object element = elements.get(i);
-			if (element instanceof IInstallableUnit) {
-				iusList.add(element);
-			} else if (element instanceof IAdaptable) {
-				iusList.add(((IAdaptable) element).getAdapter(IInstallableUnit.class));
-			}
-		}
-
-		final IInstallableUnit[] ius = (IInstallableUnit[]) iusList.toArray(new IInstallableUnit[iusList.size()]);
-		final IStatus[] status = new IStatus[1];
-		final Profile prof = targetProfile;
-		IRunnableWithProgress runnable = new IRunnableWithProgress() {
-			public void run(IProgressMonitor monitor) {
-				status[0] = validateOperation(ius, prof, monitor);
-			}
-		};
-		try {
-			new ProgressMonitorDialog(getShell()).run(false, true, runnable);
-		} catch (InterruptedException e) {
-			// don't report thread interruption
-		} catch (InvocationTargetException e) {
-			ProvUI.handleException(e.getCause(), null);
-		}
-
-		if (status[0].isOK())
-			performOperation(ius, prof);
-		else
-			ProvUI.reportStatus(status[0]);
-
-	}
-
-	/*
-	 * Validate whether the proposed profile modification operation can run.
-	 */
-	protected abstract IStatus validateOperation(IInstallableUnit[] ius, Profile targetProfile, IProgressMonitor monitor);
-
-	/*
-	 * Run the operation, opening any dialogs, etc. 
-	 */
-	protected abstract void performOperation(IInstallableUnit[] ius, Profile targetProfile);
-
-	protected abstract String getTaskName();
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/actions/ProvisioningAction.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/actions/ProvisioningAction.java
deleted file mode 100644
index caf89b5..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/actions/ProvisioningAction.java
+++ /dev/null
@@ -1,41 +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.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;
-		if (this.shell == null) {
-			shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
-		}
-		// prime the selection validation
-		ISelection selection = selectionProvider.getSelection();
-		if (selection instanceof IStructuredSelection) {
-			selectionChanged((IStructuredSelection) selection);
-		} else {
-			selectionChanged(selection);
-		}
-	}
-
-	protected Shell getShell() {
-		return shell;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/actions/RollbackAction.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/actions/RollbackAction.java
deleted file mode 100644
index 5b6ab38..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/actions/RollbackAction.java
+++ /dev/null
@@ -1,78 +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.ui.actions;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.director.ProvisioningPlan;
-import org.eclipse.equinox.p2.engine.Profile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.IInstallableUnitConstants;
-import org.eclipse.equinox.p2.ui.*;
-import org.eclipse.equinox.p2.ui.operations.*;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Shell;
-
-public class RollbackAction extends ProfileModificationAction {
-
-	public RollbackAction(ISelectionProvider selectionProvider, Profile profile, IProfileChooser chooser, Shell shell) {
-		super(ProvUI.ROLLBACK_COMMAND_LABEL, selectionProvider, profile, chooser, shell);
-		setToolTipText(ProvUI.ROLLBACK_COMMAND_TOOLTIP);
-	}
-
-	protected IStatus validateOperation(IInstallableUnit[] toBecome, Profile targetProfile, IProgressMonitor monitor) {
-		if (toBecome.length == 1) {
-			try {
-				ProvisioningPlan plan = ProvisioningUtil.getBecomePlan(toBecome[0], targetProfile, monitor);
-				return plan.getStatus();
-			} catch (ProvisionException e) {
-				return ProvUI.handleException(e, null);
-			}
-		}
-		// should never happen
-		return Status.OK_STATUS;
-	}
-
-	protected void performOperation(IInstallableUnit[] toBecome, Profile targetProfile) {
-		// TODO bogus because we do this twice...
-		try {
-			ProvisioningPlan plan = ProvisioningUtil.getBecomePlan(toBecome[0], targetProfile, null);
-			ProvisioningOperation op = new ProfileModificationOperation(ProvUIMessages.RollbackIUOperationLabel, targetProfile.getProfileId(), plan);
-			ProvisioningOperationRunner.execute(op, getShell(), null);
-		} catch (ProvisionException e) {
-			ProvUI.handleException(e, null);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.actions.SelectionProviderAction#selectionChanged(org.eclipse.jface.viewers.IStructuredSelection)
-	 *
-	 *  Overridden to enable only on single selections with a profile IU.
-	 */
-	public void selectionChanged(IStructuredSelection selection) {
-		Object[] selectionArray = selection.toArray();
-		if (selectionArray.length == 1 && selectionArray[0] instanceof IInstallableUnit) {
-			IInstallableUnit iu = (IInstallableUnit) selectionArray[0];
-			setEnabled(Boolean.valueOf(iu.getProperty(IInstallableUnitConstants.PROFILE_IU_KEY)).booleanValue());
-		} else {
-			setEnabled(false);
-		}
-	}
-
-	protected String getTaskName() {
-		return ProvUIMessages.RollbackIUProgress;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/actions/UninstallAction.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/actions/UninstallAction.java
deleted file mode 100644
index a45885c..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/actions/UninstallAction.java
+++ /dev/null
@@ -1,86 +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.ui.actions;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.director.ProvisioningPlan;
-import org.eclipse.equinox.p2.engine.Profile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.ui.IProfileChooser;
-import org.eclipse.equinox.p2.ui.ProvUI;
-import org.eclipse.equinox.p2.ui.dialogs.UninstallDialog;
-import org.eclipse.equinox.p2.ui.model.InstalledIUElement;
-import org.eclipse.equinox.p2.ui.operations.ProvisioningUtil;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Shell;
-
-public class UninstallAction extends ProfileModificationAction {
-
-	public UninstallAction(ISelectionProvider selectionProvider, Profile profile, IProfileChooser chooser, Shell shell) {
-		super(ProvUI.UNINSTALL_COMMAND_LABEL, selectionProvider, profile, chooser, shell);
-		setToolTipText(ProvUI.UNINSTALL_COMMAND_TOOLTIP);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.actions.SelectionProviderAction#selectionChanged(org.eclipse.jface.viewers.IStructuredSelection)
-	 *
-	 *  Overridden to enable only on selections of installed IU's with the same parent
-	 */
-	public void selectionChanged(IStructuredSelection selection) {
-		Object[] selectionArray = selection.toArray();
-		Object parent = null;
-		if (selectionArray.length > 0) {
-			setEnabled(true);
-			for (int i = 0; i < selectionArray.length; i++) {
-				if (selectionArray[i] instanceof InstalledIUElement) {
-					InstalledIUElement element = (InstalledIUElement) selectionArray[i];
-					if (parent == null) {
-						parent = element.getParent(null);
-					} else if (parent != element.getParent(null)) {
-						setEnabled(false);
-						break;
-					}
-				} else {
-					setEnabled(false);
-					break;
-				}
-			}
-		} else {
-			setEnabled(false);
-		}
-	}
-
-	protected String getTaskName() {
-		return ProvUIMessages.UninstallIUProgress;
-	}
-
-	protected void performOperation(IInstallableUnit[] ius, Profile targetProfile) {
-		UninstallDialog dialog = new UninstallDialog(getShell(), ius, targetProfile);
-		dialog.open();
-	}
-
-	protected IStatus validateOperation(IInstallableUnit[] ius, Profile targetProfile, IProgressMonitor monitor) {
-		try {
-			ProvisioningPlan plan = ProvisioningUtil.getUninstallPlan(ius, targetProfile, monitor);
-			return plan.getStatus();
-		} catch (ProvisionException e) {
-			return ProvUI.handleException(e, null);
-		}
-
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/actions/UpdateAction.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/actions/UpdateAction.java
deleted file mode 100644
index ab6eef9..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/actions/UpdateAction.java
+++ /dev/null
@@ -1,100 +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.ui.actions;
-
-import java.util.ArrayList;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.engine.Profile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.ui.*;
-import org.eclipse.equinox.p2.ui.dialogs.UpdateDialog;
-import org.eclipse.equinox.p2.ui.model.InstalledIUElement;
-import org.eclipse.equinox.p2.ui.operations.ProvisioningUtil;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Shell;
-
-public class UpdateAction extends ProfileModificationAction {
-
-	public UpdateAction(ISelectionProvider selectionProvider, Profile profile, IProfileChooser chooser, Shell shell) {
-		super(ProvUI.UPDATE_COMMAND_LABEL, selectionProvider, profile, chooser, shell);
-		setToolTipText(ProvUI.UPDATE_COMMAND_TOOLTIP);
-	}
-
-	protected void performOperation(IInstallableUnit[] ius, Profile targetProfile) {
-		// Collect the replacements for each IU individually so that 
-		// the user can decide what to update
-		try {
-			ArrayList iusWithUpdates = new ArrayList();
-			for (int i = 0; i < ius.length; i++) {
-				IInstallableUnit[] replacements = ProvisioningUtil.updatesFor(ius[i], null);
-				if (replacements.length > 0)
-					iusWithUpdates.add(ius[i]);
-			}
-			if (iusWithUpdates.size() > 0) {
-				new UpdateDialog(getShell(), (IInstallableUnit[]) iusWithUpdates.toArray(new IInstallableUnit[iusWithUpdates.size()]), targetProfile).open();
-			}
-		} catch (ProvisionException e) {
-			ProvUI.handleException(e, null);
-		}
-	}
-
-	protected IStatus validateOperation(IInstallableUnit[] ius, Profile targetProfile, IProgressMonitor monitor) {
-		try {
-			IInstallableUnit[] updates = ProvisioningUtil.updatesFor(ius, monitor);
-			if (updates.length <= 0) {
-				return new Status(IStatus.INFO, ProvUIActivator.PLUGIN_ID, ProvUIMessages.UpdateOperation_NothingToUpdate);
-			}
-			return Status.OK_STATUS;
-		} catch (ProvisionException e) {
-			return ProvUI.handleException(e, null);
-		}
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.actions.SelectionProviderAction#selectionChanged(org.eclipse.jface.viewers.IStructuredSelection)
-	 *
-	 *  Overridden to enable only on selections of installed IU's with the same parent
-	 */
-	public void selectionChanged(IStructuredSelection selection) {
-		Object[] selectionArray = selection.toArray();
-		Object parent = null;
-		if (selectionArray.length > 0) {
-			setEnabled(true);
-			for (int i = 0; i < selectionArray.length; i++) {
-				if (selectionArray[i] instanceof InstalledIUElement) {
-					InstalledIUElement element = (InstalledIUElement) selectionArray[i];
-					if (parent == null) {
-						parent = element.getParent(null);
-					} else if (parent != element.getParent(null)) {
-						setEnabled(false);
-						break;
-					}
-				} else {
-					setEnabled(false);
-					break;
-				}
-			}
-		} else {
-			setEnabled(false);
-		}
-	}
-
-	protected String getTaskName() {
-		return ProvUIMessages.UpdateIUProgress;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/AddColocatedRepositoryDialog.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/AddColocatedRepositoryDialog.java
deleted file mode 100644
index 83ddaa4..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/AddColocatedRepositoryDialog.java
+++ /dev/null
@@ -1,59 +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.ui.dialogs;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.p2.core.repository.IRepository;
-import org.eclipse.equinox.p2.ui.ProvUI;
-import org.eclipse.equinox.p2.ui.operations.AddColocatedRepositoryOperation;
-import org.eclipse.equinox.p2.ui.operations.ProvisioningOperation;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Dialog that allows colocated metadata and artifact repositories
- * to be defined and added.
- * 
- * @since 3.4
- * 
- */
-public class AddColocatedRepositoryDialog extends AddRepositoryDialog {
-
-	public AddColocatedRepositoryDialog(Shell parentShell, IRepository[] knownRepositories) {
-		super(parentShell, knownRepositories);
-
-	}
-
-	protected ProvisioningOperation getOperation(URL url) {
-		return new AddColocatedRepositoryOperation(getShell().getText(), url);
-	}
-
-	protected URL makeRepositoryURL(String urlString) {
-		URL newURL;
-		try {
-			newURL = new URL(urlString);
-		} catch (MalformedURLException e) {
-			// TODO need friendlier user message rather than just reporting exception
-			ProvUI.handleException(e, ProvUIMessages.AddColocatedRepositoryDialog_InvalidURL);
-			return null;
-		}
-		String urlSpec = newURL.toExternalForm();
-		try {
-			if (!urlSpec.endsWith("/")) //$NON-NLS-1$
-				urlSpec += "/"; //$NON-NLS-1$
-			newURL = new URL(urlSpec);
-		} catch (MalformedURLException e) {
-			return null;
-		}
-		return newURL;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/AddRepositoryDialog.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/AddRepositoryDialog.java
deleted file mode 100644
index 85d0754..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/AddRepositoryDialog.java
+++ /dev/null
@@ -1,170 +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.ui.dialogs;
-
-import java.net.URL;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.p2.core.repository.IRepository;
-import org.eclipse.equinox.p2.ui.ProvUIActivator;
-import org.eclipse.equinox.p2.ui.ProvisioningOperationRunner;
-import org.eclipse.equinox.p2.ui.operations.ProvisioningOperation;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.dialogs.Dialog;
-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.*;
-
-/**
- * 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;
-	IRepository[] knownRepositories;
-	static final String[] ARCHIVE_EXTENSIONS = new String[] {"*.jar;*.zip"}; //$NON-NLS-1$ 
-	static String lastLocalLocation = null;
-	static String lastArchiveLocation = null;
-
-	public AddRepositoryDialog(Shell parentShell, IRepository[] knownRepositories) {
-
-		super(parentShell);
-		this.knownRepositories = knownRepositories;
-		setTitle(ProvUIMessages.AddRepositoryDialog_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) {
-		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.RepositoryGroup_RepositoryURLFieldLabel);
-		url = new Text(comp, SWT.BORDER);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.ENTRY_FIELD_WIDTH);
-		url.setLayoutData(data);
-		url.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				verifyComplete();
-			}
-		});
-		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("file:" + path); //$NON-NLS-1$
-				}
-			}
-		});
-		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("jar:file:" + path + "!/"); //$NON-NLS-1$ //$NON-NLS-2$
-				}
-			}
-		});
-		setButtonLayoutData(locationButton);
-		Dialog.applyDialogFont(comp);
-		return comp;
-	}
-
-	protected void okPressed() {
-		addRepository();
-		super.okPressed();
-	}
-
-	protected void addRepository() {
-		URL newURL = makeRepositoryURL(url.getText().trim());
-		if (newURL != null)
-			ProvisioningOperationRunner.execute(getOperation(newURL), getShell(), null);
-	}
-
-	protected abstract ProvisioningOperation getOperation(URL repoURL);
-
-	protected abstract URL makeRepositoryURL(String urlString);
-
-	void verifyComplete() {
-		if (okButton == null) {
-			return;
-		}
-		String urlText = url.getText().trim();
-		IStatus status = Status.OK_STATUS;
-		if (urlText.length() == 0) {
-			status = new Status(IStatus.ERROR, ProvUIActivator.PLUGIN_ID, 0, ProvUIMessages.RepositoryGroup_URLRequired, null);
-		} else {
-			for (int i = 0; i < knownRepositories.length; i++) {
-				URL repURL = knownRepositories[i].getLocation();
-				if (repURL != null && repURL.equals(urlText)) {
-					status = new Status(IStatus.ERROR, ProvUIActivator.PLUGIN_ID, IStatus.OK, ProvUIMessages.AddRepositoryDialog_DuplicateURL, null);
-					break;
-				}
-			}
-		}
-		setOkEnablement(status.isOK());
-		updateStatus(status);
-	}
-
-	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/p2/ui/dialogs/ColocatedRepositoryManipulatorGroup.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/ColocatedRepositoryManipulatorGroup.java
deleted file mode 100644
index a8ea039..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/ColocatedRepositoryManipulatorGroup.java
+++ /dev/null
@@ -1,212 +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.ui.dialogs;
-
-import java.util.List;
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.p2.ui.ProvUIActivator;
-import org.eclipse.equinox.p2.ui.ProvisioningOperationRunner;
-import org.eclipse.equinox.p2.ui.model.AllMetadataRepositories;
-import org.eclipse.equinox.p2.ui.model.MetadataRepositoryContentProvider;
-import org.eclipse.equinox.p2.ui.operations.RemoveColocatedRepositoryOperation;
-import org.eclipse.equinox.p2.ui.viewers.ColocatedRepositoryLabelProvider;
-import org.eclipse.equinox.p2.ui.viewers.StructuredViewerProvisioningListener;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.window.SameShellProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.graphics.FontMetrics;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.dialogs.PropertyDialogAction;
-
-/**
- * Dialog group that shows installed IU's and allows user to update or search
- * for new ones.
- * 
- * @since 3.4
- */
-public class ColocatedRepositoryManipulatorGroup {
-
-	private static final String BUTTONACTION = "buttonAction"; //$NON-NLS-1$
-	TableViewer repositoryViewer;
-	private FontMetrics fm;
-	Display display;
-	StructuredViewerProvisioningListener listener;
-
-	/**
-	 * Create an instance of this group.
-	 * 
-	 */
-	public ColocatedRepositoryManipulatorGroup(Composite parent, ViewerFilter[] filters, int widthInDUs, int heightInDUs, FontMetrics fm) {
-
-		Assert.isNotNull(fm);
-		this.fm = fm;
-		this.display = parent.getDisplay();
-
-		Composite composite = new Composite(parent, SWT.NONE);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginWidth = convertHorizontalDLUsToPixels(2);
-		layout.marginHeight = convertVerticalDLUsToPixels(2);
-
-		composite.setLayout(layout);
-
-		// Table of available repositories
-		repositoryViewer = new TableViewer(composite, SWT.MULTI | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-		setTableColumns(repositoryViewer.getTable());
-		repositoryViewer.setContentProvider(new MetadataRepositoryContentProvider());
-		repositoryViewer.setInput(new AllMetadataRepositories());
-		repositoryViewer.setLabelProvider(new ColocatedRepositoryLabelProvider());
-		if (filters != null) {
-			repositoryViewer.setFilters(filters);
-		}
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.grabExcessHorizontalSpace = true;
-		data.grabExcessVerticalSpace = true;
-		data.widthHint = convertHorizontalDLUsToPixels(widthInDUs);
-		data.heightHint = convertVerticalDLUsToPixels(heightInDUs);
-		repositoryViewer.getControl().setLayoutData(data);
-
-		// Vertical buttons
-		Composite buttonBar = (Composite) createVerticalButtonBar(composite);
-		data = new GridData(GridData.FILL_VERTICAL);
-		buttonBar.setLayoutData(data);
-		listener = new StructuredViewerProvisioningListener(repositoryViewer, StructuredViewerProvisioningListener.PROV_EVENT_REPOSITORY);
-		ProvUIActivator.getDefault().addProvisioningListener(listener);
-		composite.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent event) {
-				ProvUIActivator.getDefault().removeProvisioningListener(listener);
-			}
-		});
-	}
-
-	public Control getControl() {
-		return repositoryViewer.getControl().getParent();
-	}
-
-	private Control createVerticalButtonBar(Composite parent) {
-		// Create composite.
-		Composite composite = new Composite(parent, SWT.NULL);
-
-		// create a layout with spacing and margins appropriate for the font
-		// size.
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.marginWidth = 5;
-		layout.marginHeight = 0;
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-		composite.setLayout(layout);
-
-		// Add the buttons to the button bar.
-		Button button = createVerticalButton(composite, ProvUIMessages.UpdateAndInstallGroup_Properties, false);
-		button.setData(BUTTONACTION, new PropertyDialogAction(new SameShellProvider(parent.getShell()), repositoryViewer));
-		button = createVerticalButton(composite, ProvUIMessages.ColocatedRepositoryManipulatorGroup_Add, false);
-		button.setData(BUTTONACTION, new Action() {
-			public void runWithEvent(Event event) {
-				new AddColocatedRepositoryDialog(getControl().getShell(), (IMetadataRepository[]) ((IStructuredContentProvider) repositoryViewer.getContentProvider()).getElements(null)).open();
-			}
-		});
-		button = createVerticalButton(composite, ProvUIMessages.ColocatedRepositoryManipulatorGroup_Remove, false);
-		button.setData(BUTTONACTION, new Action() {
-			public void runWithEvent(Event event) {
-				List selection = ((IStructuredSelection) repositoryViewer.getSelection()).toList();
-				IMetadataRepository[] repos = new IMetadataRepository[selection.size()];
-				for (int i = 0; i < repos.length; i++) {
-					repos[i] = (IMetadataRepository) selection.get(i);
-				}
-				RemoveColocatedRepositoryOperation op = new RemoveColocatedRepositoryOperation(ProvUIMessages.ColocatedRepositoryManipulatorGroup_Remove, repos);
-				ProvisioningOperationRunner.execute(op, getControl().getShell(), null);
-			}
-		});
-		return composite;
-	}
-
-	private Button createVerticalButton(Composite parent, String label, boolean defaultButton) {
-		Button button = new Button(parent, SWT.PUSH);
-		button.setText(label);
-
-		GridData data = setButtonLayoutData(button);
-		data.horizontalAlignment = GridData.FILL;
-
-		button.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event event) {
-				verticalButtonPressed(event);
-			}
-		});
-		button.setToolTipText(label);
-		if (defaultButton) {
-			Shell shell = parent.getShell();
-			if (shell != null) {
-				shell.setDefaultButton(button);
-			}
-		}
-		return button;
-	}
-
-	void verticalButtonPressed(Event event) {
-		Object data = event.widget.getData(BUTTONACTION);
-		if (data == null || !(data instanceof IAction)) {
-			return;
-		}
-		IAction action = (IAction) data;
-		action.runWithEvent(event);
-	}
-
-	private GridData setButtonLayoutData(Button button) {
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		int widthHint = convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
-		Point minSize = button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
-		data.widthHint = Math.max(widthHint, minSize.x);
-		button.setLayoutData(data);
-		return data;
-	}
-
-	private int convertHorizontalDLUsToPixels(int dlus) {
-		// shouldn't happen
-		if (fm == null) {
-			return 0;
-		}
-		return Dialog.convertHorizontalDLUsToPixels(fm, dlus);
-	}
-
-	private int convertVerticalDLUsToPixels(int dlus) {
-		// shouldn't happen
-		if (fm == null) {
-			return 0;
-		}
-		return Dialog.convertVerticalDLUsToPixels(fm, dlus);
-	}
-
-	private void setTableColumns(Table table) {
-		table.setHeaderVisible(true);
-		String[] columnHeaders = {ProvUIMessages.ColocatedRepositoryManipulatorGroup_NameColumnHeader, ProvUIMessages.ColocatedRepositoryManipulatorGroup_LocationColumnHeader};
-		for (int i = 0; i < columnHeaders.length; i++) {
-			TableColumn tc = new TableColumn(table, SWT.NONE, i);
-			tc.setResizable(true);
-			tc.setText(columnHeaders[i]);
-			tc.setWidth(convertHorizontalDLUsToPixels(IDialogConstants.ENTRY_FIELD_WIDTH));
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/ColocatedRepositoryPropertyPage.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/ColocatedRepositoryPropertyPage.java
deleted file mode 100644
index 223a5a9..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/ColocatedRepositoryPropertyPage.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.ui.dialogs;
-
-import org.eclipse.equinox.p2.core.repository.IRepository;
-import org.eclipse.equinox.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.p2.ui.ColocatedRepositoryInfo;
-
-/**
- * PropertyPage that shows a repository's properties
- * 
- * @since 3.4
- */
-public class ColocatedRepositoryPropertyPage extends RepositoryPropertyPage {
-	protected IRepository getRepository() {
-		IRepository repo = super.getRepository();
-		if (repo instanceof IMetadataRepository)
-			return new ColocatedRepositoryInfo((IMetadataRepository) repo);
-		return repo;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/IUGroup.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/IUGroup.java
deleted file mode 100644
index fc0be57..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/IUGroup.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.ui.dialogs;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-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() {
-		if (iuElement instanceof IInstallableUnit)
-			return (IInstallableUnit) iuElement;
-		if (iuElement instanceof IAdaptable)
-			return ((IInstallableUnit) ((IAdaptable) iuElement).getAdapter(IInstallableUnit.class));
-		return null;
-	}
-
-	public void updateIU() {
-		// default is to do nothing
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/IUPropertiesGroup.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/IUPropertiesGroup.java
deleted file mode 100644
index 73d7bec..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/IUPropertiesGroup.java
+++ /dev/null
@@ -1,74 +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.ui.dialogs;
-
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.IInstallableUnitConstants;
-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[] {IInstallableUnitConstants.NAME, IInstallableUnitConstants.DESCRIPTION, IInstallableUnitConstants.PROVIDER, IInstallableUnitConstants.COPYRIGHT, IInstallableUnitConstants.LICENSE};
-		String[] userPropNames = new String[] {ProvUIMessages.IUPropertiesGroup_NameProperty, ProvUIMessages.IUPropertiesGroup_DescriptionProperty, ProvUIMessages.IUPropertiesGroup_ProviderProperty, ProvUIMessages.IUPropertiesGroup_CopyrightProperty, ProvUIMessages.IUPropertiesGroup_LicenseProperty};
-		for (int i = 0; i < propNames.length; i++) {
-			TableItem item = new TableItem(propertiesTable, SWT.NULL);
-			String value = getIU().getProperty(propNames[i]);
-			if (value != null)
-				item.setText(new String[] {userPropNames[i], value});
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/IUPropertyPage.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/IUPropertyPage.java
deleted file mode 100644
index 8a49fde..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/IUPropertyPage.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.ui.dialogs;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-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 IUPropertyPage extends PropertyPage {
-
-	private IUPropertiesGroup iuGroup;
-
-	protected Control createContents(Composite parent) {
-		Object element = getElement();
-		IInstallableUnit iu = null;
-		if (element instanceof IInstallableUnit) {
-			iu = (IInstallableUnit) element;
-		} else if (element instanceof IAdaptable) {
-			iu = (IInstallableUnit) ((IAdaptable) element).getAdapter(IInstallableUnit.class);
-		}
-		if (iu == null) {
-			Label label = new Label(parent, SWT.DEFAULT);
-			label.setText(ProvUIMessages.IUPropertyPage_NoIUSelected);
-		}
-		iuGroup = new IUPropertiesGroup(parent, iu, 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/src/org/eclipse/equinox/p2/ui/dialogs/InstallDialog.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/InstallDialog.java
deleted file mode 100644
index 5f7e0ba..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/InstallDialog.java
+++ /dev/null
@@ -1,65 +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.ui.dialogs;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.director.ProvisioningPlan;
-import org.eclipse.equinox.p2.engine.Profile;
-import org.eclipse.equinox.p2.engine.phases.Sizing;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.ui.ProvUI;
-import org.eclipse.equinox.p2.ui.model.AvailableIUElement;
-import org.eclipse.equinox.p2.ui.operations.*;
-import org.eclipse.swt.widgets.Shell;
-
-public class InstallDialog extends UpdateInstallDialog {
-
-	public InstallDialog(Shell parentShell, IInstallableUnit[] ius, Profile profile) {
-		super(parentShell, ius, profile, ProvUIMessages.InstallIUOperationLabel, ProvUIMessages.InstallDialog_InstallSelectionMessage);
-	}
-
-	protected String getOkButtonString() {
-		return ProvUIMessages.InstallIUOperationLabelWithMnemonic;
-	}
-
-	protected long getSize(IInstallableUnit iu) {
-		long size;
-		try {
-			ProvisioningPlan plan = ProvisioningUtil.getInstallPlan(new IInstallableUnit[] {iu}, profile, new NullProgressMonitor());
-			Sizing info = ProvisioningUtil.getSizeInfo(plan, profile, new NullProgressMonitor());
-			size = info.getDiskSize();
-		} catch (ProvisionException e) {
-			size = AvailableIUElement.SIZE_UNKNOWN;
-		}
-		return size;
-	}
-
-	protected String getOperationLabel() {
-		return ProvUIMessages.InstallIUOperationLabel;
-	}
-
-	protected ProfileModificationOperation createProfileModificationOperation(Object[] selectedElements) {
-		try {
-			IInstallableUnit[] ius = elementsToIUs(selectedElements);
-			ProvisioningPlan plan = ProvisioningUtil.getInstallPlan(ius, profile, null);
-			IStatus status = plan.getStatus();
-			if (status.isOK())
-				return new InstallOperation(getOperationLabel(), profile.getProfileId(), plan, ius);
-			ProvUI.reportStatus(status);
-		} catch (ProvisionException e) {
-			ProvUI.handleException(e, null);
-		}
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/ProfileModificationDialog.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/ProfileModificationDialog.java
deleted file mode 100644
index 9ff2805..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/ProfileModificationDialog.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.ui.dialogs;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.p2.ui.StaticContentProvider;
-import org.eclipse.equinox.p2.engine.Profile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.ui.ProvUI;
-import org.eclipse.equinox.p2.ui.ProvisioningOperationRunner;
-import org.eclipse.equinox.p2.ui.model.AvailableIUElement;
-import org.eclipse.equinox.p2.ui.operations.ProfileModificationOperation;
-import org.eclipse.equinox.p2.ui.viewers.IUColumnConfig;
-import org.eclipse.equinox.p2.ui.viewers.IUDetailsLabelProvider;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-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.*;
-
-abstract class ProfileModificationDialog extends TrayDialog {
-	private static final int DEFAULT_HEIGHT = 20;
-	private static final int DEFAULT_WIDTH = 120;
-	private static final int DEFAULT_COLUMN_WIDTH = 50;
-	private static final int DEFAULT_SMALL_COLUMN_WIDTH = 20;
-	private String title;
-	private String message;
-	private IInstallableUnit[] ius;
-	Profile profile;
-	CheckboxTableViewer listViewer;
-	StaticContentProvider contentProvider;
-
-	ProfileModificationDialog(Shell parentShell, IInstallableUnit[] ius, Profile profile, String title, String message) {
-		super(parentShell);
-		this.setBlockOnOpen(false);
-		this.title = title;
-		this.message = message;
-		this.ius = ius;
-		this.profile = profile;
-	}
-
-	protected Control createDialogArea(Composite parent) {
-		Composite composite = (Composite) super.createDialogArea(parent);
-		initializeDialogUnits(composite);
-
-		// Create message area;
-		Label label = new Label(composite, SWT.NONE);
-		if (message != null) {
-			label.setText(message);
-		}
-		listViewer = CheckboxTableViewer.newCheckList(composite, SWT.BORDER | SWT.FULL_SELECTION);
-		GridData 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));
-		}
-		contentProvider = new StaticContentProvider(makeElements(ius));
-		listViewer.setContentProvider(contentProvider);
-		listViewer.setInput(new Object());
-		listViewer.setLabelProvider(new IUDetailsLabelProvider(getColumnConfig()));
-		listViewer.setAllChecked(true);
-
-		addSelectionButtons(composite);
-		Dialog.applyDialogFont(composite);
-		return composite;
-	}
-
-	protected AvailableIUElement[] makeElements(IInstallableUnit[] iusToShow) {
-		AvailableIUElement[] elements = new AvailableIUElement[iusToShow.length];
-		for (int i = 0; i < iusToShow.length; i++) {
-			elements[i] = new AvailableIUElement(iusToShow[i], getSize(iusToShow[i]));
-		}
-		return elements;
-	}
-
-	/*
-	 * (non-Javadoc) Method declared in Window.
-	 */
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		if (title != null) {
-			shell.setText(title);
-		}
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on Dialog.
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		createButton(parent, IDialogConstants.OK_ID, getOkButtonString(), true);
-		createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
-	}
-
-	/**
-	 * Add the selection and deselection buttons to the dialog.
-	 * @param composite org.eclipse.swt.widgets.Composite
-	 */
-	private void addSelectionButtons(Composite composite) {
-		Composite buttonComposite = new Composite(composite, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 0;
-		layout.marginWidth = 0;
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-		buttonComposite.setLayout(layout);
-		buttonComposite.setLayoutData(new GridData(SWT.END, SWT.TOP, true, false));
-
-		Button selectButton = createButton(buttonComposite, IDialogConstants.SELECT_ALL_ID, ProvUIMessages.UpdateAndInstallSelectionDialog_SelectAllLabel, false);
-
-		SelectionListener listener = new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				listViewer.setAllChecked(true);
-			}
-		};
-		selectButton.addSelectionListener(listener);
-
-		Button deselectButton = createButton(buttonComposite, IDialogConstants.DESELECT_ALL_ID, ProvUIMessages.UpdateAndInstallSelectionDialog_DeselectAllLabel, false);
-
-		listener = new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				listViewer.setAllChecked(false);
-			}
-		};
-		deselectButton.addSelectionListener(listener);
-	}
-
-	protected void okPressed() {
-		ProvisioningOperationRunner.execute(createProfileModificationOperation(getSelectedElements()), getShell(), null);
-		super.okPressed();
-	}
-
-	private Object[] getSelectedElements() {
-		return listViewer.getCheckedElements();
-	}
-
-	protected IInstallableUnit[] elementsToIUs(Object[] elements) {
-		IInstallableUnit[] theIUs = new IInstallableUnit[elements.length];
-		for (int i = 0; i < elements.length; i++) {
-			theIUs[i] = (IInstallableUnit) ((IAdaptable) elements[i]).getAdapter(IInstallableUnit.class);
-		}
-		return theIUs;
-	}
-
-	protected abstract ProfileModificationOperation createProfileModificationOperation(Object[] selectedElements);
-
-	protected abstract String getOkButtonString();
-
-	protected IUColumnConfig[] getColumnConfig() {
-		return ProvUI.getIUColumnConfig();
-	}
-
-	protected long getSize(IInstallableUnit iu) {
-		return AvailableIUElement.SIZE_UNKNOWN;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/RepositoryGroup.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/RepositoryGroup.java
deleted file mode 100644
index f5de1ed..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/RepositoryGroup.java
+++ /dev/null
@@ -1,103 +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.ui.dialogs;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.p2.core.repository.IRepository;
-import org.eclipse.equinox.p2.ui.ProvUIActivator;
-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.*;
-
-/**
- * A RepositoryGroup is a reusable UI component that allows repository
- * attributes to be displayed and edited in different UI dialogs.
- * 
- * @since 3.4
- * 
- */
-public class RepositoryGroup {
-
-	private Composite composite;
-	Text name;
-	Text url;
-	IRepository repository;
-
-	public RepositoryGroup(Composite parent, IRepository repository, ModifyListener listener) {
-		Assert.isNotNull(repository);
-		this.repository = repository;
-		createGroupComposite(parent, listener);
-	}
-
-	protected Composite createGroupComposite(final Composite parent, ModifyListener listener) {
-		Composite comp = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		comp.setLayout(layout);
-		GridData data = new GridData();
-		data.widthHint = 350;
-		comp.setLayoutData(data);
-
-		Label nameLabel = new Label(comp, SWT.NONE);
-		nameLabel.setText(ProvUIMessages.RepositoryGroup_RepositoryNameFieldLabel);
-
-		name = new Text(comp, SWT.BORDER);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		name.setLayoutData(data);
-		name.setEditable(repository.isModifiable());
-
-		Label urlLabel = new Label(comp, SWT.NONE);
-		urlLabel.setText(ProvUIMessages.RepositoryGroup_RepositoryURLFieldLabel);
-		url = new Text(comp, SWT.BORDER);
-		url.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		url.setEditable(repository.isModifiable());
-
-		initializeFields();
-		return comp;
-	}
-
-	private void initializeFields() {
-		if (repository == null) {
-			url.setText("http://"); //$NON-NLS-1$
-		} else {
-			url.setText(repository.getLocation().toExternalForm());
-			name.setText(repository.getName());
-		}
-	}
-
-	public IStatus verify() {
-		if (url.getText().trim().length() == 0) {
-			return new Status(IStatus.ERROR, ProvUIActivator.PLUGIN_ID, 0, ProvUIMessages.RepositoryGroup_URLRequired, null);
-		}
-		return new Status(IStatus.OK, ProvUIActivator.PLUGIN_ID, IStatus.OK, "", null); //$NON-NLS-1$
-
-	}
-
-	/**
-	 * Get the url string as shown in the dialog.
-	 * 
-	 * @return the String representation of the URL.
-	 */
-	public String getURLString() {
-		return url.getText().trim();
-	}
-
-	public Composite getComposite() {
-		return composite;
-	}
-
-	protected IRepository getRepository() {
-		return repository;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/RepositoryPropertyPage.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/RepositoryPropertyPage.java
deleted file mode 100644
index efa7752..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/RepositoryPropertyPage.java
+++ /dev/null
@@ -1,67 +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.ui.dialogs;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.p2.core.repository.IRepository;
-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 a repository's properties
- * 
- * @since 3.4
- */
-public class RepositoryPropertyPage extends PropertyPage {
-
-	IRepository repository;
-	private RepositoryGroup repoGroup;
-
-	protected Control createContents(Composite parent) {
-		noDefaultAndApplyButton();
-		this.repository = getRepository();
-
-		if (repository == null) {
-			Label label = new Label(parent, SWT.DEFAULT);
-			label.setText(ProvUIMessages.RepositoryPropertyPage_NoRepoSelected);
-		}
-		repoGroup = createRepositoryGroup(parent);
-		// exists
-		Dialog.applyDialogFont(repoGroup.getComposite());
-		verifyComplete();
-		return repoGroup.getComposite();
-	}
-
-	protected RepositoryGroup createRepositoryGroup(Composite parent) {
-		return new RepositoryGroup(parent, repository, new ModifyListener() {
-			public void modifyText(ModifyEvent event) {
-				verifyComplete();
-			}
-		});
-	}
-
-	protected void verifyComplete() {
-		if (repoGroup == null) {
-			return;
-		}
-		IStatus status = repoGroup.verify();
-		setValid(status.isOK());
-	}
-
-	protected IRepository getRepository() {
-		return (IRepository) getElement().getAdapter(IRepository.class);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/UninstallDialog.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/UninstallDialog.java
deleted file mode 100644
index d8b9f98..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/UninstallDialog.java
+++ /dev/null
@@ -1,46 +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.ui.dialogs;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.director.ProvisioningPlan;
-import org.eclipse.equinox.p2.engine.Profile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.ui.ProvUI;
-import org.eclipse.equinox.p2.ui.operations.ProfileModificationOperation;
-import org.eclipse.equinox.p2.ui.operations.ProvisioningUtil;
-import org.eclipse.swt.widgets.Shell;
-
-public class UninstallDialog extends ProfileModificationDialog {
-
-	public UninstallDialog(Shell parentShell, IInstallableUnit[] ius, Profile profile) {
-		super(parentShell, ius, profile, ProvUIMessages.UninstallIUOperationLabel, ProvUIMessages.UninstallDialog_UninstallMessage);
-	}
-
-	protected ProfileModificationOperation createProfileModificationOperation(Object[] selectedElements) {
-		try {
-			ProvisioningPlan plan = ProvisioningUtil.getUninstallPlan(elementsToIUs(selectedElements), profile, null);
-			IStatus status = plan.getStatus();
-			if (status.isOK())
-				return new ProfileModificationOperation(ProvUIMessages.UninstallIUOperationLabel, profile.getProfileId(), plan);
-			ProvUI.reportStatus(status);
-		} catch (ProvisionException e) {
-			ProvUI.handleException(e, null);
-		}
-		return null;
-	}
-
-	protected String getOkButtonString() {
-		return ProvUIMessages.UninstallIUOperationLabelWithMnemonic;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/UpdateAndInstallGroup.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/UpdateAndInstallGroup.java
deleted file mode 100644
index 3c9637b..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/UpdateAndInstallGroup.java
+++ /dev/null
@@ -1,388 +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.ui.dialogs;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.p2.engine.Profile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnitConstants;
-import org.eclipse.equinox.p2.ui.*;
-import org.eclipse.equinox.p2.ui.actions.*;
-import org.eclipse.equinox.p2.ui.model.*;
-import org.eclipse.equinox.p2.ui.viewers.*;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.window.SameShellProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.graphics.FontMetrics;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.dialogs.PropertyDialogAction;
-
-/**
- * Dialog group that shows installed IU's and allows user to update or search
- * for new ones.
- * 
- * @since 3.4
- */
-public class UpdateAndInstallGroup {
-
-	private static final String BUTTONACTION = "buttonAction"; //$NON-NLS-1$
-	private static final int DEFAULT_HEIGHT = 240;
-	private static final int DEFAULT_WIDTH = 300;
-	private static final int DEFAULT_COLUMN_WIDTH = 150;
-	TabFolder tabFolder;
-	TableViewer installedIUViewer;
-	TableViewer availableIUViewer;
-	Profile profile;
-	IRepositoryManipulator repositoryManipulator;
-	IProfileChooser profileChooser;
-	private FontMetrics fm;
-	Button installedPropButton, availablePropButton, installButton, uninstallButton, updateButton;
-
-	/**
-	 * Create an instance of this group.
-	 * 
-	 */
-	// TODO we currently specify the filtering for what IU's we want to see with
-	// a viewer filter. More likely we would pass in the required
-	// capability/version info
-	// and use the iterator API rather than get all IU's and then filter them
-	public UpdateAndInstallGroup(Composite parent, Profile profile, ViewerFilter[] installedIUFilters, ViewerFilter[] availableIUFilters, String installedString, String availableString, IRepositoryManipulator repositoryManipulator, IProfileChooser profileChooser, FontMetrics fm) {
-
-		this.profile = profile;
-		this.repositoryManipulator = repositoryManipulator;
-		this.profileChooser = profileChooser;
-
-		// tab folder
-		tabFolder = new TabFolder(parent, SWT.NONE);
-
-		Assert.isNotNull(fm);
-		this.fm = fm;
-		GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
-		gd.heightHint = convertVerticalDLUsToPixels(DEFAULT_HEIGHT);
-		tabFolder.setLayoutData(gd);
-
-		// Installed IU's
-		TabItem installedTab = new TabItem(tabFolder, SWT.NONE);
-		installedTab.setText(installedString);
-		installedTab.setControl(createInstalledIUsPage(tabFolder, installedIUFilters));
-
-		// Find IU's
-		TabItem availableTab = new TabItem(tabFolder, SWT.NONE);
-		availableTab.setText(availableString);
-		availableTab.setControl(createAvailableIUsPage(tabFolder, availableIUFilters));
-	}
-
-	public TabFolder getTabFolder() {
-		return tabFolder;
-	}
-
-	private Control createAvailableIUsPage(Composite parent, ViewerFilter[] iuFilters) {
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
-		gd.widthHint = convertHorizontalDLUsToPixels(DEFAULT_WIDTH);
-		composite.setLayoutData(gd);
-
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		composite.setLayout(layout);
-
-		// Table of available IU's
-		availableIUViewer = new TableViewer(composite, SWT.MULTI | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-		setTableColumns(availableIUViewer.getTable());
-		availableIUViewer.setContentProvider(new AvailableIUContentProvider());
-		availableIUViewer.setInput(new AllMetadataRepositories());
-		final IUDetailsLabelProvider labelProvider = new IUDetailsLabelProvider();
-		labelProvider.setToolTipProperty(IInstallableUnitConstants.DESCRIPTION);
-		availableIUViewer.setLabelProvider(labelProvider);
-		// Kind of a hack, but there was no need to go with column label providers
-		availableIUViewer.getTable().addListener(SWT.MouseHover, new Listener() {
-			public void handleEvent(Event event) {
-				switch (event.type) {
-					case SWT.MouseHover :
-						Table table = availableIUViewer.getTable();
-						TableItem item = table.getItem(new Point(event.x, event.y));
-						if (item != null) {
-							table.setToolTipText(labelProvider.getToolTipText(item.getData()));
-						}
-						break;
-				}
-			}
-
-		});
-
-		if (iuFilters != null) {
-			availableIUViewer.setFilters(iuFilters);
-		}
-		availableIUViewer.setComparator(new ViewerComparator());
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.grabExcessHorizontalSpace = true;
-		data.grabExcessVerticalSpace = true;
-		availableIUViewer.getControl().setLayoutData(data);
-
-		// Vertical buttons
-		Composite buttonBar = (Composite) createAvailableIUsVerticalButtonBar(composite);
-		data = new GridData(GridData.FILL_VERTICAL);
-		buttonBar.setLayoutData(data);
-
-		// Must be done after buttons are created so that the buttons can
-		// register and receive their selection notifications before us.
-		availableIUViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				validateAvailableIUButtons(event.getSelection());
-			}
-		});
-
-		final StructuredViewerProvisioningListener listener = new StructuredViewerProvisioningListener(availableIUViewer, StructuredViewerProvisioningListener.PROV_EVENT_REPOSITORY);
-		ProvUIActivator.getDefault().addProvisioningListener(listener);
-		availableIUViewer.getControl().addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				ProvUIActivator.getDefault().removeProvisioningListener(listener);
-			}
-		});
-
-		validateAvailableIUButtons(installedIUViewer.getSelection());
-		return composite;
-	}
-
-	private Control createAvailableIUsVerticalButtonBar(Composite parent) {
-		// Create composite.
-		Composite composite = new Composite(parent, SWT.NULL);
-
-		// create a layout with spacing and margins appropriate for the font
-		// size.
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.marginWidth = 5;
-		layout.marginHeight = 0;
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-		composite.setLayout(layout);
-
-		// Add the buttons to the button bar.
-		availablePropButton = createVerticalButton(composite, ProvUIMessages.UpdateAndInstallGroup_Properties, false);
-		availablePropButton.setData(BUTTONACTION, new PropertyDialogAction(new SameShellProvider(parent.getShell()), availableIUViewer));
-		installButton = createVerticalButton(composite, ProvUIMessages.InstallIUCommandLabel, false);
-		installButton.setData(BUTTONACTION, new InstallAction(availableIUViewer, profile, null, parent.getShell()));
-		if (repositoryManipulator != null) {
-			Button repoButton = createVerticalButton(composite, repositoryManipulator.getLabel(), false);
-			repoButton.setData(BUTTONACTION, new Action() {
-				public void runWithEvent(Event event) {
-					if (repositoryManipulator.manipulateRepositories(getTabFolder().getShell())) {
-						availableIUViewer.setInput(new AllMetadataRepositories());
-					}
-				}
-			});
-
-		}
-		return composite;
-	}
-
-	void validateAvailableIUButtons(ISelection selection) {
-		// This relies on the actions themselves receiving the selection changed
-		// listener before we do, since we use their state to enable the buttons
-		updateEnablement(availablePropButton);
-		updateEnablement(installButton);
-	}
-
-	private Control createInstalledIUsPage(Composite parent, ViewerFilter[] iuFilters) {
-
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
-		gd.widthHint = convertHorizontalDLUsToPixels(DEFAULT_WIDTH);
-		composite.setLayoutData(gd);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		composite.setLayout(layout);
-
-		// Table of installed IU's
-		installedIUViewer = new TableViewer(composite, SWT.MULTI | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-		setTableColumns(installedIUViewer.getTable());
-		installedIUViewer.setContentProvider(new ProfileContentProvider());
-		installedIUViewer.setInput(profile);
-		installedIUViewer.setLabelProvider(new IUDetailsLabelProvider());
-
-		if (iuFilters != null) {
-			installedIUViewer.setFilters(iuFilters);
-		}
-		installedIUViewer.setComparator(new ViewerComparator());
-
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.grabExcessHorizontalSpace = true;
-		data.grabExcessVerticalSpace = true;
-		installedIUViewer.getControl().setLayoutData(data);
-
-		// Vertical buttons
-		Composite buttonBar = (Composite) createInstalledIUsVerticalButtonBar(composite);
-		data = new GridData(GridData.FILL_VERTICAL);
-		buttonBar.setLayoutData(data);
-
-		// Must be done after buttons are created so that the buttons can
-		// register and receive their selection notifications before us.
-		installedIUViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				validateInstalledIUButtons(event.getSelection());
-			}
-		});
-
-		final StructuredViewerProvisioningListener listener = new StructuredViewerProvisioningListener(installedIUViewer, StructuredViewerProvisioningListener.PROV_EVENT_IU | StructuredViewerProvisioningListener.PROV_EVENT_PROFILE);
-		ProvUIActivator.getDefault().addProvisioningListener(listener);
-		installedIUViewer.getControl().addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				ProvUIActivator.getDefault().removeProvisioningListener(listener);
-			}
-		});
-		validateInstalledIUButtons(installedIUViewer.getSelection());
-		return composite;
-	}
-
-	private Control createInstalledIUsVerticalButtonBar(Composite parent) {
-		// Create composite.
-		Composite composite = new Composite(parent, SWT.NULL);
-
-		// create a layout with spacing and margins appropriate for the font
-		// size.
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.marginWidth = 5;
-		layout.marginHeight = 0;
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-		composite.setLayout(layout);
-
-		// Add the buttons to the button bar.
-		installedPropButton = createVerticalButton(composite, ProvUIMessages.UpdateAndInstallGroup_Properties, false);
-		installedPropButton.setData(BUTTONACTION, new PropertyDialogAction(new SameShellProvider(parent.getShell()), installedIUViewer));
-		uninstallButton = createVerticalButton(composite, ProvUIMessages.UninstallIUCommandLabel, false);
-		uninstallButton.setData(BUTTONACTION, new UninstallAction(installedIUViewer, profile, null, parent.getShell()));
-		updateButton = createVerticalButton(composite, ProvUIMessages.UpdateIUCommandLabel, false);
-		updateButton.setData(BUTTONACTION, new UpdateAction(installedIUViewer, profile, null, parent.getShell()));
-		if (profileChooser != null) {
-			Button profileButton = createVerticalButton(composite, profileChooser.getLabel(), false);
-			profileButton.setData(BUTTONACTION, new Action() {
-				public void runWithEvent(Event event) {
-					Profile chosenProfile = profileChooser.getProfile();
-					if (chosenProfile != null) {
-						profile = chosenProfile;
-						installedIUViewer.setInput(profile);
-					}
-				}
-			});
-		}
-
-		return composite;
-	}
-
-	void validateInstalledIUButtons(ISelection selection) {
-		// Note that this relies on the actions getting the selection notification
-		// before we do, since we rely on the action enablement to update
-		// the buttons.  This should be ok since the buttons
-		// hook the listener on create.
-		updateEnablement(installedPropButton);
-		updateEnablement(uninstallButton);
-		updateEnablement(updateButton);
-	}
-
-	private void updateEnablement(Button button) {
-		IAction action = getButtonAction(button);
-		if (action != null) {
-			button.setEnabled(action.isEnabled());
-		}
-	}
-
-	private Button createVerticalButton(Composite parent, String label, boolean defaultButton) {
-		Button button = new Button(parent, SWT.PUSH);
-		button.setText(label);
-
-		GridData data = setButtonLayoutData(button);
-		data.horizontalAlignment = GridData.FILL;
-
-		button.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event event) {
-				verticalButtonPressed(event);
-			}
-		});
-		button.setToolTipText(label);
-		if (defaultButton) {
-			Shell shell = parent.getShell();
-			if (shell != null) {
-				shell.setDefaultButton(button);
-			}
-		}
-		return button;
-	}
-
-	void verticalButtonPressed(Event event) {
-		IAction action = getButtonAction(event.widget);
-		if (action != null) {
-			action.runWithEvent(event);
-		}
-	}
-
-	private IAction getButtonAction(Widget widget) {
-		Object data = widget.getData(BUTTONACTION);
-		if (data == null || !(data instanceof IAction)) {
-			return null;
-		}
-		return (IAction) data;
-	}
-
-	private GridData setButtonLayoutData(Button button) {
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		int widthHint = convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
-		Point minSize = button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
-		data.widthHint = Math.max(widthHint, minSize.x);
-		button.setLayoutData(data);
-		return data;
-	}
-
-	private int convertHorizontalDLUsToPixels(int dlus) {
-		// shouldn't happen
-		if (fm == null) {
-			return 0;
-		}
-		return Dialog.convertHorizontalDLUsToPixels(fm, dlus);
-	}
-
-	private int convertVerticalDLUsToPixels(int dlus) {
-		// shouldn't happen
-		if (fm == null) {
-			return 0;
-		}
-		return Dialog.convertVerticalDLUsToPixels(fm, dlus);
-	}
-
-	private void setTableColumns(Table table) {
-		// TODO will we ever let callers set the column config?
-		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(DEFAULT_COLUMN_WIDTH));
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/UpdateDialog.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/UpdateDialog.java
deleted file mode 100644
index 7484837..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/UpdateDialog.java
+++ /dev/null
@@ -1,114 +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.ui.dialogs;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.director.ProvisioningPlan;
-import org.eclipse.equinox.p2.engine.Profile;
-import org.eclipse.equinox.p2.engine.phases.Sizing;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.ui.ProvUI;
-import org.eclipse.equinox.p2.ui.model.AvailableIUElement;
-import org.eclipse.equinox.p2.ui.model.AvailableUpdateElement;
-import org.eclipse.equinox.p2.ui.operations.ProfileModificationOperation;
-import org.eclipse.equinox.p2.ui.operations.ProvisioningUtil;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.swt.widgets.Shell;
-
-public class UpdateDialog extends UpdateInstallDialog {
-
-	public UpdateDialog(Shell parentShell, IInstallableUnit[] ius, Profile profile) {
-		super(parentShell, ius, profile, ProvUIMessages.UpdateAction_UpdatesAvailableTitle, ProvUIMessages.UpdateAction_UpdatesAvailableMessage);
-	}
-
-	protected String getOkButtonString() {
-		return ProvUIMessages.UpdateIUOperationLabelWithMnemonic;
-	}
-
-	protected AvailableIUElement[] makeElements(final IInstallableUnit[] ius) {
-		final List elements = new ArrayList();
-
-		IRunnableWithProgress runnable = new IRunnableWithProgress() {
-			public void run(IProgressMonitor monitor) {
-				monitor.beginTask(ProvUIMessages.UpdateDialog_AssemblingUpdatesProgress, ius.length);
-				for (int i = 0; i < ius.length; i++) {
-					if (monitor.isCanceled())
-						close();
-					try {
-						IInstallableUnit[] replacementIUs = ProvisioningUtil.updatesFor(new IInstallableUnit[] {ius[i]}, null);
-						SubMonitor loopMonitor = SubMonitor.convert(monitor, 100 / ius.length);
-						loopMonitor.setWorkRemaining(replacementIUs.length);
-						for (int j = 0; j < replacementIUs.length; j++) {
-							elements.add(new AvailableUpdateElement(replacementIUs[j], getSize(ius[i], replacementIUs[j], loopMonitor.newChild(1)), ius[i]));
-							if (monitor.isCanceled())
-								close();
-						}
-					} catch (ProvisionException e) {
-						break;
-					}
-				}
-			}
-		};
-
-		try {
-			new ProgressMonitorDialog(getShell()).run(false, true, runnable);
-		} catch (InterruptedException e) {
-			// don't report thread interruption
-		} catch (InvocationTargetException e) {
-			ProvUI.handleException(e.getCause(), null);
-		}
-		return (AvailableIUElement[]) elements.toArray(new AvailableIUElement[elements.size()]);
-	}
-
-	private 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()]);
-	}
-
-	protected long getSize(IInstallableUnit iuToRemove, IInstallableUnit iuToAdd, IProgressMonitor monitor) {
-		long size;
-		try {
-			ProvisioningPlan plan = ProvisioningUtil.getReplacePlan(new IInstallableUnit[] {iuToRemove}, new IInstallableUnit[] {iuToAdd}, profile, monitor);
-			Sizing info = ProvisioningUtil.getSizeInfo(plan, profile, monitor);
-			size = info.getDiskSize();
-		} catch (ProvisionException e) {
-			size = AvailableIUElement.SIZE_UNKNOWN;
-		}
-		return size;
-	}
-
-	protected String getOperationLabel() {
-		return ProvUIMessages.UpdateIUOperationLabel;
-	}
-
-	protected ProfileModificationOperation createProfileModificationOperation(Object[] selectedElements) {
-		try {
-			ProvisioningPlan plan = ProvisioningUtil.getReplacePlan(getIUsToReplace(selectedElements), elementsToIUs(selectedElements), profile, null);
-			IStatus status = plan.getStatus();
-			if (status.isOK())
-				return new ProfileModificationOperation(getOperationLabel(), profile.getProfileId(), plan);
-			ProvUI.reportStatus(status);
-		} catch (ProvisionException e) {
-			ProvUI.handleException(e, null);
-		}
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/UpdateInstallDialog.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/UpdateInstallDialog.java
deleted file mode 100644
index 6d3ed03..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/dialogs/UpdateInstallDialog.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.ui.dialogs;
-
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.p2.engine.Profile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.ui.viewers.IUColumnConfig;
-import org.eclipse.swt.widgets.Shell;
-
-public abstract class UpdateInstallDialog extends ProfileModificationDialog {
-	UpdateInstallDialog(Shell parentShell, IInstallableUnit[] ius, Profile profile, String title, String message) {
-		super(parentShell, ius, profile, title, message);
-	}
-
-	protected abstract String getOperationLabel();
-
-	protected IUColumnConfig[] getColumnConfig() {
-		return new IUColumnConfig[] {new IUColumnConfig(ProvUIMessages.ProvUI_NameColumnTitle, IUColumnConfig.COLUMN_NAME), new IUColumnConfig(ProvUIMessages.ProvUI_VersionColumnTitle, IUColumnConfig.COLUMN_VERSION), new IUColumnConfig(ProvUIMessages.ProvUI_SizeColumnTitle, IUColumnConfig.COLUMN_SIZE)};
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/AllArtifactRepositories.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/AllArtifactRepositories.java
deleted file mode 100644
index b3cf21d..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/AllArtifactRepositories.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.ui.model;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.p2.artifact.repository.IArtifactRepository;
-import org.eclipse.equinox.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.ui.operations.ProvisioningUtil;
-
-/**
- * Element class that represents the root of an artifact
- * repository viewer.  Its children are all of the known
- * artifact repositories.
- * 
- * @since 3.4
- *
- */
-public class AllArtifactRepositories extends ProvElement {
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.equinox.p2.ui.model.ProvElement#fetchChildren(java.lang.Object, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected Object[] fetchChildren(Object o, IProgressMonitor monitor) {
-		try {
-			return ProvisioningUtil.getArtifactRepositories(monitor);
-		} catch (ProvisionException e) {
-			handleException(e, null);
-		}
-		return new IArtifactRepository[0];
-	}
-
-	/*
-	 * (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.p2.ui.model.ProvElement#getParent(java.lang.Object)
-	 */
-	public Object getParent(Object o) {
-		return null;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/AllMetadataRepositories.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/AllMetadataRepositories.java
deleted file mode 100644
index 11305f0..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/AllMetadataRepositories.java
+++ /dev/null
@@ -1,59 +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.ui.model;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.p2.ui.operations.ProvisioningUtil;
-
-/**
- * Element class that represents the root of a metadata
- * repository viewer.  Its children are all of the known
- * metadata repositories.
- * 
- * @since 3.4
- *
- */
-public class AllMetadataRepositories extends ProvElement {
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.equinox.p2.ui.model.ProvElement#fetchChildren(java.lang.Object, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected Object[] fetchChildren(Object o, IProgressMonitor monitor) {
-		try {
-			return ProvisioningUtil.getMetadataRepositories(monitor);
-		} catch (ProvisionException e) {
-			handleException(e, null);
-		}
-		return new IMetadataRepository[0];
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.model.IWorkbenchAdapter#getLabel(java.lang.Object)
-	 */
-	public String getLabel(Object o) {
-		return ""; //$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.equinox.p2.ui.model.RepositoryElement#getParent(java.lang.Object)
-	 */
-	public Object getParent(Object o) {
-		return null;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/AllProfiles.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/AllProfiles.java
deleted file mode 100644
index f3ffe02..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/AllProfiles.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.ui.model;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.ui.operations.ProvisioningUtil;
-
-/**
- * Element class that represents the root of a profile
- * viewer.  Its children are all installed profiles.
- * 
- * @since 3.4
- *
- */
-public class AllProfiles extends ProvElement {
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.equinox.p2.ui.model.ProvElement#fetchChildren(java.lang.Object, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected Object[] fetchChildren(Object o, IProgressMonitor monitor) {
-		try {
-			return ProvisioningUtil.getProfiles(monitor);
-		} catch (ProvisionException e) {
-			handleException(e, null);
-		}
-		return new Object[0];
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.model.IWorkbenchAdapter#getLabel(java.lang.Object)
-	 */
-	public String getLabel(Object o) {
-		return ""; //$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.equinox.p2.ui.model.RepositoryElement#getParent(java.lang.Object)
-	 */
-	public Object getParent(Object o) {
-		return null;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/ArtifactElement.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/ArtifactElement.java
deleted file mode 100644
index 4e56f27..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/ArtifactElement.java
+++ /dev/null
@@ -1,73 +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.ui.model;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.p2.artifact.repository.IArtifactRepository;
-import org.eclipse.equinox.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.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.getNamespace() + "]"; //$NON-NLS-1$//$NON-NLS-2$
-	}
-
-	protected Object[] fetchChildren(Object o, IProgressMonitor monitor) {
-		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/p2/ui/model/ArtifactRepositoryContentProvider.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/ArtifactRepositoryContentProvider.java
deleted file mode 100644
index 66d55ff..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/ArtifactRepositoryContentProvider.java
+++ /dev/null
@@ -1,73 +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.ui.model;
-
-import org.eclipse.equinox.p2.artifact.repository.IArtifactDescriptor;
-import org.eclipse.equinox.p2.artifact.repository.IArtifactRepository;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.jface.viewers.*;
-
-/**
- * Content provider for artifact repository viewers.
- * The repositories themselves are the elements.  The
- * artifact keys are the children of the artifact
- * repositories.
- * 
- * @since 3.4
- */
-public class ArtifactRepositoryContentProvider implements IStructuredContentProvider, ITreeContentProvider {
-
-	public void inputChanged(Viewer v, Object oldInput, Object newInput) {
-		// input does not affect the content
-	}
-
-	public void dispose() {
-		// nothing to do
-	}
-
-	public Object[] getElements(Object input) {
-		if (input == null) {
-			return getChildren(new AllArtifactRepositories());
-		}
-		return getChildren(input);
-	}
-
-	public Object getParent(Object child) {
-		return null;
-	}
-
-	public Object[] getChildren(Object parent) {
-		if (parent instanceof AllArtifactRepositories) {
-			return ((AllArtifactRepositories) parent).getChildren(parent);
-		}
-		if (parent instanceof IArtifactRepository) {
-			IArtifactKey[] keys = ((IArtifactRepository) parent).getArtifactKeys();
-			ArtifactElement[] elements = new ArtifactElement[keys.length];
-			for (int i = 0; i < keys.length; i++) {
-				elements[i] = new ArtifactElement(keys[i], (IArtifactRepository) parent);
-			}
-			return elements;
-		}
-		if (parent instanceof ArtifactElement) {
-			ArtifactElement element = (ArtifactElement) parent;
-			return element.getArtifactRepository().getArtifactDescriptors(element.getArtifactKey());
-		}
-		if (parent instanceof IArtifactDescriptor) {
-			return ((IArtifactDescriptor) parent).getProcessingSteps();
-		}
-		return new Object[0];
-	}
-
-	public boolean hasChildren(Object parent) {
-		return getChildren(parent).length > 0;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/AvailableIUContentProvider.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/AvailableIUContentProvider.java
deleted file mode 100644
index 71b13d0..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/AvailableIUContentProvider.java
+++ /dev/null
@@ -1,65 +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.ui.model;
-
-import java.util.ArrayList;
-
-import org.eclipse.equinox.p2.core.repository.IRepository;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-/**
- * Content provider for profile views. The children are the known profiles, and
- * the children of profiles are wrapped IU's (wrapped in InstalledIUElement).
- * They are wrapped so that the association with the parent profile is retained.
- * 
- * @since 3.4
- */
-public class AvailableIUContentProvider implements IStructuredContentProvider {
-
-	public void inputChanged(Viewer v, Object oldInput, Object newInput) {
-		// we don't hook listeners or anything on the input, so there is
-		// nothing to do.
-	}
-
-	public void dispose() {
-		// nothing to do
-	}
-
-	public Object[] getElements(Object input) {
-		// If there is no input specified, assume we are looking at all
-		// metadata repositories.
-		if (input == null) {
-			return getElements(new AllMetadataRepositories());
-		}
-		IMetadataRepository[] reposToCheck = new IMetadataRepository[0];
-		if (input instanceof IMetadataRepository[]) {
-			reposToCheck = (IMetadataRepository[]) input;
-		} else if (input instanceof AllMetadataRepositories) {
-			reposToCheck = (IMetadataRepository[]) ((AllMetadataRepositories) input).getChildren(null);
-		}
-		ArrayList list = new ArrayList();
-		for (int i = 0; i < reposToCheck.length; i++) {
-			// TODO maybe this should be configurable, but for now assume we never
-			// want to see content from implementation repositories.
-			if (!(Boolean.valueOf(reposToCheck[i].getProperties().getProperty(IRepository.IMPLEMENTATION_ONLY_KEY, "false"))).booleanValue()) { //$NON-NLS-1$
-				IInstallableUnit[] ius = reposToCheck[i].getInstallableUnits(null);
-				for (int j = 0; j < ius.length; j++) {
-					list.add(ius[j]);
-				}
-			}
-		}
-		return list.toArray();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/AvailableIUElement.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/AvailableIUElement.java
deleted file mode 100644
index 7cfc99b..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/AvailableIUElement.java
+++ /dev/null
@@ -1,72 +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.ui.model;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.InstallableUnit;
-import org.eclipse.equinox.p2.ui.ProvUIImages;
-
-/**
- * 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 {
-
-	public static final long SIZE_UNKNOWN = -1;
-	long size;
-	IInstallableUnit iu;
-
-	public AvailableIUElement(IInstallableUnit iu, long size) {
-		this.size = size;
-		this.iu = iu;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.equinox.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();
-	}
-
-	protected Object[] fetchChildren(Object o, IProgressMonitor monitor) {
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.equinox.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;
-		if (adapter == InstallableUnit.class && iu instanceof InstallableUnit)
-			return iu;
-		return super.getAdapter(adapter);
-	}
-
-	public long getSize() {
-		return size;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/AvailableUpdateElement.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/AvailableUpdateElement.java
deleted file mode 100644
index b25154f..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/AvailableUpdateElement.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.p2.ui.model;
-
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-/**
- * 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, long size, IInstallableUnit iuToBeUpdated) {
-		super(iu, size);
-		this.iuToBeUpdated = iuToBeUpdated;
-	}
-
-	public IInstallableUnit getIUToBeUpdated() {
-		return iuToBeUpdated;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/InstalledIUElement.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/InstalledIUElement.java
deleted file mode 100644
index 4b1f3a2..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/InstalledIUElement.java
+++ /dev/null
@@ -1,76 +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.ui.model;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.p2.engine.Profile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.InstallableUnit;
-import org.eclipse.equinox.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 {
-
-	Profile parent;
-	IInstallableUnit iu;
-
-	public InstalledIUElement(Profile parent, IInstallableUnit iu) {
-		this.parent = parent;
-		this.iu = iu;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.equinox.p2.ui.model.ProvElement#getImageID(java.lang.Object)
-	 */
-	protected String getImageID(Object obj) {
-		return ProvUIImages.IMG_IU;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.model.IWorkbenchAdapter#getParent(java.lang.Object)
-	 */
-	public Object getParent(Object o) {
-		return parent;
-	}
-
-	public String getLabel(Object o) {
-		return iu.getId();
-	}
-
-	protected Object[] fetchChildren(Object o, IProgressMonitor monitor) {
-		return null;
-	}
-
-	public Object getAdapter(Class adapter) {
-		if (adapter == IInstallableUnit.class)
-			return iu;
-		if (adapter == InstallableUnit.class && iu instanceof InstallableUnit)
-			return iu;
-		return super.getAdapter(adapter);
-	}
-
-	public Profile getProfile() {
-		return parent;
-	}
-
-	public IInstallableUnit getIU() {
-		return iu;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/MetadataRepositoryContentProvider.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/MetadataRepositoryContentProvider.java
deleted file mode 100644
index 0bf7d56..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/MetadataRepositoryContentProvider.java
+++ /dev/null
@@ -1,66 +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.ui.model;
-
-import org.eclipse.equinox.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.jface.viewers.*;
-
-/**
- * Content provider for metadata repositories. The raw repositories are the
- * elements, and the raw IU's are the children of the repositories.
- * 
- * @since 3.4
- * 
- */
-public class MetadataRepositoryContentProvider implements IStructuredContentProvider, ITreeContentProvider {
-
-	public void inputChanged(Viewer v, Object oldInput, Object newInput) {
-		// input does not affect the content
-	}
-
-	public void dispose() {
-		// nothing to do
-	}
-
-	public Object[] getElements(Object input) {
-		if (input == null)
-			return getChildren(new AllMetadataRepositories());
-		return getChildren(input);
-	}
-
-	public Object getParent(Object child) {
-		if (child instanceof ProvElement) {
-			return ((ProvElement) child).getParent(child);
-		}
-		return null;
-	}
-
-	public Object[] getChildren(Object parent) {
-		if (parent instanceof AllMetadataRepositories) {
-			return ((AllMetadataRepositories) parent).getChildren(parent);
-		}
-		if (parent instanceof IMetadataRepository) {
-			return ((IMetadataRepository) parent).getInstallableUnits(null);
-		}
-		return new Object[0];
-	}
-
-	public boolean hasChildren(Object parent) {
-		if (parent instanceof AllMetadataRepositories) {
-			return ((AllMetadataRepositories) parent).hasChildren(parent);
-		}
-		if (parent instanceof IMetadataRepository) {
-			return ((IMetadataRepository) parent).getInstallableUnits(null).length > 0;
-		}
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/ProfileContentProvider.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/ProfileContentProvider.java
deleted file mode 100644
index cd16f46..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/ProfileContentProvider.java
+++ /dev/null
@@ -1,78 +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.ui.model;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import org.eclipse.equinox.p2.engine.Profile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.jface.viewers.*;
-
-/**
- * Content provider for profile views. The children are the known profiles, and
- * the children of profiles are wrapped IU's (wrapped in InstalledIUElement).
- * They are wrapped so that the association with the parent profile is retained.
- * 
- * @since 3.4
- */
-public class ProfileContentProvider implements IStructuredContentProvider, ITreeContentProvider {
-
-	public void inputChanged(Viewer v, Object oldInput, Object newInput) {
-		// we don't hook listeners or anything on the input, so there is
-		// nothing to do.
-	}
-
-	public void dispose() {
-		// nothing to do
-	}
-
-	public Object[] getElements(Object input) {
-		// If there is no input specified, assume we are looking at all profiles.
-		if (input == null) {
-			return getChildren(new AllProfiles());
-		}
-		return getChildren(input);
-	}
-
-	public Object getParent(Object child) {
-		return null;
-	}
-
-	public Object[] getChildren(Object parent) {
-		if (parent instanceof AllProfiles) {
-			return ((AllProfiles) parent).getChildren(parent);
-		}
-		if (parent instanceof Profile) {
-			// We wrap installed IU's in elements so that they know their
-			// "parent profile" in a particular UI view.
-			Iterator allIUs = ((Profile) parent).getInstallableUnits();
-			ArrayList list = new ArrayList();
-			while (allIUs.hasNext()) {
-				list.add(new InstalledIUElement((Profile) parent, (IInstallableUnit) allIUs.next()));
-			}
-			return list.toArray(new Object[list.size()]);
-		}
-		return new Object[0];
-	}
-
-	public boolean hasChildren(Object parent) {
-		if (parent instanceof AllProfiles) {
-			return ((ProvElement) parent).hasChildren(parent);
-		}
-		if (parent instanceof Profile) {
-			Iterator allIUs = ((Profile) parent).getInstallableUnits();
-			return allIUs.hasNext();
-
-		}
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/ProfileFactory.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/ProfileFactory.java
deleted file mode 100644
index 2c88c8d..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/ProfileFactory.java
+++ /dev/null
@@ -1,78 +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.ui.model;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.equinox.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.p2.engine.Profile;
-import org.eclipse.equinox.p2.ui.ProvUIActivator;
-import org.eclipse.equinox.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 Profile makeProfile(String profileID) {
-		Profile profile = new Profile(profileID);
-		profile.setValue(Profile.PROP_INSTALL_FOLDER, getDefaultLocation());
-		profile.setValue(Profile.PROP_FLAVOR, getDefaultFlavor());
-		profile.setValue(Profile.PROP_ENVIRONMENTS, getDefaultEnvironments());
-		profile.setValue(Profile.PROP_NL, getDefaultNL());
-		try {
-			ProvisioningUtil.addProfile(profile, null);
-		} catch (ProvisionException e) {
-			return null;
-		}
-		return profile;
-	}
-
-	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/p2/ui/model/ProvElement.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/ProvElement.java
deleted file mode 100644
index aadd5fa..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/model/ProvElement.java
+++ /dev/null
@@ -1,105 +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.ui.model;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.p2.ui.ProvUIActivator;
-import org.eclipse.equinox.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;
-	}
-
-	public Object[] getChildren(Object o) {
-		return fetchChildren(o, null);
-	}
-
-	// TODO if there is no optimization for subclasses, get rid of this
-	public boolean hasChildren(Object o) {
-		Object[] children = getChildren(o);
-		if (children == null) {
-			return false;
-		}
-		return children.length > 0;
-	}
-
-	abstract protected Object[] fetchChildren(Object o, IProgressMonitor monitor);
-
-	/**
-	 * 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);
-		StatusManager.getManager().handle(status, StatusManager.LOG);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/AddArtifactRepositoryOperation.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/AddArtifactRepositoryOperation.java
deleted file mode 100644
index 721001c..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/AddArtifactRepositoryOperation.java
+++ /dev/null
@@ -1,68 +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.ui.operations;
-
-import java.net.URL;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.p2.artifact.repository.IArtifactRepository;
-import org.eclipse.equinox.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 doExecute(IProgressMonitor monitor, IAdaptable uiInfo) throws ProvisionException {
-		for (int i = 0; i < urls.length; i++) {
-			IArtifactRepository repo = ProvisioningUtil.addArtifactRepository(urls[i], monitor);
-			if (repo == null) {
-				return failureStatus();
-			}
-		}
-		added = true;
-		return okStatus();
-	}
-
-	protected IStatus doUndo(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/p2/ui/operations/AddColocatedRepositoryOperation.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/AddColocatedRepositoryOperation.java
deleted file mode 100644
index eeec342..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/AddColocatedRepositoryOperation.java
+++ /dev/null
@@ -1,77 +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.ui.operations;
-
-import java.net.URL;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.core.repository.IRepository;
-import org.eclipse.equinox.p2.ui.ColocatedRepositoryUtil;
-
-/**
- * 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});
-	}
-
-	protected IStatus doExecute(IProgressMonitor monitor, IAdaptable uiInfo) throws ProvisionException {
-		for (int i = 0; i < urls.length; i++) {
-			URL metadataRepoURL = ColocatedRepositoryUtil.makeMetadataRepositoryURL(urls[i]);
-			IRepository repo = ProvisioningUtil.addMetadataRepository(metadataRepoURL, monitor);
-			if (repo == null) {
-				return failureStatus();
-			}
-			repo = ProvisioningUtil.addArtifactRepository(ColocatedRepositoryUtil.makeArtifactRepositoryURL(urls[i]), monitor);
-			if (repo == null) {
-				// remove the metadata repo we just added
-				ProvisioningUtil.removeMetadataRepository(metadataRepoURL, monitor);
-				return failureStatus();
-			}
-		}
-		added = true;
-		return okStatus();
-	}
-
-	protected IStatus doUndo(IProgressMonitor monitor, IAdaptable uiInfo) throws ProvisionException {
-		for (int i = 0; i < urls.length; i++) {
-			ProvisioningUtil.removeMetadataRepository(ColocatedRepositoryUtil.makeMetadataRepositoryURL(urls[i]), monitor);
-			ProvisioningUtil.removeArtifactRepository(ColocatedRepositoryUtil.makeArtifactRepositoryURL(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/p2/ui/operations/AddMetadataRepositoryOperation.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/AddMetadataRepositoryOperation.java
deleted file mode 100644
index 9f46428..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/AddMetadataRepositoryOperation.java
+++ /dev/null
@@ -1,67 +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.ui.operations;
-
-import java.net.URL;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.metadata.repository.IMetadataRepository;
-
-/**
- * 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 doExecute(IProgressMonitor monitor, IAdaptable uiInfo) throws ProvisionException {
-		for (int i = 0; i < urls.length; i++) {
-			IMetadataRepository repo = ProvisioningUtil.addMetadataRepository(urls[i], monitor);
-			if (repo == null) {
-				return failureStatus();
-			}
-		}
-		added = true;
-		return okStatus();
-	}
-
-	protected IStatus doUndo(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/p2/ui/operations/AddProfileOperation.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/AddProfileOperation.java
deleted file mode 100644
index 987b6b7..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/AddProfileOperation.java
+++ /dev/null
@@ -1,58 +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.ui.operations;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.engine.Profile;
-
-/**
- * Operation that adds the given profile to the profile registry.
- * 
- * @since 3.4
- */
-public class AddProfileOperation extends ProfileOperation {
-	private boolean added = false;
-
-	public AddProfileOperation(String label, Profile profile) {
-		super(label, new Profile[] {profile});
-	}
-
-	protected IStatus doExecute(IProgressMonitor monitor, IAdaptable uiInfo) throws ProvisionException {
-		ProvisioningUtil.addProfile(getProfiles()[0], 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/p2/ui/operations/DownloadPhaseSet.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/DownloadPhaseSet.java
deleted file mode 100644
index 1c91ce5..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/DownloadPhaseSet.java
+++ /dev/null
@@ -1,14 +0,0 @@
-/**
- * 
- */
-package org.eclipse.equinox.p2.ui.operations;
-
-import org.eclipse.equinox.p2.engine.Phase;
-import org.eclipse.equinox.p2.engine.PhaseSet;
-import org.eclipse.equinox.p2.engine.phases.Collect;
-
-public class DownloadPhaseSet extends PhaseSet {
-	public DownloadPhaseSet() {
-		super(new Phase[] {new Collect(10)});
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/InstallAndConfigurePhaseSet.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/InstallAndConfigurePhaseSet.java
deleted file mode 100644
index db18a49..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/InstallAndConfigurePhaseSet.java
+++ /dev/null
@@ -1,14 +0,0 @@
-/**
- * 
- */
-package org.eclipse.equinox.p2.ui.operations;
-
-import org.eclipse.equinox.p2.engine.Phase;
-import org.eclipse.equinox.p2.engine.PhaseSet;
-import org.eclipse.equinox.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)});
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/InstallOperation.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/InstallOperation.java
deleted file mode 100644
index 8c7cf9b..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/InstallOperation.java
+++ /dev/null
@@ -1,35 +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.ui.operations;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.director.ProvisioningPlan;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-/**
- * An operation that installs the specified IU's into the specified profile
- * 
- * @since 3.4
- */
-public class InstallOperation extends ProfileModificationOperation {
-
-	IInstallableUnit[] installRoots;
-
-	public InstallOperation(String label, String profileID, ProvisioningPlan plan, IInstallableUnit[] ius) {
-		super(label, profileID, plan);
-		this.installRoots = ius;
-	}
-
-	protected IStatus doExecute(IProgressMonitor monitor, IAdaptable uiInfo) throws ProvisionException {
-		return ProvisioningUtil.performInstall(plan, getProfile(), installRoots, monitor);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/ProfileModificationOperation.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/ProfileModificationOperation.java
deleted file mode 100644
index e696c77..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/ProfileModificationOperation.java
+++ /dev/null
@@ -1,68 +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.ui.operations;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.director.ProvisioningPlan;
-import org.eclipse.equinox.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 id, ProvisioningPlan plan) {
-		this(label, id, plan, null, true);
-	}
-
-	public ProfileModificationOperation(String label, String id, ProvisioningPlan plan, PhaseSet set, boolean isUser) {
-		super(label);
-		this.plan = plan;
-		this.profileId = id;
-		this.isUser = isUser;
-		if (set == null)
-			phaseSet = new DefaultPhaseSet();
-		else
-			phaseSet = set;
-	}
-
-	public String getProfileId() {
-		return profileId;
-	}
-
-	public Profile 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/p2/ui/operations/ProfileOperation.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/ProfileOperation.java
deleted file mode 100644
index 990e35b..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/ProfileOperation.java
+++ /dev/null
@@ -1,58 +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.ui.operations;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.equinox.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.engine.Profile;
-
-/**
- * Abstract class representing provisioning profile operations
- * 
- * @since 3.4
- */
-public abstract class ProfileOperation extends UndoableProvisioningOperation {
-
-	String[] profileIds;
-	Profile[] cachedProfiles;
-
-	ProfileOperation(String label, String[] ids) {
-		super(label);
-		profileIds = ids;
-	}
-
-	ProfileOperation(String label, Profile[] 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;
-	}
-
-	Profile[] getProfiles() throws ProvisionException {
-		if (profileIds == null) {
-			return null;
-		}
-		if (cachedProfiles == null) {
-			cachedProfiles = new Profile[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/p2/ui/operations/ProvisioningOperation.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/ProvisioningOperation.java
deleted file mode 100644
index a09734b..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/ProvisioningOperation.java
+++ /dev/null
@@ -1,87 +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.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.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.ui.ProvUIActivator;
-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;
-	}
-
-	protected IStatus failureStatus() {
-		return new Status(IStatus.ERROR, ProvUIActivator.PLUGIN_ID, label);
-	}
-
-	public String getLabel() {
-		return label;
-	}
-
-	public boolean runInBackground() {
-		return false;
-	}
-
-	public boolean isUser() {
-		return true;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/ProvisioningUtil.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/ProvisioningUtil.java
deleted file mode 100644
index d86cc44..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/ProvisioningUtil.java
+++ /dev/null
@@ -1,301 +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.ui.operations;
-
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.EventObject;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.p2.artifact.repository.IArtifactRepository;
-import org.eclipse.equinox.p2.artifact.repository.IArtifactRepositoryManager;
-import org.eclipse.equinox.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.p2.director.IPlanner;
-import org.eclipse.equinox.p2.director.ProvisioningPlan;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.engine.phases.Sizing;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.IInstallableUnitConstants;
-import org.eclipse.equinox.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.p2.metadata.repository.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.ui.IProvisioningListener;
-import org.eclipse.equinox.p2.ui.ProvUIActivator;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Utility methods for clients using the provisioning UI
- * 
- * @since 3.4
- */
-public class ProvisioningUtil {
-
-	public static IMetadataRepository addMetadataRepository(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);
-		IMetadataRepository repo = manager.loadRepository(location, monitor);
-		if (repo == null) {
-			throw new ProvisionException(NLS.bind(ProvUIMessages.ProvisioningUtil_AddRepositoryFailure, location.toExternalForm()));
-		}
-		EventObject event = new EventObject(IProvisioningListener.REPO_ADDED);
-		ProvUIActivator.getDefault().notifyListeners(event);
-		return repo;
-	}
-
-	public static IMetadataRepository createMetadataRepository(String name, String type, 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);
-		IMetadataRepository repo = manager.createRepository(location, name, type);
-		if (repo == null) {
-			throw new ProvisionException(NLS.bind(ProvUIMessages.ProvisioningUtil_CreateRepositoryFailure, location.toExternalForm()));
-		}
-		EventObject event = new EventObject(IProvisioningListener.REPO_ADDED);
-		ProvUIActivator.getDefault().notifyListeners(event);
-		return repo;
-	}
-
-	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);
-		}
-		IMetadataRepository repo = manager.getRepository(location);
-		if (repo != null)
-			manager.removeRepository(repo);
-		EventObject event = new EventObject(IProvisioningListener.REPO_REMOVED);
-		ProvUIActivator.getDefault().notifyListeners(event);
-
-	}
-
-	public static IArtifactRepository addArtifactRepository(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_AddRepositoryFailure, location));
-		}
-		EventObject event = new EventObject(IProvisioningListener.REPO_ADDED);
-		ProvUIActivator.getDefault().notifyListeners(event);
-
-		return repo;
-	}
-
-	public static IArtifactRepository createArtifactRepository(String name, String type, 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.createRepository(location, name, type);
-		if (repo == null) {
-			throw new ProvisionException(NLS.bind(ProvUIMessages.ProvisioningUtil_CreateRepositoryFailure, location));
-		}
-		EventObject event = new EventObject(IProvisioningListener.REPO_ADDED);
-		ProvUIActivator.getDefault().notifyListeners(event);
-
-		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);
-		}
-		IArtifactRepository[] repos = manager.getKnownRepositories();
-		for (int i = 0; i < repos.length; i++) {
-			IArtifactRepository repo = repos[i];
-			if (repo.getLocation().equals(location)) {
-				manager.removeRepository(repo);
-				EventObject event = new EventObject(IProvisioningListener.REPO_REMOVED);
-				ProvUIActivator.getDefault().notifyListeners(event);
-				return;
-			}
-		}
-	}
-
-	public static IArtifactRepository[] getArtifactRepositories(IProgressMonitor monitor) throws ProvisionException {
-		IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(ProvUIActivator.getContext(), IArtifactRepositoryManager.class.getName());
-		if (manager == null)
-			throw new ProvisionException(ProvUIMessages.ProvisioningUtil_NoRepositoryManager);
-		IArtifactRepository[] repos = manager.getKnownRepositories();
-		if (repos != null) {
-			return repos;
-		}
-		return new IArtifactRepository[0];
-	}
-
-	public static void addProfile(Profile profile, IProgressMonitor monitor) throws ProvisionException {
-		IProfileRegistry profileRegistry = (IProfileRegistry) ServiceHelper.getService(ProvUIActivator.getContext(), IProfileRegistry.class.getName());
-		if (profileRegistry == null) {
-			throw new ProvisionException(ProvUIMessages.ProvisioningUtil_NoProfileRegistryFound);
-		}
-		profileRegistry.addProfile(profile);
-	}
-
-	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);
-		}
-		Profile profile = profileRegistry.getProfile(profileId);
-		if (profile != null)
-			profileRegistry.removeProfile(profile);
-	}
-
-	public static Profile[] getProfiles(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.getProfiles();
-	}
-
-	public static Profile 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 IMetadataRepository[] getMetadataRepositories(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.getKnownRepositories();
-	}
-
-	/*
-	 * Get the plan for the specified install operation
-	 */
-	public static ProvisioningPlan getInstallPlan(IInstallableUnit[] toInstall, Profile profile, IProgressMonitor monitor) throws ProvisionException {
-		Assert.isNotNull(profile);
-		Assert.isNotNull(toInstall);
-		return getPlanner().getInstallPlan(toInstall, profile, monitor);
-	}
-
-	/*
-	 * Get the plan for the specified update operation
-	 */
-	public static ProvisioningPlan getReplacePlan(IInstallableUnit[] toUninstall, IInstallableUnit[] replacements, Profile profile, IProgressMonitor monitor) throws ProvisionException {
-		Assert.isNotNull(profile);
-		Assert.isNotNull(toUninstall);
-		Assert.isNotNull(replacements);
-		return getPlanner().getReplacePlan(toUninstall, replacements, profile, 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);
-	}
-
-	/*
-	 * 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]);
-			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 getBecomePlan(IInstallableUnit toBecome, Profile profile, IProgressMonitor monitor) throws ProvisionException {
-		Assert.isNotNull(profile);
-		Assert.isNotNull(toBecome);
-		return getPlanner().getBecomePlan(toBecome, profile, monitor);
-	}
-
-	/*
-	 * Get the plan to uninstall the specified IU's
-	 */
-	public static ProvisioningPlan getUninstallPlan(IInstallableUnit[] toUninstall, Profile profile, IProgressMonitor monitor) throws ProvisionException {
-		Assert.isNotNull(profile);
-		Assert.isNotNull(toUninstall);
-		return getPlanner().getUninstallPlan(toUninstall, profile, monitor);
-	}
-
-	/*
-	 * Get sizing info for the specified IU's
-	 */
-	public static Sizing getSizeInfo(ProvisioningPlan plan, Profile profile, IProgressMonitor monitor) throws ProvisionException {
-		SizingPhaseSet set = new SizingPhaseSet();
-		IStatus status = getEngine().perform(profile, set, plan.getOperands(), monitor);
-		if (status.isOK())
-			return set.getSizing();
-		return null;
-	}
-
-	public static IStatus performInstall(ProvisioningPlan plan, Profile profile, IInstallableUnit[] installRoots, IProgressMonitor monitor) throws ProvisionException {
-		String taskMessage;
-		if (installRoots.length == 1)
-			taskMessage = NLS.bind(ProvUIMessages.ProvisioningUtil_InstallOneTask, installRoots[0].getId(), profile.getProfileId());
-		else
-			taskMessage = NLS.bind(ProvUIMessages.ProvisioningUtil_InstallManyTask, Integer.toString(installRoots.length), profile.getProfileId());
-		try {
-			SubMonitor sub = SubMonitor.convert(monitor, 100);
-			sub.setTaskName(taskMessage);
-			IStatus engineResult = performProvisioningPlan(plan, new DefaultPhaseSet(), profile, sub.newChild(100));
-			if (engineResult.isOK()) {
-				// mark the roots as such
-				for (int i = 0; i < installRoots.length; i++)
-					profile.setInstallableUnitProfileProperty(installRoots[i], IInstallableUnitConstants.PROFILE_ROOT_IU, Boolean.toString(true));
-			}
-			return engineResult;
-		} finally {
-			monitor.done();
-		}
-	}
-
-	public static IStatus performProvisioningPlan(ProvisioningPlan plan, PhaseSet phaseSet, Profile profile, IProgressMonitor monitor) throws ProvisionException {
-		PhaseSet set;
-		if (phaseSet == null)
-			set = new DefaultPhaseSet();
-		else
-			set = phaseSet;
-		return getEngine().perform(profile, set, plan.getOperands(), monitor);
-	}
-
-	private static Engine getEngine() throws ProvisionException {
-		Engine engine = (Engine) ServiceHelper.getService(ProvUIActivator.getContext(), Engine.class.getName());
-		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;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/RemoveArtifactRepositoryOperation.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/RemoveArtifactRepositoryOperation.java
deleted file mode 100644
index 8e216fd..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/RemoveArtifactRepositoryOperation.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.p2.ui.operations;
-
-import java.net.URL;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.p2.artifact.repository.IArtifactRepository;
-import org.eclipse.equinox.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, IArtifactRepository[] repos) {
-		super(label, new URL[repos.length]);
-		for (int i = 0; i < repos.length; i++) {
-			urls[i] = repos[i].getLocation();
-		}
-	}
-
-	protected IStatus doExecute(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 doUndo(IProgressMonitor monitor, IAdaptable uiInfo) throws ProvisionException {
-		for (int i = 0; i < urls.length; i++) {
-			IArtifactRepository repo = ProvisioningUtil.addArtifactRepository(urls[i], monitor);
-			if (repo == null) {
-				return failureStatus();
-			}
-		}
-		removed = false;
-		return okStatus();
-
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/RemoveColocatedRepositoryOperation.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/RemoveColocatedRepositoryOperation.java
deleted file mode 100644
index 01a01b67..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/RemoveColocatedRepositoryOperation.java
+++ /dev/null
@@ -1,81 +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.ui.operations;
-
-import java.net.URL;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.core.repository.IRepository;
-import org.eclipse.equinox.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.p2.ui.ColocatedRepositoryUtil;
-
-/**
- * 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, IMetadataRepository[] repos) {
-		super(label, new URL[repos.length]);
-		for (int i = 0; i < repos.length; i++) {
-			urls[i] = ColocatedRepositoryUtil.makeColocatedRepositoryURL(repos[i].getLocation());
-		}
-	}
-
-	protected IStatus doExecute(IProgressMonitor monitor, IAdaptable uiInfo) throws ProvisionException {
-		for (int i = 0; i < urls.length; i++) {
-			ProvisioningUtil.removeMetadataRepository(ColocatedRepositoryUtil.makeMetadataRepositoryURL(urls[i]), monitor);
-			ProvisioningUtil.removeArtifactRepository(ColocatedRepositoryUtil.makeArtifactRepositoryURL(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 doUndo(IProgressMonitor monitor, IAdaptable uiInfo) throws ProvisionException {
-		for (int i = 0; i < urls.length; i++) {
-			URL metadataURL = ColocatedRepositoryUtil.makeMetadataRepositoryURL(urls[i]);
-			IRepository repo = ProvisioningUtil.addMetadataRepository(metadataURL, monitor);
-			if (repo == null) {
-				return failureStatus();
-			}
-			repo = ProvisioningUtil.addArtifactRepository(ColocatedRepositoryUtil.makeArtifactRepositoryURL(urls[i]), monitor);
-			if (repo == null) {
-				// remove the metadata repo we just added
-				ProvisioningUtil.removeMetadataRepository(metadataURL, monitor);
-				return failureStatus();
-			}
-
-		}
-		removed = false;
-		return okStatus();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/RemoveMetadataRepositoryOperation.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/RemoveMetadataRepositoryOperation.java
deleted file mode 100644
index 9b9bda0..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/RemoveMetadataRepositoryOperation.java
+++ /dev/null
@@ -1,70 +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.ui.operations;
-
-import java.net.URL;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.metadata.repository.IMetadataRepository;
-
-/**
- * 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, IMetadataRepository[] repos) {
-		super(label, new URL[repos.length]);
-		for (int i = 0; i < repos.length; i++) {
-			urls[i] = repos[i].getLocation();
-		}
-	}
-
-	protected IStatus doExecute(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 doUndo(IProgressMonitor monitor, IAdaptable uiInfo) throws ProvisionException {
-		for (int i = 0; i < urls.length; i++) {
-			IMetadataRepository repo = ProvisioningUtil.addMetadataRepository(urls[i], monitor);
-			if (repo == null) {
-				return failureStatus();
-			}
-		}
-		removed = false;
-		return okStatus();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/RemoveProfilesOperation.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/RemoveProfilesOperation.java
deleted file mode 100644
index e459cd1..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/RemoveProfilesOperation.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.p2.ui.operations;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.engine.Profile;
-
-/**
- * Operation that removes a profile
- * 
- * @since 3.4
- */
-public class RemoveProfilesOperation extends ProfileOperation {
-	private boolean removed = false;
-
-	public RemoveProfilesOperation(String label, Profile[] 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++) {
-			ProvisioningUtil.addProfile(cachedProfiles[i], 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/p2/ui/operations/RepositoryOperation.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/RepositoryOperation.java
deleted file mode 100644
index c4e460c..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/RepositoryOperation.java
+++ /dev/null
@@ -1,45 +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.ui.operations;
-
-import java.net.URL;
-
-/**
- * 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;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/SizingPhaseSet.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/SizingPhaseSet.java
deleted file mode 100644
index b855623..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/SizingPhaseSet.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/**
- * 
- */
-package org.eclipse.equinox.p2.ui.operations;
-
-import org.eclipse.equinox.p2.engine.Phase;
-import org.eclipse.equinox.p2.engine.PhaseSet;
-import org.eclipse.equinox.p2.engine.phases.Sizing;
-
-public class SizingPhaseSet extends PhaseSet {
-	private static Sizing sizing;
-
-	SizingPhaseSet() {
-		super(new Phase[] {sizing = new Sizing(100, "Compute sizes")});
-	}
-
-	Sizing getSizing() {
-		return sizing;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/UndoableProvisioningOperation.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/UndoableProvisioningOperation.java
deleted file mode 100644
index f7eed30..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/operations/UndoableProvisioningOperation.java
+++ /dev/null
@@ -1,242 +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.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.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.ui.ProvUI;
-import org.eclipse.equinox.p2.ui.ProvUIActivator;
-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) throws ExecutionException {
-		return computeExecutionStatus(monitor);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.commands.operations.IAdvancedUndoableOperation#computeUndoableStatus(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IStatus computeUndoableStatus(IProgressMonitor monitor) throws ExecutionException {
-		return okStatus();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.commands.operations.IAdvancedUndoableOperation2#computeExecutionStatus(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IStatus computeExecutionStatus(IProgressMonitor monitor) throws ExecutionException {
-		return okStatus();
-	} /*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.commands.operations.IAdvancedUndoableOperation2#runInBackground()
-	 */
-
-	public boolean runInBackground() {
-		return false;
-	}
-
-	/*
-	 * (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;
-	}
-
-	protected IStatus failureStatus() {
-		return new Status(IStatus.ERROR, ProvUIActivator.PLUGIN_ID, getLabel());
-	}
-
-	/*
-	 * (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/p2/ui/viewers/ColocatedRepositoryLabelProvider.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/ColocatedRepositoryLabelProvider.java
deleted file mode 100644
index 5942e5a..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/ColocatedRepositoryLabelProvider.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.p2.ui.viewers;
-
-import java.net.URL;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.equinox.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.p2.ui.ColocatedRepositoryUtil;
-import org.eclipse.equinox.p2.ui.ProvUIImages;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Label provider for colocated repositories.
- * 
- * @since 3.4
- */
-public class ColocatedRepositoryLabelProvider extends LabelProvider implements ITableLabelProvider {
-	final static int COLUMN_NAME = 0;
-	final static int COLUMN_LOCATION = 1;
-	final static String BLANK = ""; //$NON-NLS-1$
-
-	public String getColumnText(Object element, int columnIndex) {
-		IMetadataRepository repo = getRepository(element);
-		if (repo == null)
-			return BLANK;
-
-		switch (columnIndex) {
-			case COLUMN_NAME :
-				return repo.getName();
-			case COLUMN_LOCATION :
-				URL url = ColocatedRepositoryUtil.makeColocatedRepositoryURL(repo.getLocation());
-				return url.toExternalForm();
-		}
-		return BLANK;
-	}
-
-	public Image getColumnImage(Object element, int index) {
-		if (index == COLUMN_NAME && getRepository(element) != null) {
-			return ProvUIImages.getImage(ProvUIImages.IMG_METADATA_REPOSITORY);
-		}
-		return null;
-	}
-
-	private IMetadataRepository getRepository(Object element) {
-		if (element instanceof IMetadataRepository)
-			return (IMetadataRepository) element;
-		if (element instanceof IAdaptable)
-			return (IMetadataRepository) ((IAdaptable) element).getAdapter(IMetadataRepository.class);
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/IUCapabilityFilter.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/IUCapabilityFilter.java
deleted file mode 100644
index 606f711..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/IUCapabilityFilter.java
+++ /dev/null
@@ -1,59 +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.ui.viewers;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.equinox.p2.metadata.*;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-
-/**
- * Viewer filter which filters IU's so that only those that satisfy the required
- * capabilities appear in the viewer.
- * 
- * @since 3.4
- */
-public class IUCapabilityFilter extends ViewerFilter {
-
-	private RequiredCapability[] requirements;
-
-	public IUCapabilityFilter(RequiredCapability[] requiredCapabilities) {
-		super();
-		this.requirements = requiredCapabilities;
-	}
-
-	public boolean select(Viewer viewer, Object parentElement, Object element) {
-		IInstallableUnit iu = null;
-		if (element instanceof InstallableUnit) {
-			iu = (IInstallableUnit) element;
-		} else if (element instanceof IAdaptable) {
-			iu = (IInstallableUnit) ((IAdaptable) element).getAdapter(InstallableUnit.class);
-		}
-		if (iu == null) {
-			return true;
-		}
-		ProvidedCapability[] capabilities = iu.getProvidedCapabilities();
-		for (int i = 0; i < requirements.length; i++) {
-			boolean satisfied = false;
-			for (int j = 0; j < capabilities.length; j++) {
-				if (capabilities[j].isSatisfiedBy(requirements[i])) {
-					satisfied = true;
-					break;
-				}
-			}
-			if (!satisfied) {
-				return false;
-			}
-		}
-		return true;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/IUColumnConfig.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/IUColumnConfig.java
deleted file mode 100644
index bf4d8cd..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/IUColumnConfig.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.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 IUColumnConfig(String title, int columnField) {
-		this.columnTitle = title;
-		this.columnField = columnField;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/IUDetailsLabelProvider.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/IUDetailsLabelProvider.java
deleted file mode 100644
index 88bf5e4..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/IUDetailsLabelProvider.java
+++ /dev/null
@@ -1,127 +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.ui.viewers;
-
-import java.text.NumberFormat;
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.IInstallableUnitConstants;
-import org.eclipse.equinox.p2.ui.ProvUI;
-import org.eclipse.equinox.p2.ui.ProvUIImages;
-import org.eclipse.equinox.p2.ui.model.AvailableIUElement;
-import org.eclipse.jface.viewers.ColumnLabelProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * 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 {
-	final static int PRIMARY_COLUMN = 0;
-	final static String BLANK = ""; //$NON-NLS-1$
-	private String toolTipProperty = null;
-
-	private IUColumnConfig[] columnConfig = ProvUI.getIUColumnConfig();
-
-	public IUDetailsLabelProvider() {
-		// use default column config
-	}
-
-	public IUDetailsLabelProvider(IUColumnConfig[] columnConfig) {
-		Assert.isLegal(columnConfig.length > 0);
-		this.columnConfig = columnConfig;
-	}
-
-	public String getText(Object obj) {
-		return getColumnText(obj, columnConfig[0].columnField);
-	}
-
-	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 = getIU(element);
-		if (iu == null)
-			return BLANK;
-
-		switch (columnContent) {
-			case IUColumnConfig.COLUMN_ID :
-				return iu.getId();
-			case IUColumnConfig.COLUMN_NAME :
-				String name = iu.getProperty(IInstallableUnitConstants.NAME);
-				if (name != null)
-					return name;
-				return BLANK;
-			case IUColumnConfig.COLUMN_VERSION :
-				return iu.getVersion().toString();
-			case IUColumnConfig.COLUMN_SIZE :
-				return getIUSize(element);
-		}
-		return BLANK;
-	}
-
-	public Image getColumnImage(Object element, int index) {
-		if (index == PRIMARY_COLUMN && getIU(element) != null) {
-			return ProvUIImages.getImage(ProvUIImages.IMG_IU);
-		}
-		return null;
-	}
-
-	private IInstallableUnit getIU(Object element) {
-		if (element instanceof IInstallableUnit)
-			return (IInstallableUnit) element;
-		if (element instanceof IAdaptable)
-			return (IInstallableUnit) ((IAdaptable) element).getAdapter(IInstallableUnit.class);
-		return null;
-	}
-
-	private String getIUSize(Object element) {
-		if (element instanceof AvailableIUElement) {
-			long size = ((AvailableIUElement) element).getSize();
-			if (size != AvailableIUElement.SIZE_UNKNOWN) {
-				return getFormattedSize(size);
-			}
-		}
-		return ProvUIMessages.IUDetailsLabelProvider_Unknown;
-	}
-
-	private String getFormattedSize(long size) {
-		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 String getToolTipText(Object element) {
-		IInstallableUnit iu = getIU(element);
-		if (iu == null || toolTipProperty == null)
-			return null;
-		return iu.getProperty(toolTipProperty);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/IUDragAdapter.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/IUDragAdapter.java
deleted file mode 100644
index 34241da..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/IUDragAdapter.java
+++ /dev/null
@@ -1,138 +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.ui.viewers;
-
-import java.util.*;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-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 = getIU(iter.next());
-			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 = getIU(iter.next());
-			if (iu == null) {
-				return false;
-			}
-		}
-		return true;
-	}
-
-	private IInstallableUnit getIU(Object obj) {
-		if (obj instanceof IInstallableUnit) {
-			return (IInstallableUnit) obj;
-		}
-		if (obj instanceof IAdaptable) {
-			return (IInstallableUnit) ((IAdaptable) obj).getAdapter(IInstallableUnit.class);
-		}
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/IUGroupFilter.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/IUGroupFilter.java
deleted file mode 100644
index faf8be2..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/IUGroupFilter.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.ui.viewers;
-
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.RequiredCapability;
-
-/**
- * Viewer filter which filters IU's so that only those with the kind "group" are
- * included.
- * 
- * @since 3.4
- */
-public class IUGroupFilter extends IUCapabilityFilter {
-
-	public IUGroupFilter() {
-		super(new RequiredCapability[] {new RequiredCapability(IInstallableUnit.IU_KIND_NAMESPACE, "group", null, null, false, false)}); //$NON-NLS-1$
-
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/IUProfilePropertyFilter.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/IUProfilePropertyFilter.java
deleted file mode 100644
index d732a44..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/IUProfilePropertyFilter.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.p2.ui.viewers;
-
-import org.eclipse.equinox.p2.engine.Profile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-/**
- * Viewer filter which shows only IUs that have a property matching
- * the specified value.
- * 
- * @since 3.4
- */
-public class IUProfilePropertyFilter extends IUPropertyFilter {
-
-	public IUProfilePropertyFilter(String name, String value) {
-		super(name, value);
-	}
-
-	protected String getProperty(IInstallableUnit iu, Object parentElement, String key) {
-		if (parentElement instanceof Profile)
-			return ((Profile) parentElement).getInstallableUnitProfileProperty(iu, key);
-		return super.getProperty(iu, parentElement, key);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/IUPropertyFilter.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/IUPropertyFilter.java
deleted file mode 100644
index d579b81..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/IUPropertyFilter.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.ui.viewers;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-
-/**
- * Viewer filter which shows only IUs that have a property matching
- * the specified value.
- * 
- * @since 3.4
- */
-public class IUPropertyFilter extends ViewerFilter {
-
-	private String propertyName;
-	private String propertyValue;
-
-	public IUPropertyFilter(String name, String value) {
-		this.propertyName = name;
-		this.propertyValue = value;
-	}
-
-	public boolean select(Viewer viewer, Object parentElement, Object element) {
-		IInstallableUnit iu = getIU(element);
-		if (iu == null)
-			return false;
-		String prop = getProperty(iu, parentElement, propertyName);
-		if (prop == null)
-			return false;
-		return prop.equals(propertyValue);
-	}
-
-	protected IInstallableUnit getIU(Object element) {
-		if (element instanceof IInstallableUnit)
-			return (IInstallableUnit) element;
-		if (element instanceof IAdaptable)
-			return (IInstallableUnit) ((IAdaptable) element).getAdapter(IInstallableUnit.class);
-		return null;
-	}
-
-	protected String getProperty(IInstallableUnit iu, Object parentElement, String key) {
-		return iu.getProperty(key);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/InstallIUDropAdapter.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/InstallIUDropAdapter.java
deleted file mode 100644
index e86cc58..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/InstallIUDropAdapter.java
+++ /dev/null
@@ -1,230 +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.ui.viewers;
-
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.p2.engine.Profile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.ui.ProvUIActivator;
-import org.eclipse.equinox.p2.ui.actions.InstallAction;
-import org.eclipse.equinox.p2.ui.model.InstalledIUElement;
-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;
-
-	/**
-	 * Constructs a new drop adapter.
-	 * 
-	 * @param viewer
-	 *            the navigator's viewer
-	 */
-	public InstallIUDropAdapter(StructuredViewer viewer) {
-		super(viewer);
-	}
-
-	/**
-	 * 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 for the drop. If the drop is positioned on an
-	 * IU, return its parent profile.
-	 */
-	private Profile getProfileTarget(Object mouseTarget) {
-		if (mouseTarget instanceof Profile) {
-			return (Profile) mouseTarget;
-		}
-
-		if (mouseTarget instanceof InstalledIUElement) {
-			return ((InstalledIUElement) mouseTarget).getProfile();
-		}
-		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;
-
-		Profile profile = getProfileTarget(getCurrentTarget());
-		if (getCurrentOperation() == DND.DROP_COPY && profile != 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, profile, null, 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 = getIU(iter.next());
-			if (iu != null) {
-				ius.add(iu);
-			}
-		}
-		return (IInstallableUnit[]) ius.toArray(new IInstallableUnit[ius.size()]);
-	}
-
-	private IInstallableUnit getIU(Object obj) {
-		if (obj instanceof IInstallableUnit) {
-			return (IInstallableUnit) obj;
-		}
-		if (obj instanceof IAdaptable) {
-			return (IInstallableUnit) ((IAdaptable) obj).getAdapter(IInstallableUnit.class);
-		}
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/InternalRepositoryFilter.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/InternalRepositoryFilter.java
deleted file mode 100644
index d08b466..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/InternalRepositoryFilter.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.ui.viewers;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.equinox.p2.core.repository.IRepository;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-
-/**
- * Viewer filter which filters out internal repositories.
- * 
- * @since 3.4
- */
-public class InternalRepositoryFilter extends ViewerFilter {
-
-	public boolean select(Viewer viewer, Object parentElement, Object element) {
-		IRepository repo = null;
-		if (element instanceof IRepository) {
-			repo = (IRepository) element;
-		} else if (element instanceof IAdaptable) {
-			repo = (IRepository) ((IAdaptable) element).getAdapter(IRepository.class);
-		}
-		if (repo == null) {
-			return true;
-		}
-		return !(Boolean.valueOf(repo.getProperties().getProperty(IRepository.IMPLEMENTATION_ONLY_KEY, "false"))).booleanValue(); //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/ProvElementLabelProvider.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/ProvElementLabelProvider.java
deleted file mode 100644
index 48abe6c..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/ProvElementLabelProvider.java
+++ /dev/null
@@ -1,130 +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.ui.viewers;
-
-import org.eclipse.equinox.p2.artifact.repository.IArtifactRepository;
-import org.eclipse.equinox.p2.artifact.repository.processing.ProcessingStepDescriptor;
-import org.eclipse.equinox.p2.core.repository.IRepository;
-import org.eclipse.equinox.p2.engine.Profile;
-import org.eclipse.equinox.p2.metadata.*;
-import org.eclipse.equinox.p2.metadata.repository.IMetadataRepository;
-import org.eclipse.equinox.p2.ui.ProvUIImages;
-import org.eclipse.equinox.p2.ui.model.InstalledIUElement;
-import org.eclipse.equinox.p2.ui.model.ProvElement;
-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 Profile) {
-			return ((Profile) 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 IArtifactKey) {
-			IArtifactKey key = (IArtifactKey) obj;
-			return key.getId() + " [" + key.getNamespace() + "]"; //$NON-NLS-1$//$NON-NLS-2$
-		}
-		if (obj instanceof ProcessingStepDescriptor) {
-			ProcessingStepDescriptor descriptor = (ProcessingStepDescriptor) obj;
-			return descriptor.getProcessorId();
-		}
-		return obj.toString();
-	}
-
-	public Image getImage(Object obj) {
-		if (obj instanceof ProvElement) {
-			return ((ProvElement) obj).getImage(obj);
-		}
-		if (obj instanceof Profile) {
-			return ProvUIImages.getImage(ProvUIImages.IMG_PROFILE);
-		}
-		if (obj instanceof InstallableUnit) {
-			return ProvUIImages.getImage(ProvUIImages.IMG_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);
-		}
-
-		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 Profile) {
-					return ((Profile) element).getValue(Profile.PROP_NAME);
-				}
-				if (element instanceof IInstallableUnit) {
-					IInstallableUnit iu = (IInstallableUnit) element;
-					return iu.getVersion().toString();
-				}
-				if (element instanceof IRepository) {
-					String name = ((IRepository) element).getName();
-					if (name != null && name.length() > 0) {
-						return ((IRepository) element).getLocation().toExternalForm();
-					}
-					return ((IRepository) element).getType();
-				}
-				if (element instanceof IArtifactKey) {
-					IArtifactKey key = (IArtifactKey) element;
-					return key.getVersion().toString();
-				}
-				if (element instanceof InstalledIUElement) {
-					IInstallableUnit iu = (IInstallableUnit) ((InstalledIUElement) element).getAdapter(IInstallableUnit.class);
-					if (iu != null)
-						return iu.getVersion().toString();
-				}
-		}
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/StructuredViewerProvisioningListener.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/StructuredViewerProvisioningListener.java
deleted file mode 100644
index 0cb7d23..0000000
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/viewers/StructuredViewerProvisioningListener.java
+++ /dev/null
@@ -1,83 +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.ui.viewers;
-
-import java.util.EventObject;
-import org.eclipse.equinox.p2.core.eventbus.SynchronousProvisioningListener;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.ui.IProvisioningListener;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * ProvisioningListener which updates a structured viewer based on
- * provisioning changes
- * 
- * @since 3.4
- */
-public class StructuredViewerProvisioningListener implements SynchronousProvisioningListener, IProvisioningListener {
-
-	// TODO this should be replaced with actual event topic ids from the event API once they are defined
-	// TODO the IPropertyChangeListener implementation should also disappear once repo events are supported
-	public static final int PROV_EVENT_REPOSITORY = 0x0001;
-	public static final int PROV_EVENT_IU = 0x0002;
-	public static final int PROV_EVENT_PROFILE = 0x0004;
-
-	int eventTypes = 0;
-	StructuredViewer viewer;
-	Display display;
-
-	public StructuredViewerProvisioningListener(StructuredViewer viewer, int eventTypes) {
-		this.viewer = viewer;
-		this.eventTypes = eventTypes;
-		this.display = viewer.getControl().getDisplay();
-	}
-
-	public void notify(EventObject o) {
-		// Commit operations on a profile will refresh the structure of the profile
-		if (o instanceof CommitOperationEvent && (((eventTypes & PROV_EVENT_PROFILE) == PROV_EVENT_PROFILE) || (eventTypes & PROV_EVENT_IU) == PROV_EVENT_IU)) {
-			CommitOperationEvent event = (CommitOperationEvent) o;
-			final Profile profile = event.getProfile();
-			display.asyncExec(new Runnable() {
-				public void run() {
-					if (viewer.getInput() instanceof Profile)
-						viewer.refresh();
-					else
-						viewer.refresh(profile);
-				}
-			});
-		} else if (o instanceof ProfileEvent && ((eventTypes & PROV_EVENT_IU) == PROV_EVENT_IU)) {
-			// We assume for now that it was either an add or remove of a
-			// profile, so rather than update a profile, we update everything.
-			display.asyncExec(new Runnable() {
-				public void run() {
-					viewer.refresh();
-				}
-			});
-		} else if ((o.getSource() instanceof String) && (eventTypes & PROV_EVENT_REPOSITORY) == PROV_EVENT_REPOSITORY) {
-			String name = (String) o.getSource();
-			if (name.equals(IProvisioningListener.REPO_ADDED) || (name.equals(IProvisioningListener.REPO_REMOVED))) {
-				display.asyncExec(new Runnable() {
-					public void run() {
-						viewer.refresh();
-					}
-				});
-			}
-		}
-
-	}
-
-	// TODO temporary for use by ProvUIActivator
-	public int getEventTypes() {
-		return eventTypes;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.updatechecker/.classpath b/bundles/org.eclipse.equinox.p2.updatechecker/.classpath
deleted file mode 100644
index ce0c7a5..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="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.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 a6b401a..0000000
--- a/bundles/org.eclipse.equinox.p2.updatechecker/.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.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 5c642e5..0000000
--- a/bundles/org.eclipse.equinox.p2.updatechecker/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.updatechecker
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 0.1.0.qualifier
-Bundle-Activator: org.eclipse.equinox.internal.p2.updatechecker.Activator
-Import-Package: org.eclipse.equinox.p2.artifact.repository,
- org.eclipse.equinox.p2.core.helpers,
- org.eclipse.equinox.p2.core.repository,
- org.eclipse.equinox.p2.director,
- org.eclipse.equinox.p2.engine,
- org.eclipse.equinox.p2.metadata,
- org.eclipse.equinox.p2.metadata.repository,
- org.eclipse.equinox.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.p2.updatechecker
-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 (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-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 9cbab3c..0000000
--- a/bundles/org.eclipse.equinox.p2.updatechecker/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               about.html
-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 8065811..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 (Incubation)
-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 4ffbcdc..0000000
--- a/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/p2/updatechecker/Activator.java
+++ /dev/null
@@ -1,44 +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.updatechecker;
-
-import org.eclipse.equinox.p2.updatechecker.UpdateChecker;
-import org.osgi.framework.*;
-
-/**
- * Activator class that registers the update checker service.
- * 
- * @since 3.4
- */
-public class Activator implements BundleActivator {
-
-	private static BundleContext context;
-	private UpdateChecker updateChecker;
-	private ServiceRegistration registrationChecker;
-
-	public static BundleContext getContext() {
-		return context;
-	}
-
-	public void start(BundleContext bundleContext) throws Exception {
-		Activator.context = bundleContext;
-
-		updateChecker = new UpdateChecker();
-		registrationChecker = context.registerService(UpdateChecker.class.getName(), updateChecker, null);
-
-	}
-
-	public void stop(BundleContext bundleContext) throws Exception {
-		registrationChecker.unregister();
-		updateChecker = null;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/p2/updatechecker/IUpdateListener.java b/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/p2/updatechecker/IUpdateListener.java
deleted file mode 100644
index b9838dd..0000000
--- a/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/p2/updatechecker/IUpdateListener.java
+++ /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
- *******************************************************************************/
-package org.eclipse.equinox.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.
- * 
- * @since 3.4
- */
-public interface IUpdateListener {
-
-	public void updatesAvailable(UpdateEvent event);
-}
diff --git a/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/p2/updatechecker/UpdateChecker.java b/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/p2/updatechecker/UpdateChecker.java
deleted file mode 100644
index 73148e0..0000000
--- a/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/p2/updatechecker/UpdateChecker.java
+++ /dev/null
@@ -1,159 +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.updatechecker;
-
-import java.text.SimpleDateFormat;
-import java.util.*;
-import org.eclipse.equinox.internal.p2.updatechecker.Activator;
-import org.eclipse.equinox.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.p2.director.IPlanner;
-import org.eclipse.equinox.p2.engine.IProfileRegistry;
-import org.eclipse.equinox.p2.engine.Profile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-/**
- * 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.
- * 
- * 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.
- *
- * @since 3.4
- */
-public class UpdateChecker {
-	public static long ONE_TIME_CHECK = -1L;
-	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;
-		Profile profile;
-
-		UpdateCheckThread(String profileId, long delay, long poll, IUpdateListener listener) {
-			this.poll = poll;
-			this.delay = delay;
-			this.profile = getProfileRegistry().getProfile(profileId);
-			this.listener = listener;
-		}
-
-		public void run() {
-			try {
-				if (delay != ONE_TIME_CHECK && delay > 0) {
-					Thread.sleep(delay);
-				}
-				while (!done) {
-
-					log("Checking for updates for " + profile.getProfileId() + " at " + getTimeStamp()); //$NON-NLS-1$ //$NON-NLS-2$
-					IInstallableUnit[] iusWithUpdates = checkForUpdates(profile);
-					if (iusWithUpdates.length > 0) {
-						log("Notifying listener of available updates"); //$NON-NLS-1$
-						UpdateEvent event = new UpdateEvent(profile, 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$
-			}
-		}
-	}
-
-	public void addUpdateCheck(String profileId, 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, delay, poll, listener);
-		checkers.add(thread);
-		thread.run();
-	}
-
-	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(Profile profile) {
-		// TODO this is naive.  We get all the ius every time whereas we
-		// could monitor changes in the profile. 
-		ArrayList iusWithUpdates = new ArrayList();
-		Iterator iter = profile.getInstallableUnits();
-		while (iter.hasNext()) {
-			IInstallableUnit iu = (IInstallableUnit) iter.next();
-			IInstallableUnit[] replacements = getPlanner().updatesFor(iu);
-			if (replacements.length > 0)
-				iusWithUpdates.add(iu);
-		}
-		return (IInstallableUnit[]) iusWithUpdates.toArray(new IInstallableUnit[iusWithUpdates.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/p2/updatechecker/UpdateEvent.java b/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/p2/updatechecker/UpdateEvent.java
deleted file mode 100644
index 4fdccf3..0000000
--- a/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/p2/updatechecker/UpdateEvent.java
+++ /dev/null
@@ -1,39 +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.updatechecker;
-
-import org.eclipse.equinox.p2.engine.Profile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-/**
- * An UpdateEvent describes what IU's have updates for a given profile.
- * 
- * @since 3.4
- */
-public class UpdateEvent {
-
-	Profile profile;
-	IInstallableUnit[] iusWithUpdates;
-
-	public UpdateEvent(Profile profile, IInstallableUnit[] iusWithUpdates) {
-		this.profile = profile;
-		this.iusWithUpdates = iusWithUpdates;
-	}
-
-	public IInstallableUnit[] getIUs() {
-		return iusWithUpdates;
-	}
-
-	public Profile getProfile() {
-		return profile;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.classpath b/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.classpath
deleted file mode 100644
index 751c8f2..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"/>
-	<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 ac7672d..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,266 +0,0 @@
-#Thu Sep 13 15:17:47 EDT 2007
-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=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=ignore
-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 ed50001..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,18 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %bundleName
-Bundle-SymbolicName: org.eclipse.equinox.simpleconfigurator.manipulator
-Bundle-Version: 0.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-Activator: org.eclipse.equinox.simpleconfigurator.manipulator.internal.Activator
-Eclipse-LazyStart: true
-Import-Package: org.eclipse.equinox.configuratormanipulator,
- org.eclipse.equinox.frameworkadmin,
- org.eclipse.equinox.internal.frameworkadmin.utils,
- 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.utils;x-internal:=true,
- org.eclipse.equinox.simpleconfigurator.manipulator.internal;x-internal:=true
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 (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-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 30502a5..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               about.html
-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 544b8a5..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= SimpleConfiguratorManipulator Bundle
-providerName= Eclipse.org
-
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 b0919ce..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.txt"; //$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.manipulator/src/org/eclipse/equinox/simpleconfigurator/manipulator/internal/Activator.java b/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/src/org/eclipse/equinox/simpleconfigurator/manipulator/internal/Activator.java
deleted file mode 100644
index 1759e98..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/src/org/eclipse/equinox/simpleconfigurator/manipulator/internal/Activator.java
+++ /dev/null
@@ -1,53 +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.simpleconfigurator.manipulator.internal;
-
-import java.util.Dictionary;
-import java.util.Hashtable;
-import org.eclipse.equinox.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/simpleconfigurator/manipulator/internal/SimpleConfiguratorManipulatorFactoryImpl.java b/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/src/org/eclipse/equinox/simpleconfigurator/manipulator/internal/SimpleConfiguratorManipulatorFactoryImpl.java
deleted file mode 100644
index 8cb5958..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/src/org/eclipse/equinox/simpleconfigurator/manipulator/internal/SimpleConfiguratorManipulatorFactoryImpl.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.eclipse.equinox.simpleconfigurator.manipulator.internal;
-
-import org.eclipse.equinox.configuratormanipulator.ConfiguratorManipulator;
-import org.eclipse.equinox.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/simpleconfigurator/manipulator/internal/SimpleConfiguratorManipulatorImpl.java b/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/src/org/eclipse/equinox/simpleconfigurator/manipulator/internal/SimpleConfiguratorManipulatorImpl.java
deleted file mode 100644
index 5083779..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/src/org/eclipse/equinox/simpleconfigurator/manipulator/internal/SimpleConfiguratorManipulatorImpl.java
+++ /dev/null
@@ -1,661 +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.simpleconfigurator.manipulator.internal;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.equinox.configuratormanipulator.ConfiguratorManipulator;
-import org.eclipse.equinox.frameworkadmin.*;
-import org.eclipse.equinox.internal.frameworkadmin.utils.Utils;
-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) {
-		boolean found = false;
-		for (int i = 0; i < bInfos.length; i++) {
-			//			if (DEBUG)
-			//				System.out.println("bInfos[" + i + "]=" + bInfos[i]);
-			if (isTargetConfiguratorBundle(bInfos[i].getLocation())) {
-				if (!bInfos[i].isResolved())
-					return false;
-				//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.
-				found = true;
-				break;
-			}
-		}
-		return found;
-	}
-
-	private static boolean isTargetConfiguratorBundle(String location) {
-		final String symbolic = 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.
-	 * 
-	 * @param url
-	 * @return
-	 * @throws IOException
-	 */
-	public static List readConfiguration(URL url, File launcherLocation) 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);
-						//						if (DEBUG)
-						//							System.out.println("baseUrl=" + baseUrl);
-						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, launcherLocation != null ? launcherLocation.getParentFile().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());
-		this.saveConfiguration(setToSimpleConfig, outputFile, manipulator.getLauncherData().getLauncher(), backup);
-		configData.setFwIndependentProp(SimpleConfiguratorConstants.PROP_KEY_CONFIGURL, outputFile.toURL().toExternalForm());
-		return orderingInitialConfig(setToInitialConfig);
-	}
-
-	private void saveConfiguration(List bundleInfoList, File outputFile, File launcherLocation, 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 + ")");
-				}
-			}
-
-		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, launcherLocation != null ? launcherLocation.getParentFile().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();
-			}
-		}
-
-	}
-
-	/*
-	 * Make the given path relative to the specified root, if applicable. If not, then
-	 * return the path as-is.
-	 */
-	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();
-		int common = commonPrefixEnd(urlString, rootString, index, rootString.indexOf(FILE_PROTOCOL) + 5);
-		if (common == 0)
-			return urlString;
-		return urlString.substring(0, index) + urlString.substring(common);
-	}
-
-	/*
-	 * 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;
-
-		String pre = urlString.substring(0, index - 5);
-		String post = urlString.substring(index);
-		return pre + rootURL.toExternalForm() + post;
-	}
-
-	/*
-	 * Look at the given strings and return the index of the first character which isn't the same.
-	 * 
-	 * Method similar to one from SimpleConfigurationManipulatorImpl.
-	 */
-	private static int commonPrefixEnd(String path, String root, int startIndex, int rootStart) {
-		if (startIndex > path.length() || rootStart > root.length())
-			return 0;
-		int index = startIndex;
-		int rootIndex = rootStart;
-		while (index < path.length() + startIndex && rootIndex < root.length() && path.charAt(index) == root.charAt(rootIndex)) {
-			index++;
-			rootIndex++;
-		}
-		return rootIndex == root.length() ? index : 0;
-	}
-
-	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("=");
-				String key = jvmArgs[i].substring("-D".length(), 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, manipulator.getLauncherData().getLauncher());
-
-		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++)
-			bundleState.installBundle(toInstall[i]);
-
-		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());
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/.classpath b/bundles/org.eclipse.equinox.simpleconfigurator/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/.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"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<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 62088ff..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" standalone="no"?>
-<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.equinox.simpleconfigurator/localbuild.xml"/>
-</listAttribute>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,"/>
-<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.equinox.simpleconfigurator"/>
-<mapAttribute key="org.eclipse.ui.externaltools.ATTR_ANT_PROPERTIES">
-<mapEntry key="eclipse.home" value="D:\eclipse"/>
-<mapEntry key="eclipse.pdebuild.templates" value="/D:/eclipse/plugins/org.eclipse.pde.build_3.3.0.v20070312/templates/"/>
-<mapEntry key="buildDirectory" value="${build_project}/trash"/>
-<mapEntry key="eclipse.pdebuild.scripts" value="/D:/eclipse/plugins/org.eclipse.pde.build_3.3.0.v20070312/scripts/"/>
-<mapEntry key="thisPlugin" value="${resource_loc:/org.eclipse.equinox.simpleconfigurator}"/>
-<mapEntry key="targetFolder" value="${resource_loc:/org.eclipse.equinox.p2.metadata.generator}"/>
-<mapEntry key="eclipse.running" value="true"/>
-<mapEntry key="eclipse.pdebuild.home" value="/D:/eclipse/plugins/org.eclipse.pde.build_3.3.0.v20070312/./"/>
-<mapEntry key="baseLocation" value="${target_home}"/>
-</mapAttribute>
-<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
-<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<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.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.equinox.simpleconfigurator/localbuild.xml}"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-</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>&lt;project&gt;/.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 16f43dc..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,266 +0,0 @@
-#Tue Apr 24 09:34:10 EDT 2007
-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=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=ignore
-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/.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 695e073..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,16 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.simpleconfigurator
-Bundle-Version: 0.1.0.qualifier
-Bundle-Name: %bundleName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Activator: org.eclipse.equinox.simpleconfigurator.internal.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.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.configurator
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 (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-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 30502a5..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               about.html
-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 358c6f1..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/localbuild.xml
+++ /dev/null
@@ -1,42 +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}"/>
-		<eclipse.buildScript elements="plugin@org.eclipse.equinox.simpleconfigurator" 
-			buildDirectory="${buildDirectory}" 
-			configInfo="*,*,*" 
-			baseLocation="${baseLocation}" 
-			buildingOSGi="true" 
-			outputUpdateJars="false"
-			pluginpath="${thisPlugin}"
-			/>
-		<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 2ff3f28..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= SimpleConfigurator Bundle
-providerName= Eclipse.org
-
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/configurator/Configurator.java b/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/configurator/Configurator.java
deleted file mode 100644
index c4b2012..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/configurator/Configurator.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package org.eclipse.equinox.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 refering
- * 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 dependend 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/console/ApplyCommand.java b/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/console/ApplyCommand.java
deleted file mode 100644
index f57d079..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/console/ApplyCommand.java
+++ /dev/null
@@ -1,58 +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.io.IOException;
-import java.net.URL;
-
-import org.eclipse.equinox.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 824972b..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/console/ConfiguratorCommandProvider.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package org.eclipse.equinox.internal.simpleconfigurator.console;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-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 new URL(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 c411416..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/EquinoxUtils.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.internal.simpleconfigurator.utils;
-
-import java.io.File;
-import java.net.MalformedURLException;
-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 getDefaultConfigURL(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 (baseURL == null)
-				return null;
-
-			try {
-				URL configURL = new URL(baseURL, SimpleConfiguratorConstants.CONFIGURATOR_FOLDER + "/" + SimpleConfiguratorConstants.CONFIG_LIST);
-				File configFile = new File(configURL.getFile());
-				if (configFile.exists())
-					return configURL;
-			} catch (MalformedURLException e) {
-				e.printStackTrace();
-			}
-			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 b2c6d08..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.txt"; //$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 742a64d..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/SimpleConfiguratorUtils.java
+++ /dev/null
@@ -1,96 +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 {
-						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();
-					// URL urlBundle = null;
-					// try {
-					// urlBundle = new URL(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;
-	}
-
-}
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 c34f139..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/Utils.java
+++ /dev/null
@@ -1,186 +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.*;
-import java.util.*;
-import java.util.jar.*;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-/**
- * 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) {
-			// TODO log
-			System.err.println("location=" + location);
-			e1.printStackTrace();
-		} catch (IOException e) {
-			// TODO log
-			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 new URL(fromSt.substring(0, fromSt.lastIndexOf(fileSt) - 1) + path);
-		}
-		return new URL(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;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/simpleconfigurator/internal/Activator.java b/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/simpleconfigurator/internal/Activator.java
deleted file mode 100644
index 036ca6f..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/simpleconfigurator/internal/Activator.java
+++ /dev/null
@@ -1,78 +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.simpleconfigurator.internal;
-
-import java.util.Dictionary;
-import java.util.Hashtable;
-import org.eclipse.equinox.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 {
-	final static boolean DEBUG = false;
-	private SimpleConfiguratorImpl bundleConfigurator;
-	private ServiceRegistration configuratorRegistration;
-	private ServiceRegistration commandRegistration;
-
-	public void start(BundleContext context) throws Exception {
-		bundleConfigurator = new SimpleConfiguratorImpl(context);
-		bundleConfigurator.applyConfiguration();
-
-		Dictionary props = new Hashtable();
-		props.put(Constants.SERVICE_VENDOR, "Eclipse"); //$NON-NLS-1$
-		props.put(Constants.SERVICE_PID, SimpleConfiguratorConstants.TARGET_CONFIGURATOR_NAME);
-		configuratorRegistration = context.registerService(Configurator.class.getName(), bundleConfigurator, 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;
-		}
-
-		this.bundleConfigurator = null;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/simpleconfigurator/internal/ConfigApplier.java b/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/simpleconfigurator/internal/ConfigApplier.java
deleted file mode 100644
index fe5fba0..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/simpleconfigurator/internal/ConfigApplier.java
+++ /dev/null
@@ -1,238 +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.simpleconfigurator.internal;
-
-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 BundleContext manipulatingContext;
-	private PackageAdmin adminService = null;
-	private StartLevel startLevelService = null;
-	private final boolean runningOnEquinox;
-
-	ConfigApplier(BundleContext context, SimpleConfiguratorImpl configurator) {
-		this.manipulatingContext = context;
-		//String vendor = context.getProperty(Constants.FRAMEWORK_VENDOR);
-		//System.out.println("vendor=" + vendor);
-		this.runningOnEquinox = "Eclipse".equals(context.getProperty(Constants.FRAMEWORK_VENDOR)); //$NON-NLS-1$
-		ServiceReference packageAdminRef = manipulatingContext.getServiceReference(PackageAdmin.class.getName());
-		if (packageAdminRef == null)
-			throw new IllegalStateException("No PackageAdmin service is available.");
-
-		adminService = (PackageAdmin) manipulatingContext.getService(packageAdminRef);
-
-		ServiceReference startLevelRef = manipulatingContext.getServiceReference(StartLevel.class.getName());
-		if (startLevelRef == null)
-			throw new IllegalStateException("No StartLevelService service is available.");
-		startLevelService = (StartLevel) manipulatingContext.getService(startLevelRef);
-
-	}
-
-	void install(BundleInfo[] expectedState, boolean uninstall) {
-		Collection toRefresh = new ArrayList();
-		Collection toStart = new ArrayList();
-		toRefresh.addAll(installBundles(expectedState, toStart));
-		if (uninstall)
-			toRefresh.addAll(uninstallBundles(expectedState, adminService));
-		refreshPackages((Bundle[]) toRefresh.toArray(new Bundle[toRefresh.size()]), manipulatingContext);
-		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 ArrayList installBundles(BundleInfo[] finalList, Collection toStart) {
-		ArrayList installed = new ArrayList();
-		//printSystemBundle();
-
-		boolean useReference = Boolean.valueOf(manipulatingContext.getProperty(SimpleConfiguratorConstants.PROP_KEY_USE_REFERENCE)).booleanValue();
-		for (int i = 0; i < finalList.length; i++) {
-			//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
-
-			Bundle[] matches = null;
-			Dictionary manifest = Utils.getOSGiManifest(finalList[i].getLocation());
-			String symbolicName = null;
-			//if (manifest != null)
-			try {
-				symbolicName = (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME);
-			} catch (RuntimeException re) {
-				System.err.println("cannot get Manifest :" + finalList[i]);
-				throw re;
-			}
-			if (symbolicName != null && symbolicName.indexOf(";") != -1)
-				symbolicName = symbolicName.substring(0, symbolicName.indexOf(";")).trim();
-
-			String version = (String) manifest.get(Constants.BUNDLE_VERSION);
-			if (symbolicName != null && version != null)
-				matches = adminService.getBundles(symbolicName, version);
-
-			Bundle current = matches == null ? null : (matches.length == 0 ? null : matches[0]);
-			if (current == null) {
-				try {
-					String location = finalList[i].getLocation();
-					if (location == null)
-						continue;
-					if (runningOnEquinox && useReference && location.startsWith("file:")) //$NON-NLS-1$
-						location = "reference:" + location; //$NON-NLS-1$
-					//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]);
-					installed.add(current);
-				} catch (BundleException e) {
-					System.err.println("Can't install " + symbolicName + "/" + version + " from location " + finalList[i].getLocation());
-					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) {
-						//TODO Log
-						System.err.println("fail to set start level of Bundle:" + finalList[i]);
-						ex.printStackTrace();
-					}
-				}
-			if (finalList[i].isMarkedAsStarted()) {
-				toStart.add(current);
-			}
-		}
-		return installed;
-	}
-
-//	private void printSystemBundle() {
-//		Bundle bundle = manipulatingContext.getBundle(0);
-//		System.out.println("bundle.getSymbolicName()=" + bundle.getSymbolicName());
-//		Dictionary headers = bundle.getHeaders();
-//		System.out.println(headers.size() + ":Headers=");
-//		for (Enumeration enumeration = headers.keys(); enumeration.hasMoreElements();) {
-//			Object key = enumeration.nextElement();
-//			System.out.println(" (" + key + "," + headers.get(key) + ")");
-//		}
-//	}
-
-	private void refreshPackages(Bundle[] bundles, BundleContext manipulatingContext) {
-		if (bundles.length == 0)
-			return;
-		ServiceReference packageAdminRef = manipulatingContext.getServiceReference(PackageAdmin.class.getName());
-		PackageAdmin packageAdmin = null;
-		if (packageAdminRef != null) {
-			packageAdmin = (PackageAdmin) manipulatingContext.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();
-					}
-				}
-			}
-		};
-		manipulatingContext.addFrameworkListener(listener);
-		packageAdmin.refreshPackages(bundles);
-		synchronized (flag) {
-			while (!flag[0]) {
-				try {
-					flag.wait();
-				} catch (InterruptedException e) {
-				}
-			}
-		}
-		//		if (DEBUG) {
-		//			for (int i = 0; i < bundles.length; i++) {
-		//				System.out.println(SimpleConfiguratorUtils.getBundleStateString(bundles[i]));
-		//			}
-		//		}
-		manipulatingContext.removeFrameworkListener(listener);
-		manipulatingContext.ungetService(packageAdminRef);
-	}
-
-	private void startBundles(Bundle[] bundles) {
-		for (int i = 0; i < bundles.length; i++) {
-			Bundle bundle = bundles[i];
-			if (bundle.getState() == Bundle.STARTING)
-				continue;
-
-			try {
-				bundle.start();
-				if (Activator.DEBUG)
-					System.out.println("started Bundle:" + bundle.getSymbolicName() + "(" + bundle.getLocation() + ":" + bundle.getBundleId() + ")");
-			} 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 adminService package admin service.
-	 * @return Collection HashSet of bundles finally installed.
-	 */
-	private Collection uninstallBundles(BundleInfo[] finalList, PackageAdmin adminService) {
-		Bundle[] allBundles = manipulatingContext.getBundles();
-		//	String symbolicNameSystem = manipulatingContext.getBundle(0).getSymbolicName();
-
-		//Build a set with all the bundles from the system
-		Set installedBundles = new HashSet(allBundles.length);
-		//		configurator.setPrerequisiteBundles(allBundles);
-		for (int i = 0; i < allBundles.length; i++) {
-			if (allBundles[i].getBundleId() == 0)
-				continue;
-			installedBundles.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++) {
-			Bundle[] toAdd = adminService.getBundles(finalList[i].getSymbolicName(), finalList[i].getVersion());
-			for (int j = 0; toAdd != null && j < toAdd.length; j++) {
-				installedBundles.remove(toAdd[j]);
-			}
-		}
-
-		for (Iterator iter = installedBundles.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() + ")");
-			} catch (BundleException e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			}
-		}
-
-		return installedBundles;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/simpleconfigurator/internal/SimpleConfiguratorImpl.java b/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/simpleconfigurator/internal/SimpleConfiguratorImpl.java
deleted file mode 100644
index 6ca5c24..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/simpleconfigurator/internal/SimpleConfiguratorImpl.java
+++ /dev/null
@@ -1,102 +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.simpleconfigurator.internal;
-
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.List;
-import org.eclipse.equinox.configurator.Configurator;
-import org.eclipse.equinox.internal.simpleconfigurator.utils.*;
-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 {
-
-	BundleContext context;
-
-	ConfigApplier configApplier;
-
-	private URL url = null;
-
-	SimpleConfiguratorImpl(BundleContext context) {
-		this.context = context;
-	}
-
-	/**
-	 * @return URL
-	 */
-	private URL getConfigurationURL() {
-		try {
-			String specifiedURL = context.getProperty(SimpleConfiguratorConstants.PROP_KEY_CONFIGURL);
-			if (specifiedURL != null)
-				return new URL(specifiedURL);
-		} catch (MalformedURLException e) {
-			e.printStackTrace();
-		}
-
-		try {
-			if (null != context.getBundle().loadClass("org.eclipse.osgi.service.datalocation.Location")) { //$NON-NLS-1$
-				URL configURL = EquinoxUtils.getDefaultConfigURL(context);
-				if (configURL != null)
-					return configURL;
-			}
-		} catch (ClassNotFoundException e) {
-			// Location is not available
-			// Ok -- optional
-		}
-		return null;
-	}
-
-	public synchronized void applyConfiguration(URL url) throws IOException {
-		if (Activator.DEBUG)
-			System.out.println("applyConfiguration() URL=" + url);
-		if (url == null)
-			return;
-		this.url = 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, this);
-		configApplier.install(Utils.getBundleInfosFromList(bundleInfoList), 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 synchronized void applyConfiguration() throws IOException {
-		if (url == null)
-			url = getConfigurationURL();
-
-		applyConfiguration(url);
-	}
-
-	public synchronized URL getUrlInUse() {
-		return url;
-	}
-}
\ No newline at end of file