IRequirement reqs = iterator.next(); requirementMatched = false; if (hostIU.satisfies(reqs)) requirementMatched = true; if (requirementMatched == false) {
IRequirement requirement = (IRequirement) rval; if (lval instanceof IInstallableUnit) return Boolean.valueOf(((IInstallableUnit) lval).satisfies(requirement)); } else if (rval instanceof VersionRange) { VersionRange range = (VersionRange) rval;
private IInstallableUnit createSourceIU(IQueryable<IInstallableUnit> queryable, Version iuVersion) { // compute the set of source bundles we could possibly need for the bundles in the profile IRequirement bundleRequirement = MetadataFactory.createRequirement("org.eclipse.equinox.p2.eclipse.type", "bundle", null, null, false, false, false); //$NON-NLS-1$ //$NON-NLS-2$ IQueryResult<IInstallableUnit> profileIUs = queryable.query(QueryUtil.createIUAnyQuery(), null); ArrayList<IRequirement> requirements = new ArrayList<>(); for (Iterator<IInstallableUnit> i = profileIUs.iterator(); i.hasNext();) { IInstallableUnit profileIU = i.next(); if (profileIU.satisfies(bundleRequirement)) { String id = profileIU.getId() + ".source"; //$NON-NLS-1$ Version version = profileIU.getVersion(); // use fully qualified name to avoid conflict with other VersionRange class org.eclipse.equinox.p2.metadata.VersionRange range = new org.eclipse.equinox.p2.metadata.VersionRange(version, true, version, true); IRequirement sourceRequirement = MetadataFactory.createRequirement("osgi.bundle", id, range, null, true, false, true); //$NON-NLS-1$ requirements.add(sourceRequirement); } } InstallableUnitDescription sourceDescription = new MetadataFactory.InstallableUnitDescription(); sourceDescription.setSingleton(true); sourceDescription.setId(SOURCE_IU_ID); sourceDescription.setVersion(iuVersion); sourceDescription.addRequirements(requirements); IProvidedCapability capability = MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, SOURCE_IU_ID, iuVersion); sourceDescription.setCapabilities(new IProvidedCapability[] {capability}); return MetadataFactory.createInstallableUnit(sourceDescription); }
ArrayList<IRequirement> sourceBundleRequirements = new ArrayList<>(); for (IInstallableUnit unit : units) { if (unit.satisfies(bundleRequirement)) { final VersionRange perfectVersionMatch = new VersionRange(unit.getVersion(), true, unit.getVersion(), true);