diff options
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/prov/tests/director/RollbackTest.java')
-rw-r--r-- | bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/prov/tests/director/RollbackTest.java | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/prov/tests/director/RollbackTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/prov/tests/director/RollbackTest.java new file mode 100644 index 000000000..cb0400878 --- /dev/null +++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/prov/tests/director/RollbackTest.java @@ -0,0 +1,55 @@ +/******************************************************************************* + * Copyright (c) 2007 IBM Corporation and others. All rights reserved. This + * program and the accompanying materials are made available under the terms of + * the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: IBM Corporation - initial API and implementation + ******************************************************************************/ +package org.eclipse.equinox.prov.tests.director; + +import java.net.URL; +import org.eclipse.core.runtime.NullProgressMonitor; +import org.eclipse.equinox.internal.prov.director.DirectorActivator; +import org.eclipse.equinox.prov.core.helpers.ServiceHelper; +import org.eclipse.equinox.prov.core.location.AgentLocation; +import org.eclipse.equinox.prov.director.IDirector; +import org.eclipse.equinox.prov.engine.Profile; +import org.eclipse.equinox.prov.metadata.IInstallableUnit; +import org.eclipse.equinox.prov.metadata.InstallableUnit; +import org.eclipse.equinox.prov.metadata.repository.IMetadataRepository; +import org.eclipse.equinox.prov.metadata.repository.IMetadataRepositoryManager; +import org.eclipse.equinox.prov.tests.AbstractProvisioningTest; +import org.eclipse.equinox.prov.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, null, new NullProgressMonitor())); + printProfile(profile); + IMetadataRepositoryManager repoMan = (IMetadataRepositoryManager) ServiceHelper.getService(TestActivator.getContext(), IMetadataRepositoryManager.class.getName()); + IMetadataRepository repo = null; + URL location = ((AgentLocation) ServiceHelper.getService(DirectorActivator.context, AgentLocation.class.getName())).getTouchpointDataArea("director"); + repo = repoMan.getRepository(location); + 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); + } +} |