diff options
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/prov/director/IUTransformationHelper.java')
-rw-r--r-- | bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/prov/director/IUTransformationHelper.java | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/prov/director/IUTransformationHelper.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/prov/director/IUTransformationHelper.java new file mode 100644 index 000000000..5b305bdd0 --- /dev/null +++ b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/prov/director/IUTransformationHelper.java @@ -0,0 +1,35 @@ +/******************************************************************************* + * Copyright (c) 2007 IBM Corporation and others. All rights reserved. This + * program and the accompanying materials are made available under the terms of + * the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: IBM Corporation - initial API and implementation + ******************************************************************************/ +package org.eclipse.equinox.internal.prov.director; + +import java.util.ArrayList; +import java.util.Iterator; +import org.eclipse.equinox.prov.metadata.IInstallableUnit; +import org.eclipse.equinox.prov.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; + } +} |